- 커널
- 시스템 콜과 이중 모드
- 운영체제의 서비스 종류
1. 커널
운영체제의 심장과 같은 역할을 하며 현존하는 프로그램 중 규모가 가장 큰 프로그램 중 하나이다.
cf) 리눅스 운영체제의 소스코드는 2700만 줄이다.
운영체제의 핵심적인 기능을 담당하며 운영체제에서 커널에 속하지 않는 기능은 유저 인터페이스 정도이다.
2. 이중모드와 시스템 호출
운영체제는 응용 프로그램들이 자원에 접근하려 할 때 오직 자신을 통해서만 접근하도록 하여 자원을 보호한다.
이중 모드
- CPU가 명령어를 실행하는 모드를 크게 사용자 모드와 커널 모드로 구분하는 방식
- 사용자 모드
- 운영체제 서비스를 제공받을 수 없는 실행 모드
- 커널 영역의 코드를 실행할 수 없는 실행 모드
- 자원 접근 불가 - 커널 모드
- 운영체제의 서비스를 제공받을 수 있는 실행 모드
- 자원 접근을 비롯한 모든 명령어 실행 가능
시스템 호출
- 운영체제 서비스를 제공받기 위해 커널 모드로 전환하여 실행하기 위해 호출
- 일종의 소프트웨어 인터럽트
- 시스템 호출이 처리되는 방식은 하드웨어 인터럽트 처리 방식과 유사하다.
3. 운영체제의 핵심 서비스
- 프로세스 관리
- 프로세스 == 실행 중인 프로그램
- 수많은 프로세스들이 동시에 실행
- 동시다발적으로 생성/실행/삭제되는 다양한 프로세스를 일목요연하게 관리
프로세스와 스레드, 프로세스 동기화, 교착상태 해결 - 자원 접근 및 할당
- CPU 스케쥴링 : 어떤 프로세스를 먼저 또는 얼마나 실행할지 관리
- 메모리 : 제이징, 스와핑 등
- 입출력 장치 : 응용 프로그램에 인터럽트 서비스 루틴 제공 - 파일 시스템 관리
- 관련된 정보를 파일이라는 단위로 저장 장치에 보관
- 파일들을 묶어 디렉터리 단위로 저장 장치에 보관
'컴퓨터공학' 카테고리의 다른 글
22. 프로세스 상태와 계층 구조 (0) | 2024.10.24 |
---|---|
21. 프로세스 개요 (0) | 2024.10.23 |
19. 운영체제를 알아야 하는 이유 (1) | 2024.10.18 |
18. 다양한 입출력방법 (0) | 2024.10.17 |
17. 장치 컨트롤러와 장치 드라이버 (0) | 2024.10.16 |