본문 바로가기

컴퓨터 프로그래밍/Computer Science

[운영체제] 운영체제의 기능 - 반효경 교수님 OS

●  운영체제의 기능 ● 

[ 강의 목차 ]

 

1. CPU 스케줄링

2. 메모리관리

3. 디스크 스케줄링

4. 저장장치 계층 구조와 캐싱(Caching)

 


 

1) CPU 스케줄링 

* FCFS [First-Come First-Served]

- CPU 큐에 먼저 도착한 프로세스를 순서대로 처리하는 것을 말한다. 

- 이로 인해, 프로세스들이 대기하는 평균 시간이 길어질 수 있음 -> "비효율적일 수 있음"

 

* SJF [Short-Job-Frist]

- CPU 사용시간이 가장 짧은 프로세스를 제일 먼저 처리하는 것을 말한다. 

- CPU를 길게 사용하려는 프로세스가 무한정 기다리게 됨 -> "효율성은 좋지만, 형평성에 안좋음"

 

* RR [Round Robin]

- 각 프로세스는 동일한 크기의 CPU할당 시간을 가지게 된다. 

- 할당 시간이 끝나면 인터럽트가 발생하여 프로세스는 CPU를 빼앗기고 CPU 큐의 제일 뒤에 줄을 서게 된다. 

- 어떤 프로세스도 (n-1) * 할당시간 이상 기다리지 않으며, 대기 시간이 프로세스의 CPU사용시간에 비례한다. 

- 현재 대부분이 RR(Round Robin) 알고리즘을 사용하여 CPU가 프로세스를 할당하고 있음 

 

 

2) 메모리 관리 

파일 시스템이라고 불리는(전원이 꺼져도 내용이 저장됨)디스크에 실행파일 형태로 존재하는 파일들이 바로 메모리에 올라가서 프로세스가 되는 것이 아님. 

가상 메모리에 올라가서 본인만의 메모리 주소 값을 가지게 된 다음 실제 물리적 메모리에는 가상 메모리에서 가장 필요한 실행 파일만 올려 놓고 사용하게 된다.  

 

* 디스크의 스왑영역

현재 사용되지 않는 메모리의 일부를 스왑영역에 임시로 저장하게 된다.

스왑 영역은 메모리 관리의 일환으로서 사용되지만 스왑이 빈번하게 일어날 경우 성능 저하를 초례할 수 있으므로 적절한 메모리 크기를 유지하고 메모리 사용량을 모니터링 하는 것이 중요하다. 

(* 주기억 장치 메모리의 연장 공간으로서 휘발되지는 않음 )

 

* 메모리 관리 처리 방법 2가지 

1. LRU : 가장 오래 전에 참조 페이지 삭제

2. LFU : 참조횟수가 가장 적은 페이지 삭제

 

3) 디스크 스케줄링

 

디스크 접근 시간의 3가지 구성

1. 탐색시간(Seek time) : 헤드를 해당 트랙(실린더)으로 움직이는데 걸리는 시간 -> ★ 줄이는게 중요함

2. 회전지연(Rotational latency) : 헤드가 원하는 섹터에 도달하기까지 걸리는 시간

3. 전송시간(Transfer time) : 실제 데이터의 전송 시간

 

-seek time을 최소화하는 것이 목표로서 이 때문에 디스크 스케줄링이 필요한 이유이다. 

-seek time = seek distance 

- FCFS : 먼저 들어온 친구를 먼저 서비스 해줌 -> "헤드의 이동이 길어지기 때문에 비효율적임"

- SSTF (shoartest seek time first) -> 기준에서부터 가장 가까운 순서대로 탐색하는 방법, 그러나 "형평성이 좋지 않음"

 

SCAN에 의한 방법이 가장 많이 쓰이고 있음

- 헤드가 디스크의 한쪽 끛에서 다른 쪽 끝으로 이동하며 가는 길목에 있는 모든 요청을 처리한다. 

- 다른 한쪽 끝에 도달하면 역방향으로 이동하며 오는 길목에 있는 모든 요청을 처리하며 다시 반대쪽 끝으로 이동한다. 

 

4) 저장장치 계층 구조와 캐싱(Caching)

계층 구조는 계층 구조의 완충 작용을 하기 위해서 존재한다. 

 

* 플래시 메모리 

1) 반도채장비(하드디스크 : 마그네틱)

2) NAND(스토리지), NOR(임베디드 코드저장용)

 

* 플래시 메모리 특징

1) 전원 나가도 내용 유지

2) 전력소모가 적음

3) 물리적인 충격에 강함

4) 크기가 작고 가벼움

5) 쓰기 횟수의 제약 

 

* 플래시메모리의 사용형태

- 휴대폰, PDA등 임베디드 시스템 구성용

- USB용 메모리 스택

- 디지털카메라 등의 SD카드, CompactFlash / Smart Media card

- 모바일 장치 뿐 아니라 대용량 시스템에서 SSD란 이름으로 하드디스크 대체 시도