이 포스트는 이준희님의 운영체제 강의 내용을 정리한 학습 노트입니다.
운영체제는 사용자의 요청에 따라 적절한 자원을 빌려주고 회수합니다.
운영체제는 사용자와 통신하기 위해 인터페이스를 제공합니다.
- Shell
- 사용자가 운영체제 기능과 서비스를 조작할 수 있도록 인터페이스를 제공하는 프로그램
- CLI와 GUI 환경으로 분류할 수 있습니다.
운영체제는 응용 프로그램과도 통신하기 위해 인터페이스를 제공합니다.
- API(Application Programming Interface)
- 운영체제의 기능을 사용할 수 있는 함수를 제공을 합니다.(printf(), open())
- 함수가 매우 많이 때문에 library형태로 제공합니다. (보통 C언어 사용)
- System Call
- 시스템 콜 또는 시스템 호출 인터페이스라고 합니다.
- 운영체제가 운영체제의 각 기능을 사용할 수 있도록 시스템 콜이라는 명령 또는 함수를 제공합니다.
- API는 시스템콜을 호출하는 형태로 만들어집니다.
- System Call의 예시로는 POSIX API, Windows API 등이 있습니다.
- kernel을 개발하여 운영체제를 만듭니다.
- 운영체제는 운영체제의 기능을 사용할 수 있는 System Call 함수를 제공합니다.
- System Call을 그대로 사용하기는 어렵기 때문에 API나 Library로 한번 wrapping해서 제공합니다.
- API나 Library를 이용하여 Application이나 Shell Program을 개발합니다.