반응형
09-1. 운영체제를 알아야 하는 이유
운영체제란
프로그램에 자원을 할당하고 프로그램이 올바르게 실행되도록 돕는 프로그램
- (시스템) 자원: 프로그램 실행에 필요한 요소들
- cpu, 메모리, 보조기억장치, 입출력 장치와 같은 부품
- 커널 영역: 부팅시 운영체제가 적재되어 실행되는 공간
- 사용자 영역: 응용 프로그램이 적재되는 공간 (커널 영역을 제외한 나머지 공간)운영체제를 알아야 하는 이유운영체제를 통해 하드웨어의 상태, 코드 실행 상태, 문제 상황 등을 파악할 수 있기 때문
하드웨어와 프로그램을 깊이 이해할 수 있음
09-2. 운영체제의 큰 그림
운영체제의 심장, 커널
자원 접근, 조작, 프로그램 안전 실행 등 운영체제의 핵심 서비스를 담당하는 부분
- 사용자 인터페이스: 커널에 포함되지 않는, 사용자와 상호작용할 수 있는 통로]응용 프로그램들이 자원에 접근하려 할 때 자신을 통해서만 접근하도록 하여 자원을 보호하는 방법
- 이중 모드와 시스템 호출
- 이중 모드
cpu가 명령어를 실행하는 모드를 "사용자 모드", "커널 모드"로 구분하는 방식 - 사용자 모드
운영체제 서비스를 제공 받을 수 없는 실행 모드.
커널 영역의 코드를 실행할 수 없는 모드 => 자원에 접근할 수 없음 - 커널 모드
운영체제 서비스를 제공받을 수 있는 실행 모드.
커널 영역의 코드를 실행할 수 있는 모드 => 자원 접근 가능 (자원 접근 명령어 실행 가능) - 시스템 호출 (system call)
운영체제 서비스를 제공받기 위한 요청
사용자 모드 -> 시스템 콜 호출 -> 커널 모드 전환
일종의 인터럽트 (소프트웨어 인터럽트)
운영체제의 핵심 서비스
1. 프로세스 관리
- 프로세스: 실행 중인 프로세스
일반적으로 하나의 cpu는 하나의 프로세스만 실행할 수 있다
운영체제는 다양한 프로세스를 관리하고 실행한다
2. 자원 접근 및 할당
- cpu
cpu 스케줄링
- 메모리
메모리 할당, 부족시 극복
- 입출력장치
인터럽스 서비스 루틴
3. 파일 시스템 관리
보조기억 장치 속 데이터
반응형
'cs > [OS] 혼자 공부하는 컴퓨터 구조 + 운영체제' 카테고리의 다른 글
[혼공컴운] chapter 11. CPU 스케줄링 (1) | 2024.01.30 |
---|---|
[혼공컴운] chapter 10. 프로세스와 스레드 (2) | 2024.01.30 |
[혼공학습단 11기] 혼공컴운 3주차 미션 (4) | 2024.01.21 |
[혼공컴운] chatper 08. 입출력 장치 (2) | 2024.01.21 |
[혼공컴운] chatper 07. 보조기억장치 (2) | 2024.01.21 |