시작 : 운영체제 준비
컴퓨터 공학과 복수전공을 시작한 지도 어느덧 3년째가 되어간다. 벌써 4학년이다. 3학년이 되어서는 컴퓨터 공학과 수업에 몰두하였다. 컴퓨터구조론, 시스템 프로그래밍과 같은 수업들을 들으면서, 재미있었지만 많은 어려움을 느꼈다. 그래서 인턴을 하며 틈틈히 운영체제 수업 예습을 해보려고 한다. 컴퓨터에 대한 전반적인 지식과 심층적인 이해를 위해서는 필수적인 과목이기 때문이다.
2002년, 28세의 나이로 최연소 이화여대 교수가 되었다는 반효경님의 책을 알게 되었다. 운영체제 과목 공부를 어떻게 해야 할지 검색을 하다보니 자연스럽게 알게 되었고, 그분의 책 『운영체제와 정보 기술의 원리』를 구매하게 되었다.
책을 읽고 틈틈히 해당하는 내용을 정리해서 복습해보고자 한다.
머리글 - 핵심 철학은 변하지 않는다.
컴퓨터 공학을 전공하는 사람들 모두 겪는 문제. 기술은 빠르게 변화하고 그만큼 공부량은 많아진다.
그래도 핵심 철학은 시대가 흘러도 변하지 않는다. 책은 하드웨어와 소프트웨어를 총체적으로 관리하는 핵심 소프트웨어인 운영 체제의 의사 결정 및 동작 원리를 통해 정보 기술의 변하지 않는 원리와 철학에 대해 살펴본다고 한다. 구미가 당기는 머리글이다.
CPU 스케줄링 문제 -> 기다리는 사람, 평균의 대기 시간 최소화라는 효율성 문제와 특정인이 지나치게 오래 기다리면 안된다는 형평성 문제의 종합. ※ 먼저온 사람이 먼저? -> 선입선출이 공평해 보이지만, 평균 대기시간을 가장 최소화하기 위해서는 가장 작업 시간이 짧은 사람이 먼저 서비스 하는 것이 훨씬 더 효율적이라는 사실.
메모리 관리 기법 -> 디스크에 저장된 정보 중 가장 가까운 미래에 사용될 가능성이 높은 유용한 정보를 메모리에 보관하고 그렇지 않은 정보는 삭제하는 문제. ※어떤 정보를 디스크로 내릴거냐 ? -> 메모리 내 정보에 대한 가치 평가 문제. -> 과거에 어떤 참조 패턴을 보엿는지를 시간 순서에 따라 조사하고 평가함으로써 이루어짐. (주식과 유사)
디스크 스케줄링 기법 -> 데이터를 읽고 쓰기 위해 디스크에 들어오는 요청 중에서 어떤 요청을 가장 먼저 처리할 것인가. (엘리베이터에서 각 층의 사용자가 버튼을 눌렀을 때, 어느 층으로 먼저 엘리베이터를 보내줄 것인지를 결정하는 문제와 흡사)
1강 내용
운영체제의 목표 : 사용자/프로그램들이 각각 독자적으로 컴퓨터에서 수행되는 것 같은 환상을 제공.
- 하드웨어를 직접 다루는 복잡한 부분을 운영체제가 대행
- 컴퓨터 시스템의 자원을 효율적으로 관리
- (프로세스, 기억장치, 입출력 장치 등의 효율적 관리)
(책과 함께 운영체제 강의 1강을 들으며, 성적 평가방식도 듣고 있는 기분이 묘하다.)
참고자료
운영 체제와 정보 기술의 원리 - 반효경 지음