* 강의를 듣고 복습하며 정리한 내용입니다.
운영체제
컴퓨터 하드웨어 바로 위에 설치. 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어.
운영체제의 목적
1. 하드웨어 자원(CPU, 메모리)을 효율적으로 관리
2. 응용프로그램 및 사용자에게 편리한 인터페이스 제공
운영체제의 기능
CPU 스케줄링
: CPU 큐에서 기다리는 프로그램 중 어떤 프로그램에게 먼저 CPU 사용권을 줄까?
1. FCFS (First Come First Served)
먼저 온 프로그램 순서대로.
📌단점: CPU를 길게 쓰는 프로그램이 먼저 도착한다면 전체 프로그램의 대기 시간이 늘어난다.
2. SJF (Shortest Job First)
CPU를 짧게 쓰는 프로그램 먼저 사용.
📌단점: Starvation(기아 현상)이 발생할 수 있다. 즉, CPU를 길게 쓰는 프로그램의 경우 계속 대기해야 할 수 있다.
3. Round Robin
각 프로세스는 동일한 CPU 할당 시간을 가진다. 시간이 끝나면 인터럽트가 발생해 프로세스는 CPU를 빼앗기고 CPU 큐의 가장 뒤로 들어간다.
👉 가장 많이 사용되는 방식. 대기 시간이 프로세스의 CPU 사용 시간에 비례하며 어떤 프로세스도 (n-1)*할당시간 이상 기다리지 않는다.
메모리 관리
메인 메모리는 휘발성매체로 전원을 켜면 운영체제가 올라가는 식이다.
프로그램 실행 시 디스크의 실행 파일이 바로 물리적인 메모리에 올라가는 것이 아닌 가상 메모리에 올라간다. 가상메모리 중 당장 필요한 부분만 물리적인 메모리에 올라가며 나머지는 디스크의 스왑 영역에 보관(메모리의 연장공간)한다.
👉 한정된 메모리에서 여러 프로세스를 실행시킬 수 있다.
페이지 교체 정책(Page replacement policy)
운영 체제가 특정 페이지를 물리적인 메모리에 올리려고 할 때 메모리가 다 차있으면 페이지를 쫓아내야 한다. 이때 어떤 페이지를 저장 매체로 내릴지 정하는 것이 페이지 교체 정책이다.
과거 기록을 통해서 생각해보자.
LRU (Least Recently Used)
가장 오래전에 참조한 페이지 삭제.
📌 단점: 참조 횟수가 많음에도 오래되었다는 이유로 삭제될 수 있다.
LFU(Least Frequently Used)
참조 횟수가 가장 적은 페이지 삭제.
📌 단점: 가장 최근에 메모리로 옮겨진 페이지가 삭제될 가능성이 높다.
디스크 스케줄링
트랙 요청은 디스크 큐에 쌓이며 디스크 헤드가 움직이면서 트랙을 이동한다.
디스크 접근 시간은 다음과 같이 나눌 수 있다.
1. 탐색 시간(Seek time): 헤드를 해당 트랙(실린더)으로 움직이는 데 걸리는 시간. 가장 많은 시간을 차지한다.
2. 회전 지연(Rotational latency): 헤드가 원하는 섹터에 도달하기까지 걸리는 시간.
3. 전송 시간(Transfer time): 실제 데이터의 전송 시간.
디스크 스케줄링의 목표는 접근 시간을 최소화하는 것이다.
SSTF(Shortest Seek Time First)
현재 위치를 기준으로 디스크 큐 요청 중 가장 가까운 요청부터 처리.
📌 단점: Starvation이 발생할 수 있다.
SCAN
헤드가 디스크의 한쪽 끝에서 다른 쪽 끝으로 이동하며 가는 길목에 있는 모든 요청을 처리. 끝에 도달하면 역방향으로 이동하며 반복.
👉대부분의 디스크 스케줄링에서 사용한다. 오버헤드가 작을 경우 효율적이다.
*오버헤드란 프로그램 실행 흐름에서 나타나는 현상 중 하나로, 실행 도중 동떨어진 위치의 코드를 실행시켜야 할 때 드는 추가적인 시간, 메모리 등 자원을 말한다.
인터럽트와 캐싱
빠른 CPU와 느린 I/O 장치 간의 속도 차이를 극복하기 위해 인터럽트와 캐싱을 사용한다.
'Computer Science > Operating system' 카테고리의 다른 글
[운영체제] CPU 스케줄링 | KOCW 2017 이화여대 반효경 교수님 (0) | 2022.05.31 |
---|---|
[운영체제] 프로세스 관리(2) | KOCW 2017 이화여대 반효경 교수님 (0) | 2022.05.26 |
[운영체제] 프로세스 관리(1) | KOCW 2017 이화여대 반효경 교수님 (0) | 2022.05.25 |
[운영체제] 컴퓨터 시스템의 구조 | KOCW 2017 이화여대 반효경 교수님 (0) | 2022.05.24 |