블로그는 나의 힘!
[ Programing ]/Server2010. 6. 29. 22:34
락 사용 이유 : 실시간 응용 프로그램은 외부적인 요소로 방해 받거나, 지연 된다면 치명적.


#inclde <sys/mman.h>

int mlock( const void *addr, size_t len );
- 지정된 메모리 addr(주소)로 부터 len(길이) 만큼 페이징 금지



int munlock( const void *addr, size_t len );
- 락 페이지 addr(주소)로 부터 len(길이) 만큼 락 해제
※ 페이지 락 호출은 스택되지 않기 때문에 같은 메모리 주소에 여러 번 잠금 호출되었다고 해도 해제는 1번만 해주면 된다.



int mlockall( int flags );
- 해당 프로세스의 모든 메모리의 페이징을 금지
flags : MCL_CURRENT 현재 상태에서의 프로세스에 대응된 모든 페이지 락
          MCL_FUTURE 앞으로 발생하는 모든 대응된 페이지 락 ( 새로운 메모리맵, 공유 메모리, 힙, 스택 모두 적용 )




int mlockall();
- 현재 프로세스에서 잠금 되어 있는 페이지 모두 해제




출저 : Advanced 리눅스 시스템 네트워크 프로그래밍 ( 가메출판사 ) 내용 중

'[ Programing ] > Server' 카테고리의 다른 글

이벤트 객체 CreateEvent, SetEvent, ResetEvent, PulseEvent  (0) 2012.12.04
Shared memory  (0) 2010.07.23
POSIX 정규 표현식  (0) 2010.06.29
Mutex 설정  (0) 2010.06.16
Deadlock  (0) 2010.06.16
Posted by Mister_Q