CS

운영체제 (1)

MIRACLE LIFE 2023. 11. 8. 23:43

운영체제란

- 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층

 

운영체제의 목적

- 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공

- 컴퓨터 시스템의 자원을 효율적으로 관리

 

운영체제의 기능

- cpu 스케줄링

- 메모리 관리

- 디스크 스케줄링

- 인터럽트, 캐싱

 

운영체제의 분류

- 동시 작업 가능 여부

  -  단일 작업

  -  다중 작업

- 사용자의 수

  -  단일 사용자

  -  다중 사용자

- 처리 방식

  -  일괄 처리

  -  시분할

  -  실시간


cpu 스케줄링

- FCFS (First-Come First-Served) 등록된 순으로

- SJF (Shortest-Job-First) 사용시간이 가장 짧은 순으로

- RR (Round Robin) 각 프로세스는 동일한 할당시간을 가지고 시간이 끝나면 큐의 제일 뒤에 줄을 섬

 

메모리 관리

- LRU 가장 오래 전에 참조된 페이지 삭제

- LFU 참조횟수가 가장 적은 페이지 삭제

 

디스크 스케줄링

seek time을 최소화하는 것이 목표

- FCFS (First-Come First-Served) 등록된 순으로

- SJF (Shortest Seek Time First) 현재 헤더와 가장 가까운 순으로

- SCAN 한쪽 끝에서 다른쪽 끝으로 이동하며 길목에 있는 모든 요청의 처리를 반복

디스크 접근 시간의 구성

- 탐색시간(seek time)

- 회전지연

- 전송시간

 

Mode bit

cpu에서 기계어를 실행할 때 운영체제에서 실행하는건지 사용자 프로그램에서 실행하는건지 구분하는 용도

사용자 모드: 1

모니터 모드(커널 모드): 0

중요한 명령어는 모니터 모드에서만 수행 가능

인터럽트나 익셉션 발생시 하드웨어가 mode bit을 0으로 바꿈

사용자 프로그램에게 CPU를 넘기기 전에 mode bit을 1로 셋팅

 

Timer

정해진 시간이 흐른 뒤 운영체제에게 제어권이 넘어가도록 인터럽트 발생

타이머 값이 0이 되면 타이머 인터럽트 발생

특정 프로그램의 cpu사용 독점을 막기 위해

 

인터럽트

운영체제가 처리해야할 작업이 생기면 인터럽트를 발생시킴

인터럽트가 발생하면 현재 하고 있는 일을 중단시키고 운영체제에게 CPU 제어권을 넘겨서 운영체제는 해당 인터럽트를 처리함

하드웨어 인터럽트, 소프트웨어 인터럽트로 구분할 수 있음

 

시스템콜

사용자 프로그램이 운영체제의 서비스를 받기 위해 커널 함수(운영체제 프로그램의 함수)를 호출하는 것

 

Device Controller

해당 I/O 장치유형을 관리하는 일종의 작은 CPU

 I/O가 끝났을 경우 인터럽트로 CPU에 그 사실을 알림

 

동기식 I/O

I/O 요청 후 입출력 작업이 완료된 후에야 제어가 사용자 프로그램에 넘어감

 

비동기식 I/O

I/O가 시작된 후 입출력 작업이 끝나기를 기다리지 않고 제어가 사용자 프로그램에 즉시 넘어감

 

DMA (Direct Memory Access)

잦은 인터럽트 발생을 막아 CPU의 효율적인 사용을 위해 등장

CPU의 중재 없이 device controller가 device의 buffer storage의 내용을 메모리에 block 단위로 직접 전송

 

커널

운영체제의 핵심 서비스를 담당하는 부분을 커널이라고 함

'CS' 카테고리의 다른 글

운영체제(5)  (1) 2023.12.06
운영체제(4)  (1) 2023.11.29
운영체제(3)  (0) 2023.11.22
운영체제 (2)  (0) 2023.11.15