해당 글은 이준희 강사의 컴퓨터 공학 운영체제 강의의 일부를 들은 후 정리한 내용입니다.
저를 포함해 많은 컴퓨터 공학 입문자들께서 운영체제를 도서관에 많이 비유하여 이해하곤 합니다.
운영체제는 도서관, 응용 프로그램은 시민, 컴퓨터 하드웨어 자원들은 책, API는 대출증으로 비유할 수 있습니다.
시민이 도서관에서 원하는 책을 요청하듯이, 운영체제는 응용 프로그램이 요청하는 메모리를 허가하고 분배합니다.
적절한 책을 찾아 시민께 빌려주고 기한이 끝나면 해당 책을 회수하듯이, 운영체제는 응용 프로그램이 요청하는 CPU 시간과, IO 장치들의 사용을 허가하고 제어합니다.
(그림 위키백과 참고: https://en.wikipedia.org/wiki/Operating_system)
시스템 콜 | API |
---|---|
운영체제 기능을 호출하는 함수 | 각 언어별로 운영체제 기능을 요청할 수 있는 인터페이스 함수 |
기본적으로 운영체제 입장에서의 각 기능을 정의 | 시스템 콜을 호출하는 형태로 만들어지는 경우가 대부분 |
프로그래밍에서 쓰기에는 복잡도가 높고 사용법이 익숙치 않음 | 각 API는 결국 시스템 콜을 통해 운영체제에 기능을 요청 |