보안 운영체제 - 참조 모니터 (시스템 콜, 인터럽트, 쉘)
보안 운영체제 : OS + Security
- 보안 커널, 참조모니터
SKDB(보안 커널 DB) -> (참조) -> 참조 모니터
참조 모니터 : 객체에 접근 및 사용 주체의 요청 점검하여 모든 접근통제 담당 추상머신 & 정보 흐름 감시 핵심 모듈
-> 주체, 객체 사이의 시스템 콜(System Call) 감시
-> 요구 사항 : 부정조작 X, 항상 호출, 항상 분석과 테스트를 통해 동작 확인
- 시스템 콜 : 운영 체제의 커널이 제공하는 서비스에 대해, 응용 프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스
- 쉘 : 사용자와 커널간의 대화하는 인터페이스 기능 제공, 커널과 직접적 연결, 명령어 해석 결과를 다른 프로그램으로 넘기거나 커널로 보내는 역할
인터럽트
-> 입출력 장치가 데이터 전송 준비 완료 -> CPU가 인터럽트 발생 -> CPU가 복귀 주소(PC 레지스터), 프로그램 수행 상태 스택에 저장 -> 입출력 전송을 위한 인터럽트 서비스 루틴(인터럽트 핸들러)로 제어 이동
+ 인터럽트와 시스템 호출 차이
시스템 호출 : 내장된 서브 루틴에 의한 호출 (고정된 시간)
인터럽트 호출 : 이벤트에 의한 호출 (예기치 못한 시간) -> 현재 상태 저장 필요
프로세스(Process)
- CPU에 의해 수행되는 시스템 및 사용자 프로그램
-> 문맥 교환 : 문맥(특정 프로세스 관련 정보 총집합)을 다른 프로세스로 교환
-> PCB : 프로세스 제어 블록
-> 프로세스 상태 : Running, Blocked, Ready, Terminated
-> 교착 상태(Dead Lock) : 상호 배제 문제점
-> 스케줄링 : 라운드로빈(Round Robin) : FCFS로 프로세스들이 내보내지며 각 프로세스는 같은 크기의 CPU 시간을 할당 받음. 정해진 시간만큼 다 공평하게 받음. 시간 할당량 증가 -> FCFS, 시간 할당량 감소 -> 문맥교환 부담 증가