운영체제의 전체적인 큰 그림에 대해 알아보겠습니다.
운영체제의 핵심은 다음 3가지 질문과 같습니다.
커널이란?
운영체제의 서비스 종류?
시스템 콜과 이중 모드란?
자동차의 엔진, 사람의 심장과 같이 운영체제에서 핵심 기능을 담당하는 하는 부분을 커널이라고 한다. 휴대폰으로 비유하자면 전화를 받고 거는 기능과 같이 핵심적인 기능을 담당하는 운영체제의 핵심 부분을 커널이라고 합니다.
메모장, 워드 프로세서, 게임, 웹브라우저와 같은 프로그램은 자원에 직접 접근할 수 없으며 접근해서도 안됩니다. 왜냐면 프로그램들이 우선순위 없이 CPU에 접근하여 CPU가 차례로 작동하지 못하게 할 수도 있고, SSD에 저장한 내용을 덮어 쓰는 바람에 앞서 저장한 중요한 내용이 날아갈 수도 있기 때문 입니다.
따라서 운영체제는 응용 프로그램이 자원에 접근하려고 할 때 오직 자신을 통해서만 접근하도록 하여 자원을 보호합니다. 일종의 문지기 같은 역할이라고 할 수 있습니다.


이처럼 자원에 접근하는 운영체제의 자원 접근 대행 역할은 이중모드로 구현이 됩니다.
이중 모드란 CPU가 명령어를 실행하는 모드를 크게 사용자 모드와 커널 모드로 구분하는 방식입니다.
사용자 모드에서 커널 모드로 변경하기 위해선 시스템 호출이 필요합니다.


메모리에 적재되어 현재 실행 중인 프로그램 = 프로세스
동시다발적으로 생성/실행/삭제되는 다양한 프로세스를 일목요연하게 관리