fget() 메소드는 fd를 매개변수로 받아 current->files->fd[fd] 를 반환한다.
해당 파일이 존재하지 않을 경우 NULL을 반환한다.
해당파일을 찾아 반환할 경우 f_count를 증가시킨다.
fput() 메소드느느 파일 객체 사용이 끝날경우 사용한다.
파일 객체의 주소를 매개변수로 받아 f_count를 감소시킨다.
f_count가 0이 될경우 sb에서 파일객체를 제거하고 객체를 해지시켜 slab cache에 추가하며 해당하는 디엔트리 객체의 사용 카운터와 fs descriptor 사용 카운트를 감소시킨다.
fget_ligth()와 fput_ligth() 메소드는 fget()과 fput() 메소드보다 더욱 빠르다.
커널은 현재 프로세스가 파일객체를 소유하고 있을경우(미리 f_count를 증가시켰다) 이 메소드를 사용한다.
예를들어 open() 시스템 콜이 미리 파일 객체 참조 카운터(f_count)를 증가시킨 경우 이후 매개변수로 받은 시스템콜 서비스 루틴이( 해당 시스템콜 소스 ) 이 메소드를 사용한다.
해당 파일이 존재하지 않을 경우 NULL을 반환한다.
해당파일을 찾아 반환할 경우 f_count를 증가시킨다.
fput() 메소드느느 파일 객체 사용이 끝날경우 사용한다.
파일 객체의 주소를 매개변수로 받아 f_count를 감소시킨다.
f_count가 0이 될경우 sb에서 파일객체를 제거하고 객체를 해지시켜 slab cache에 추가하며 해당하는 디엔트리 객체의 사용 카운터와 fs descriptor 사용 카운트를 감소시킨다.
fget_ligth()와 fput_ligth() 메소드는 fget()과 fput() 메소드보다 더욱 빠르다.
커널은 현재 프로세스가 파일객체를 소유하고 있을경우(미리 f_count를 증가시켰다) 이 메소드를 사용한다.
예를들어 open() 시스템 콜이 미리 파일 객체 참조 카운터(f_count)를 증가시킨 경우 이후 매개변수로 받은 시스템콜 서비스 루틴이( 해당 시스템콜 소스 ) 이 메소드를 사용한다.
'Linux' 카테고리의 다른 글
windows에서 linux Xwindow로 접속하기! (퍼옴) (0) | 2012.03.09 |
---|---|
Ubuntu IP 설정, DNS 설정과 default route 설정 (0) | 2012.03.09 |
EXT File System Block 계산법 (0) | 2011.12.22 |
kzalloc 과 GFP_KERNEL, GFP_USER Option (0) | 2011.12.22 |
리눅스 공부 url (0) | 2011.11.07 |