June 15, 2020
참고도서: Operating System Concepts (10/E) Abraham Silberschatz, Peter B. Galvin, Greg Gagne
2.1 시스템 콜의 목적은 무엇인가?
2.2 명령 인터프리터의 목적은 무엇인가? 통상 커널에 포함되지 않는 이유는 무엇인가?
2.3 UNIX 시스템에서 새 프로세스를 시작하기 위해 명령 인터프리터나 셸에서 어떤 시스템 콜이 실행되어야 하는가?
fork()
시스템 콜을 사용해서 새로운 프로세스를 만든다.exec()
시스템 콜을 사용해서 로더를 호출한다.2.4 시스템 프로그램의 목적은 무엇인가?
2.5 시스템 설계시 계층화된 접근 방식의 주요 장점은 무엇인가? 단점은 무엇인가?
디버깅과 구현의 편리함
에 있다. 각 계층은 자신과 자신의 하위 계층이 가진 서비스와 연산을 이용한다. 따라서 디버깅시에 문제가 있는 위치를 파악하기에 용이하다.2.6 운영체제에서 제공하는 5가지 서비스를 나열하고 각 서비스가 사용자에게 편의를 제공하는 방법을 설명하라. 사용자 수준 프로그램이 이러한 서비스를 제공할 수 없는 경우는 언제인가?
사용자 인터페이스
: 사용자가 여러 명령을 쉽게 사용할 수 있는 인터페이스를 제공한다. 특히 GUI는 사용자에게 시각적인 경험을 제공하면서 사용자의 사용성을 크게 높인다. 사용자 수준의 프로그램 역시 인터페이스를 제공하지만 이 인터페이스들은 결국 운영체제가 제공하는 인터페이스 위에서 동작한다.프로그램 수행
: 프로그램을 메모리에 적재하고 실행하는 것은 전적으로 운영체제의 일이다. 사용자 프로그램이 새로운 프로세스를 만들거나 프로세스를 중지시키는 것 역시 우리가 느끼기에는 사용자 수준의 프로그램이 하는 것 처럼 보이지만 결국 해당 프로그램이 만든 시스템 콜에 의해 프로그램의 상태가 운영체제에게 맡겨져 제어된다.입출력 연산
: I/O 역시 시스템 콜의 집합체이다. 운영체제의 서비스 없이는 불가능하다.파일 시스템 조작
: 파일에 관리와 조작도 운영체제에서 제공하는 기능이다. 특히 파일의 권한이나 접근 허용에 대한 부분은 운영체제가 담당하는 매우 중요한 일이다.통신
: 시스템 안에서 실행되고 프로세스들간의 통신도 운영체제의 역할이다.