-
운영체제의 큰 그림
커널
- 운영체제의 핵심 부분이다.

- 운영체제는 응용 프로그램들이 자원에 접근할려고 할 때 오직 자신을 통해서만 접근하도록 자원을 보호
- 응용 프로그램이 자원에 접근할려면 운영체제에 도움을 요청
이중모드와 시스템 호출
- CPU가 명령어를 실행할 때 사용자 모드, 커널모드로 구분하는 방식
- 사용자 모드
- 자원 접근 불가
- 운영체제 서비스를 제공받을 수 없는 실행모드
- 커널 영역의 코드를 실행할 수 없는 실행 모드
- 커널 모드
- 운영체제 서비스를 제공받을 수 있는 실행모드
- 자원접근을 비롯한 모든 명령어 실행 가능
시스템 호출
- 커널 모드로 전환하여 실행하기 위해 호출
- 일종의 소프트웨어 인터럽트!
- 시스템 호출이 처리되는 방식은 하드웨어 인터럽트 처리 방식과 유사

운영체제 핵심 서비스
프로세스 관리
- 프로세스 == 실행중인 프로그램
- 수많은 프로세스들이 동시에 수행
- 동시다발적으로 실행/수행/삭제되는 다양한 프로세스를 일목요연하게 관리해야 함


자원접근 할당
- CPU - CPU 스케줄링*어떤 프로세스를 먼저 오래 실행할 지 결정하는 것
- 메모리 - 페이징, 스와핑
- 입출력 장치
파일 시스템 관리
- 관련된 정보를 파일이라는 단위로 저장 장치에 보관
- 파일들을 묶어 폴더(디렉토리) 단위로 저장 장치에 보관