운영체제 - 개요 2
CPU 스케줄링
FCFS
- First-Come First-Served
- 도착한 순서대로 실행된다.
- 한 프로세스가 모두 끝날 때까지 실행되고, 그 다음 프로세스로 넘어간다.
- 평균 대기시간이 매우 길어질 수 있다. 효율성 낮다. (앞선 프로세스의 실행 시간이 긴 경우)
SJF
- Shortest-Job-First
- 금번 CPU 사용시간이 가장 짧은 프로세스를 먼저 실행
- SJF는 최소 평균 대기 시간을 보장한다.
- Starvation(기아 현상) 발생 가능하다. (형평성의 문제 - 무한정 기다림)
RR
- Round Robin
- 각 프로세스에 동일한 CPU 할당 시간을 부여한다.
- 할당 시간 끝나면 인터럽트 발생 -> CPU 독점 빼앗기 -> CPU 큐 제일 뒤에 독점 빼앗긴 프로세스 추가
- N개의 프로세스가 CPU 큐에 있을 때, 어떤 프로세스도 (N-1)*할당시간 이상 기다리지 않는다.
- 대기시간은 프로세스의 CPU 사용시간에 비례한다.
메모리 관리
구조
- 메모리
- 가상 메모리
- 디스크의 스왑 영역 - 당장 필요 없다는 이유로 메모리에서 쫓겨난 가상 메모리를 담고 있다.
- 디스크(파일 시스템)
LRU
- 메모리 꽉 찾을 때, 페이지 쫓아내는 방법 중 하나
- 가장 오래 전에 참조된 페이지 삭제
LFU
- 메모리 꽉 찾을 때, 페이지 쫓아내는 방법 중 하나
- 참조 횟수가 가장 적은 페이지 삭제
디스크 스케줄링
디스크 접근 시간(Access time)
- 탐색 시간(Seek time)
- 헤드를 해당 트랙(실린더)으로 움직이는데 걸리는 시간
- 회전 지연(Rotational latency)
- 헤드가 원하는 섹터에 도달하기까지 걸리는 시간
- 전송 시간(Transfer time)
- 실제 데이터 전송 시간
디스크 스케줄링(Disk Scheduling)
- Seek time을 최소화하는 것이 목표다.
- Seek time은 Seek distance에 비례한다.
FCFS
- First-Come First-Served
- 요청 들어온 순서대로 헤드를 이동한다.
- 헤드의 이동이 길어짐.
- 매우 비효율적
SSTF
- Shortest Seek Time First
- 빠져나간 위치를 기준으로 가까운 것을 먼저 처리한다.
- Starvation 문제(누군가는 영원히 서비스 못 받을 수도 있음.)
SCAN
- 헤드는 항상 자신이 갈 길을 간다. 끝에 도달하면 방향을 바꾼다.
- 가는 길목에 있는 모든 요청을 처리한다.
저장장치 계층구조와 캐싱
구조
- Primary - 휘발성
- Secondary - 비휘발성
캐싱
- Copying information into faster storage system
- Primary와 Secondary 사이에서 완충 역할
플래시 메모리
- 반도체장치
- NAND형(스토리지), NOR형(임베디드 코드저장용)
- Nonvolatile, Low Power, Shock resistance, Small size, Light Weight, 쓰기 횟수 제약
- 휴대폰, USB 메모리, SD 카드, SSD(Solid State Drive)
운영체제의 종류
- 서버용, PC용, 스마트폰용 등
- Open Source Software
- Linux, Android
Comments powered by Disqus.