Cute Running Puppy

cs/[OS] 혼자 공부하는 컴퓨터 구조 + 운영체제

[혼공컴운] chapter 09. 운영체제 시작하기

R.silver 2024. 1. 30. 19:42
반응형

09-1. 운영체제를 알아야 하는 이유 

 

운영체제란

 

프로그램에 자원을 할당하고 프로그램이 올바르게 실행되도록 돕는 프로그램

  • (시스템) 자원: 프로그램 실행에 필요한 요소들
    • cpu, 메모리, 보조기억장치, 입출력 장치와 같은 부품
  • 커널 영역: 부팅시 운영체제가 적재되어 실행되는 공간
  • 사용자 영역: 응용 프로그램이 적재되는 공간 (커널 영역을 제외한 나머지 공간)운영체제를 알아야 하는 이유운영체제를 통해 하드웨어의 상태, 코드 실행 상태, 문제 상황 등을 파악할 수 있기 때문
    하드웨어와 프로그램을 깊이 이해할 수 있음

09-2. 운영체제의 큰 그림

 

운영체제의 심장, 커널

 

자원 접근, 조작, 프로그램 안전 실행 등 운영체제의 핵심 서비스를 담당하는 부분

  • 사용자 인터페이스: 커널에 포함되지 않는, 사용자와 상호작용할 수 있는 통로]응용 프로그램들이 자원에 접근하려 할 때 자신을 통해서만 접근하도록 하여 자원을 보호하는 방법
  • 이중 모드와 시스템 호출
  • 이중 모드
    cpu가 명령어를 실행하는 모드를 "사용자 모드", "커널 모드"로 구분하는 방식
  • 사용자 모드
    운영체제 서비스를 제공 받을 수 없는 실행 모드.
    커널 영역의 코드를 실행할 수 없는 모드 => 자원에 접근할 수 없음
  • 커널 모드
    운영체제 서비스를 제공받을 수 있는 실행 모드.
    커널 영역의 코드를 실행할 수 있는 모드 => 자원 접근 가능 (자원 접근 명령어 실행 가능)
  • 시스템 호출 (system call)
    운영체제 서비스를 제공받기 위한 요청
    사용자 모드 -> 시스템 콜 호출 -> 커널 모드 전환
    일종의 인터럽트 (소프트웨어 인터럽트)

운영체제의 핵심 서비스

 

1. 프로세스 관리

  • 프로세스: 실행 중인 프로세스
    일반적으로 하나의 cpu는 하나의 프로세스만 실행할 수 있다
    운영체제는 다양한 프로세스를 관리하고 실행한다

2. 자원 접근 및 할당

- cpu

cpu 스케줄링

- 메모리

메모리 할당, 부족시 극복

- 입출력장치

인터럽스 서비스 루틴

3. 파일 시스템 관리

보조기억 장치 속 데이터

반응형