한정된 메모리나 시스템 자원을 효율적으로 분배하는 등 사용자가 컴퓨터를 쉽게 다룰 수 있도록 해주는 인터페이스.
유저 프로그램 - GUI - 시스템 콜 - 커널 - 드라이버 - 하드웨어
운영체제가 커널에 접근하기 위한 인터페이스
(유저 프로그램이 운영체제 서비스 받음)
유저 프로그램이 I/O 요청 - Trap 발동 - 커널 모드로 들어가 I/O 수행 - 유저 모드로 돌아가 로직 수행
-> 직접 자원에 접근하는 것을 차단해 보호함.
Modebit: 커널 모드와 유저 모드를 구분하기 위한 비트 (0-커널 1-유저)
CPU, DMA 컨트롤러, 메모리, 타이머, 디바이스 컨트롤러 등
CPU의 연산 처리과정
제어장치가 메모리 및 레지스터에 계산할 값 로드 - 제어장치가 산술 논리 연산 장치에 계산 명령 - 계산된 값을 레지스터에서 메모리로 저장.
인터럽트
신호가 들어왔을 때 CPU 잠깐 정지시키는 것.
I/O, 산술 인터럽트(나누기0), 프로세스 오류 등으로 발생.
발생 시 인터럽트 벡터로 가서 인터럽트 핸들러 함수 호출.
1) 하드웨어 인터럽트 - I/O 디바이스에서 발생하는 인터럽트
2) 소프트웨어 인터럽트 - Trap. 프로세스 오류 등으로 발생
DMA 컨트롤러
I/O 디바이스가 메모리에 직접 접근할 수 있도록 하는 하드웨어 장치.
CPU 부하를 막아줌 (CPU 일 부담)
메모리
전자 회로에서 데이터나 상태, 명령어 들을 기록하는 장치 (주로 RAM).
타이머
특정 프로그램에 다는 시간 제한 (몇 초 안에는 작업이 끝나야 함)
디바이스 컨트롤러
컴퓨터와 연결된 I/O 디바이스들의 작은 CPU