garbages

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ garbages ] in KIDS
글 쓴 이(By): lathi (크앙)
날 짜 (Date): 2011년 07월 18일 (월) 오후 05시 49분 08초
제 목(Title): Re: 어이 없는 malloc 쓰레드 -_-;



 스레드에 뒤늦게 몇가지만 첨언하자면요.


 1. null을 반환하기 전에 over-booking에 의한 crash가 먼저 발생할 수 있다?

  : 사실이긴 하지만, 거꾸로 시스템 전체에는 메모리 여유가 있지만

    개별 프로세스에 할당된 자원 (rlimit)의 크기가 부족해서

    null이 먼저 오는 경우도 많습니다.

    (관리자가 자원 관리를 타이트하게 하는 경우)

    더구나 malloc이 null을 반환하는 건 꼭 메모리가 부족할 때만은 아닙니다.

    시스템에 따라 address space에 'hole'이 있을 수도 있고,

    바보 같은 malloc impl.은 fragmentation 때문에 그럴 수도 있습니다.

    또, malloc은 user-level, over-booking은 kernel-level의 일이기 때문에

    두 가지를 엮어서 생각하는 건 일반적이지 않은 것 같습니다.


 2. null 포인터를 접근하면 항상 crash가 발생한다?

  : 메모리 프로텍션 기능이 있는 cpu라면 0번지에 해당하는 first page를

    접근 불가로 만들어 놓기 때문에 메모리 접근 권한 에러

    (흔히 segmentation fault)가 발생하게 되지만,

    mpu가 없는 시스템의 경우 0번지 역시 valid address인 경우가 

    있습니다. 그런 시스템에서 null 포인터 체크 하지 않는 사람과 코웍하는

    악몽은 겪어보지 못한 사람은 모릅니다.



[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.