리눅스 커널 filp_open 과 일반 open 의 차이
글쓴이: declspec / 작성시간: 월, 2012/07/09 - 9:33오후
커널에서 파일에 직접 access 하면 안된다고 하면서 그래도 정 하려면
filp_open 을 통해서 할수있다고 하고 예제들이 인터넷에 있는데
이런식으로 커널 내부에서 filp_open 을 통해서
struct file 구조체를 얻고, VFS 관련 함수를 통해서 access 하는것과
일반 유저 프로세스가 open 같은 시스템콜을 통해서 sys_read, sys_write 등으로
파일에 접근하는것에 어떤 차이점이 있을까요?
그리고 커널에서 직접 file 에 access 하면 안되는 주요 원인이 무엇인가요?
Forums:
일반 open 사용을 권장합니다
어플이 잘못하면 그냥 어플을 죽이면 됩니다.
커널에서 잘못하면 재부팅해야 합니다.
예를 들어 자원 해제를 잊은 곳이 있다면 200일 있다가 시스템이 죽는 버그기 있다면
3년 동안은 잡기 어려울 것입니다. (두번쯤은 그냥 리눅스 커널 버그라고 생각하겠지요 ㅎㅎ)
너무 커널을 잘못 건드리면 수정할 수 없을지도 모릅니다.
댓글 달기