728x90
09-1. 운영체제를 알아야 하는 이유
- 운영체제란
프로그램 실행에 필요한 요소인 자원을 필요한 만큼 할당하고 실행을 돕는 프로그램
운영체제는 기본적으로 메모리 내 '커널 영역'에 따로 적재
- 운영체제를 알아야 하는 이유
개발자의 유연한 문제 해결능력 향상
09-2. 운영체제의 큰 그림
- 운영체제의 심장, 커널
자원의 접근과 조작, 프로그램의 안전 실행을 담당하는 핵심 부분
- 운영체제 제공 서비스 중 커널에 '포함되지 않는' 서비스
사용자 인터페이스 : 윈도우 바탕화면 등과 같은 사용자가 컴퓨터와 소통하는 통로
1. 그래픽 인터페이스
2. 커맨드 라인 인터페이스
- 이중 모드와 시스템 호출
- 이중 모드 : CPU가 명령어 실행 모드를 '사용자 모드'와 '커널 모드'로 구분하여 운용
사용자 모드 : 운영체제 서비스를 제공받지 않는 모드(프로그램 자원 접근 불가)
커널 모드 : 운영체제 서비스를 제공받는 모드(커널 영역의 코드 실행)
- 시스템 호출 : 운영체제 서비스를 제공받기 위한 요청
-> 일종의 인터럽트로서 작용
- 소프트웨어 인터럽트 : 인터럽트를 발생시키는 특정 명령어
하드 디스크 데이터 저장을 위한 시스템 호출 작동 예시
1. 하드 디스크에 데이터를 저장하는 시스템 호출 발생, 커널 모드 전환
2. 운영체제 내 '하드 디스크에 데이터를 저장하는 코드' 실행 후 하드 디스크 접근
3. 접근 완료 후 사용자 모드 복귀
- 운영체제의 핵심 서비스
실행중인 프로그램을 지칭하는 '프로세스'의 관리(하나의 CPU는 하나의 프로세스만 실행)
-> 조금씩 번갈아가며 여러가지 프로세스를 실행
프로세스 실행을 위한 자원의 접근 및 할당
1. 각 프로세스에 공정한 CPU 할당을 위해 CPU의 사용시간을 결정하는 'CPU 스케쥴링'
2. 프로세스에 메모리 할당
3. 입출력장치가 하드웨어 인터럽트 요청을 보낼 시 커널 영억의 '인터럽트 서비스 루틴' 실행
'컴퓨터 구조 + 운영체제 > 혼자 공부하는 컴퓨터 구조 + 운영체제' 카테고리의 다른 글
| _운영체제_ 11. CPU 스케줄링 (0) | 2023.12.19 |
|---|---|
| _운영체제_ 10. 프로세스와 스레드 (1) | 2023.12.15 |
| _컴퓨터 구조_ 07. 보조 기억 장치 (1) | 2023.11.26 |
| _컴퓨터 구조_ 06. 메모리와 캐시 메모리 (1) | 2023.11.25 |
| _컴퓨터 구조_ 04. CPU 작동 원리 (0) | 2023.11.21 |