운영체제
- 실행할 프로그램에 필요한 자원을 할당하고, 프로그램이 올바르게 실행되도록 돕는 프로그램
- 컴퓨퍼가 부팅될 때 메모리 내 커널 영역 공간에 따로 적재되어 실행
- 커널 영역을 제외한 나머지 영역은 사용자 영역으로 사용자가 이용하는 응용 프로그램공간
- 사용자 영역의 메모리 자원 관리
- 응용프로그램들의 CPU자원 관리
커널
- 운영체제에서 가장 핵심적인 서비스 제공
- 자원 접근하고 조작 기능
- 프로그램을 안전하게 실행되게 하는 기능
커널은 아니지만 컴퓨터와 상호작용하는 통로
GUI
- 윈도우 바탕화면과 같이 사용자와 컴퓨터가 상호작용
CLI
- 커멘드 라인으로 컴퓨터와 상호작용
이중모드
- CPU가 명령어를 실행하는 모드를 크게 사용자 모드와 커널 모드로 구분하는 방식
사용자 모드
- 운영체제 서비스를 제공받을 수 없는 실행 모드
- 일반적인 응용 프로그램은 기본적으로 사용자 모드로 실행
커널 모드
- 운영체제 서비스를 제공받을 수 있는 실행 모드
- 운영체제는 커널 모드로 실행되기 때문에 자원에 접근 가능
시스템 호출
- 운영체제 서비스를 제공받기 위한 요청
- 사용자 모드로 실행되는 프로그램은 시스템 호출을 통해 커널 모드로 전환하여 운영체제 서비스를 제공 가능
- 이러한 방법을 소프트웨어 인터럽트라고도 한다.
시스템 호출 과정
상황 : 한 응용프로그램이 하드 디스크에 데이터 저장하려고 한다.
- 하드 디스크에 데이터를 저장하는 시스템 호출을 발생시켜 커널 모드로 전환(시스템 호출)
- 운영체제 내의 '하드 디스크에 데이터를 저장하는 코드'를 실행하여 하드디스크에 접근(운영체제 코드 실행)
- 하드 디스크에 접근하여 데이터 저장이 끝나면 사용자 모드로 전환(시스템 호출 복귀)
운영체제 핵심 서비스
프로세스 관리
- 실행중인 프로그램인 프로세스를 관리한다.
자원 접근 및 할당
- CPU 스케줄링 관리
- 메모리 할당 관리
- 입출력장치의 하드웨어 인터럽트 관리
파일 시스템 관리
- 보조 기억장치 속 파일 시스템 지원
'공부 > 컴퓨터구조, 운영체제' 카테고리의 다른 글
11장 CPU 스케줄링 (0) | 2023.04.10 |
---|---|
10장 프로세스와 스레드 (0) | 2023.03.30 |
8장 입출력장치 (0) | 2023.03.27 |
7장 보조기억장치 (0) | 2023.03.27 |
6장 메모리와 캐시 메모리 (0) | 2023.03.23 |