운영체제의 핵심 (프로세스, 메모리, 파일 시스템 관리)
양희재 | 퍼플
15,000원 | 20230728 | 9788924111620
운영체제는 컴퓨터 하드웨어를 제어하여 사용자가 컴퓨터를 쉽게 운영, 즉 사용할 수 있게 도와주는 컴퓨터 프로그램을 말하며, 거의 모든 컴퓨터에는 운영체제가 설치되어있다. 잘 알려진 운영체제로는 마이크로소프트사의 윈도우즈 운영체제를 비롯하여 리눅스, 유닉스, 맥오에스 등이 있다.
컴퓨터 전공자라면 누구나 운영체제의 사용법 뿐 아니라 운영체제 내부에서 일어나는 일들에 대해서도 알아야 한다. 운영체제 사용법은 운영체제의 껍질에 해당되며, 컴퓨터 용어로는 쉘 shell 이라고 한다. 반면 운영체제 내부는 커널 kernel 이라고 부르며, 단어 뜻대로 운영체제의 핵심에 해당된다. 이 책은 운영체제 커널에 대해 다룬다.
운영체제 커널은 관리 프로그램의 모음이며, 핵심 내용은 프로세스 관리, 메모리 관리, 그리고 파일 시스템 관리 등 세 가지다. 운영체제의 이런 관리 기능 덕분에 컴퓨터는 최상의 성능을 낼 수 있다.
운영체제를 이해하면 컴퓨터 내부가 보인다. 컴퓨터 전공자는 운영체제를 깊게 알아야 한다. 운영체제 커널이 제공하는 프로세스 관리, 메모리 관리, 파일 시스템 관리를 잘 알아야 하며, 나아가서는 운영체제를 설계, 구현할 수 있어야 한다.
본 저자는 대학에서 30년 이상 운영체제 과목을 강의해왔다. 유닉스, 제닉스, 리눅스, DOS, 윈도우즈 등 수많은 운영체제를 경험하였으며, 유닉스 커널의 소스코드 전체를 분석하기도 했다. 실험적 운영체제를 개발하여 실무에 사용한 경험도 있다. 한국교육학술정보원에서 운영하는 KOCW에 운영체제 강의를 개설하여 프리미엄 강의 선정 및 우수 강의상을 받기도 했으며, 유튜브 채널에 올린 동일 내용 강의에서도 많은 구독자들의 호평을 받았다. 운영체제 관련 각종 고시의 출제위원으로 위촉되기도 했다.
운영체제의 대표적 교과서는 A. Silberschatz 교수의 Operating System Concepts 이며, 나 또한 오랜 기간 이 책으로 강의를 했었다. 그러나 영어 원서 읽기를 어려워하는 학생들이 점차 늘어나고, 이후 출판된 번역서의 번역 내용이 무척 난해했으며, 방대한 분량으로 인해 부담을 가질 때가 많았다. 특히 기존 Silberschatz 책은 프로세스 동기화 부분이 매우 이해하기 힘들게 작성돼 학생들이 많은 어려움을 겪는다는 사정을 알게 되었다. 이런 이유로 나는 2018년에 운영체제 개념과 프로세스 관리 부분만을 따로 소개하는 소책자를 발간하기도 했다.
이후 프로세스 관리 뿐 아니라 메모리 관리, 파일 시스템 관리 등 운영체제의 모든 핵심 주제를 포함하는 책을 집필하여 이번에 출판하게 되었다. 이 책에는 나의 지난 30 여 년 동안 운영체제 강의 경험이 모두 녹아 있다. 독자들의 이해를 돕기 위한 많은 그림과 소스코드들을 본문에 삽입했으며, 과년도 숙제 및 시험 문제로 개발된 수많은 연습 문제들을 수록했다.
이 책은 대학의 컴퓨터공학과 운영체제 교재로 적합하다. 3학점 15주 강의로 운영될 수 있도록 내용을 편성했다. 운영체제 핵심 내용인 프로세스 관리, 메모리 관리, 파일 시스템 관리를 이 순서대로 배우게 한다. 책의 앞부분에는 운영체제의 원리를 십분 이해할 수 있게 하드웨어 및 소프트웨어 인터럽트, 시스템 콜, 다중 프로그래밍 등의 내용을 포함했다.
운영체제는 컴퓨터공학 전공자의 필수과목일 뿐 아니라 실무에서도 매우 중요하다. 운영체제에 대한 지식은 컴퓨터 내부에서 어떤 일이 일어나고 있는지를 명확히 알 수 있게 하며, 나아가 보다 효율적인 프로그램의 개발을 가능하게 한다. 이 책을 읽는 모든 독자들이 이 책을 통해 운영체제의 깊고 신비한 세계를 이해하며 그들의 멋진 컴퓨터를 더욱 더 잘 사용할 수 있게 되기를 기대한다.