시스템 콜의 장단점에 대해 질문드릴께요.
글쓴이: vesuvius / 작성시간: 수, 2007/10/31 - 4:18오후
한빛 출판사의 '리눅스 커널 심층분석'의
시스템 콜 부분에서요
단점
*시스템 콜들은 스크립트에서 호출하기 쉽지 않고, 파일 시스템에서 직접 접근할 수도 없다.
대안
*디바이스 노드(device node)를 구현하고 read()와 write()를 작성한다.
디바이스 설정을 바꾸거나 특정 정보를 얻기 위해서는 ioctl()을 사용한다.
*세마포어와 같은 어떤 인터페이스는 파일 서술자로 표현되어 파일처럼 다루어질 수 있다.
에 대한 부분이 이해가 안돼서 그러는데
혹시 위와 같은 사항에 대해서 아시는 분 계시면
답변 부탁드립니다. (^^)
Forums:
새로운
새로운 인터페이스(기능)을 구현할때 그것을 시스템콜에 구현했을때
생기는 장/단점과 그것을 파일시스템으로 구현 했을때 장점을 적어놓은 부분입니다.
단점
*시스템 콜들은 스크립트에서 호출하기 쉽지 않다.
-> 시스콜에서 구현하면, 그것을 이용할수 있도록 API를 만들게 됩니다.
그러나, 스크립트는 단순 API로는 사용할수 없습니다. 스크립트 해석기가
그것을 해석이 가능해야 하고, 새로운 기능을 스크립트에서 사용가능 하려면
해석기에
1. 추가기능과 API를 연결시켜줘야하고
2. 해석기가 인식할수 있도록 새로운 키워드(기능)을 만들어야 합니다.
그래서 스크립트(종류가많죠)가 모두 수정되야, 모든 스크립트에서 사용가능합니다.
*파일 시스템에서 직접 접근할 수도 없다.
-> 이말은 잘 해석이 되지 않습니다. ^^
원문을 봐야 해석이 될거 같습니다.
대안
*디바이스 노드(device node)를 구현하고 read()와 write()를 작성한다.
디바이스 설정을 바꾸거나 특정 정보를 얻기 위해서는 ioctl()을 사용한다.
-> 대안으로써 파일시스템으로 구현하면, 표준 인터페이스인 read/write/ioctl로
접근/제어가 가능합니다. 스크립트에서도 가능하죠 ^^
*세마포어와 같은 어떤 인터페이스는 파일 서술자로 표현되어 파일처럼 다루어질 수 있다.
-> 파일에 락을 건다거나 counter를 사용하여, 상호배제의 기능을 구현 할 수 있습니다.
실제로 세모포어는 단일의 파일과 같으며, 접근시 counter를 두어 counter가 접근가능한
수준이 될때까지 기다리는 역활을 하는것으로 알고 있습니다.
세마포어가 없을때, 이것을 파일과 같은 장치가 아닌, 새로운 인터페이스(기능)을 시스템
콜로 구현한다고 하면, 이 책에서 언급한 단점에 해당하는 부담을 안고 가야할것입니다.
이상은 제가 이해한 부분입니다. ^^
-------------------------------------------
진실을 모르는 것은 어둡고 깊은 산에 혼자 있는 것과 같다.
어둡고 깊은산에 혼자 있어도 두렵지 않다면, 나는 이미 진실을 알고 있는 것이다.
댓글 달기