Kernel Role

커널 접근 통제

커널은 응용 프로그램이 CPU와 메모리, 장치를 직접 다투지 않게 중재한다. 시스템 호출과 모드 전환은 이 경계의 실제 입구다.

01

권한 분류

응용 프로그램은 직접 장치를 만지지 않고 시스템 호출로 커널 정책을 통과한다.

02

자원을 추상화한다

파일, 프로세스, 가상 메모리 같은 이름으로 복잡한 하드웨어 세부를 감춘다.

03

실패를 격리한다

한 프로세스의 오류가 다른 프로세스나 커널 메모리를 침범하지 못하게 보호한다.

System call
명시 요청 read, write, fork처럼 사용자 코드가 커널 서비스를 요청한다.
호출 비용과 권한 검사가 있다.
Interrupt
비동기 진입 장치나 timer가 CPU 흐름을 끊고 커널 handler를 실행시킨다.
스케줄링과 I/O 완료에 연결된다.
Protection
권한 있는 명령 제한 page table 변경, 장치 제어 같은 작업은 커널 모드에서만 가능하다.
mode bit가 핵심이다.
Scheduler
CPU 시간 분배 여러 실행 흐름 중 다음에 CPU를 받을 대상을 고른다.
공정성과 응답성이 충돌한다.

경계 · 진입 · 격리 점검

경계 사용자 모드에서 직접 할 수 없는 작업과 이유를 설명할 수 있는가.
진입 syscall, interrupt, exception이 커널 진입이라는 공통점을 갖는가.
격리 프로세스 주소 공간 분리가 왜 안정성의 기본인지 말할 수 있는가.

커널 진입

user code -> syscall instruction -> kernel handler -> 권한 점검 -> return