운영체제의 핵심, 커널
- Application과 컴퓨터 부품간 연결
- Apllication 실행에 필요한 여러가지 핵심 서비스 제공 (리소스 접근, 관리, 보안 등)
커널 서비스
- `프로세스 관리`
- 실행중인 프로그램 = 프로세스 라 하는데요. 작업 관리자를 통해 실행중인 프로그램을 확인할 수 있습니다.
- 다양한 프로세스를 관리합니다.
(IO 주로 사용하는 프로세스, CPU만 사용하는 프로세스, 당장 실행가능한 프로세스, 당장 실행 불가능 프로세스 등)
- `리소스 접근 및 할당`
- 프로세스에 필요한 리소스 할당- CPU : CPU 스케쥴링에 따라 관리
- 메모리 : 동적 메모리할당, 가상메모리 할당 등 (자세한 내용은 향후 정리 예정)
- 입출력장치 : 인터럽트 서비스 루틴 제공 (하드웨어 인터럽트 요청시)
- `파일시스템 관리`
- 폴더 관리
이중모드
CPU가 명령어를 실행하는 모드를 크게 두가지로 구분합니다.
- `커널 모드` : 운영체제 서비스를 제공받는 모드
- CPU는 하드웨어 리소스에 접근가능 → 모든 명령어 실행가능 - `사용자 모드` : 운영체제 서비스를 제공받지 못하는 모드
- CPU는 하드웨어 리소스에 접근불가→ 모든 명령어 실행불가
- 만약, 리소스에 접근하고 싶은 경우 사용자모드에서 커널모드로 전환 필요함 → `시스템콜`
시스템 콜
아래 사이클이 반복되면서 응용 프로그램이 실행됩니다.
- 사용자 모드에서 시스템 콜 호출시, 커널모드로 전환 → 커널이 제공하는 서비스 사용가능
- 커널 모드에서 리소스 관련 명령어를 실행함으로써 리소스에 접근
- 리소스 접근 종료 후, 다시 사용자 모드로 돌아옴
출처
'CS' 카테고리의 다른 글
[CS] 운영체제 개념과 학습 이유 (1) | 2024.04.20 |
---|---|
[CS] 캐시 메모리 특징 및 동작원리 (0) | 2024.04.19 |
[CS] 메모리 주소 체계와 MMU (0) | 2024.04.17 |
[CS] 우리가 메모리라고 부르는 RAM과 종류 (0) | 2024.04.17 |
[CS] 명령어와 파이프라이닝 간 함의 : CISC, RISC (0) | 2024.04.15 |