운영체제의 핵심 서비스를 담당하는 부분이다.
운영체제는 응용 프로그램이 시스템 자원에 접근하려고 할 때
오직 자신을 통해서만 접근하도록 하여 자원을 보호하는데
이 때 이중 모드와 시스템 호출이 사용된다.
응용 프로그램이 하드웨어 자원에 직접 접근하지 않고 운영체제를 거치도록 하는 방식
CPU가 명령어를 실행하는 모드는 두가지로 나뉜다.
유저 모드 (user mode)
커널 모드 (kernal mode)
이중 모드의 커널 모드로 전환하는 방법
사용자 모드로 실행 중인 프로그램이 운영체제 서비스를 받기 위해 운영체제에 보내는 요청
시스템 호출 명령어 실행 시 CPU는 기존 작업을 백업하고 커널 내 시스템 호출을 수행하는 코드를 실행한 뒤 기존 작업으로 복귀
소프트웨어 인터럽트로, 처리 순서는 하드웨어 인터럽트와 유사
> 인터럽트란, CPU가 프로그램을 실행하고 있을 때 입출력, 파일 읽기 등의 예외상황이 발생하여 처리가 필요할 경우에 CPU에게 알려 처리할 수 있도록 하는 것을 말한다.
CPU
: 프로세스들에 공정하게 CPU를 할당하기 위한 스케줄링
메모리
: 새로운 프로세스가 적재될 때 어느 주소에 적재해야 할지 결정
: 메모리 공간이 꽉 차 있거나 프로세스를 적재하지 못하는 상황 발생시 처리
입출력장치