[운영체제] 운영체제 개요
운영체제란?
컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층
운영체제의 목적
1. 컴퓨터 시스템의 자원을 효율적으로 관리🌟
-CPU, 메모리, I/O 장치 등의 효율적 관리
효율성: 주어진 자원으로 최대한의 성능을 내도록
형평성: 특적 사용자/프로그램의 지나친 불이익이 발생하지 않도록
-사용자 및 운영체제 자신의 보호
2. 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공
-운영체제는 동시 사용자/프로그램들이 각자 독자적 컴퓨터에서 수행되는 것 같은 환상을 제공
-하드웨어를 다루는 복잡한 부분을 운영체제가 대행
어떤 프로그램에게 CPU 사용권을 줄까? CPU 스케줄링
한정된 메모리를 어떻게 쪼개어 쓰지? 메모리 관리
디스크에 들어온 요청을 어떤 순서로 처리할까? 디스크 스케줄링
빠른 CPU와 느린 I/O 장치간 속도차를 어떻게 극복하지? 인터럽트, 캐싱
cf. 프로세스=실행중인 프로그램
📍CPU 스케줄링
1. FCFS(First-Come First-Served)
2. SJF(Shortest-Job-First)
기아 현상: 사용 시간이 긴 프로세스는 계속 기다리는 현상
3. Round Robin (RR)
메모리 관리
파일시스템의 디스크는 비휘발성(전원이 나가더라도 정보 살아있음)
메모리, 프로세스는 휘발성
📍디스크 스케줄링
디스크 접근 시간(Access time)의 구성
1. 탐색시간(Seek time)
헤드를 해당 트랙(실린더)으로 움직이는데 걸리는 시간
2. 회전지연(Rotational latency)
헤드가 원하는 섹터에 도달하기까지 걸리는 시간
3. 전송시간(Transfer time)
실제 데이터의 전송 시간
디스크 스케줄링
seek time을 최소화하는 것이 목표
seek time = seek distance
1. FCFS(First-Come First-Served)
(현재 위치가 53이라고 가정)
2. SSTF(Shortest Seek Time First)
기아현상(starvation) 문제: 거리가 먼 경우는 계속 기다리게 될 수도 있음
-> 효율성은 좋지만 형평성에 어긋나서 잘 사용하지 않음
3. SCAN
저장장치 계층구조와 캐싱(caching)
(휘발성) (비휘발성)
레지스터-캐시메모리-메인메모리-하드 디스크-광디스크-자기테이프
<-속도/가격 높
플래시메모리
-반도체장치(하드디스크: 마그네틱)
-NAND형(스토리지), NOR(임베디드 코드저장용)
✓ 플래시메모리 특징
Nonvolatile
Low power consumption
Shock resistence
Small size
Lightweight
쓰기 횟수 제약
✓ 플래시메모리 사용 형태
-휴대폰, PDA 등 임베디드 시스템 구성용
-USB용 메모리 스틱
-디지털카메라 등 SD카드, CompactFlash, Smart Media card
-모바일 ㅈ아치 뿐 아니라 대용량 시스템에서 SSD란 이름으로 하드디스크 대체 시도