Skip to content


리뷰: The Design of the UNIX Operating System

Design of the UNIX Operating System (Prentice Hall Software Series)

무려 1986년에 나온 책. 몇몇 분들은 이름을 알고 있을 듯한 Maurice Bach 의 책이다.

현대적인 UNIX 시스템의 모태라 할 수 있는 UNIX System V의 “세부구현 사항”에 가까운 것들을 다룬다.
운영체제(OS) 수업 시간에 흔히 배우게 되는

  • 파일 I/O 최적화 관련된 기법들 — block-device의 buffer cache나  reada() 류의 연산들
  • 메모리 하위 시스템(페이징/페이지 교체/페이지 폴트 처리)
  • 프로세스 관리구조 / 관리 구조체
  • 프로세스간 통신 — 특히 System V IPC라거나
  • 스케쥴링
  • 멀티 프로세서 이슈

등이 System V의 “구현”을 기준으로 잘 설명되어 있다. 그런 면에서 참 유용하고 재밌게 봤는데 — 학부 시절에 신기해하며 재밌게 봤음 — 지금보고 있자니 스케쥴링/멀티프로세서 이슈 부분이 참 재밌게(?) 귀엽게(?!) 보여서 -_-;;

특히 멀티 프로세서 이슈부분에서, 왜 싱글 프로세서 기준으로 작성된 UNIX가 바로 멀티프로세서 환경에서 제대로 동작하지 않는지에 관해 인터럽트 핸들러 관련해서 설명하고 있고, 아주 고전적인 멀티프로세서 동기화 문제 — doubly linked list에서 노드 추가– 도 다룬다.

그리고 이미 지나간 이슈지만, master-slave 시스템을 MP환경에서 쓰는 얘기가 나왔던 시절이 있는데, 그 얘기도 나와서 살짝 웃었음(…). 물론 NUMA에선 유효하니 주의.

+ 커널이 preemtive kernel이 아니던 시절…사실 커널을 동시에 하나만 뜨게 하는 시절이기도 해서 현재 발전된 OS 구현을 생각하면 좀 어이없기도 하겠지만(…) 나름대로 현재 구현이 나오기전에 다른 엔지니어/과학자들이 무슨 고민을 했는지도 살짝 엿 볼 수 있다는 점에선 약간 타임머신을 탄 기분.

오래된 책이라 지금 읽으라고 권하기엔 좀 그렇고 — 굳이 읽는다면 UNIX internals 같은 책을 권함 — 간만에 책꽂이에서 나와 먼지 턴 기념으로 가볍게 리뷰했음.

이 저작물은 별도로 명시하지 않은 경우, Creative Commons Attribution-Share Alike 3.0 Unported License에 따라 이용하실 수 있습니다.

Posted in Computer.

Tagged with , , .


2 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. 수원 says

    워… 이젠 추억의 책인건가. 02년도 여름에 봤던거 같은데. 커널에 대해 아예 개념이 없을 때 봐서, 내용은 기억 안나고 책 내용마다 말도 안 되는 걸로 논쟁 했던 기억만 있다는. 리뷰를 보아하니 커널 실행 패스가 인터럽트 이외에는 무조건 하나인 속 편한 시절의 OS 책이었나 보네.

  2. rein says

    전 multiprocessor 개념이 하나도 없을 때 본거라(…) 지금 보니 안 보이던게 많이 보여서 흠좀함.



Some HTML is OK

or, reply to this post via trackback.