해당 게시글은 운영체제 스터디를 위해 반효경 교수님 운영체제 강의를 보고 기록한 게시물입니다. 틀린 정보가 있다면 언제든 지적해주세요🙏🏻
운영체제 개요 - 1강
- 운영체제는 컴퓨터 하드웨어 바로 위에 설치되는 소프트웨어 계층으로서 모든 컴퓨터 시스템의 필수적인 부분.
- 본 강좌에서는 이와 같은 운영체제의 개념과 역할, 운영체제를 구성하는 각 요서 및 그 알고리즘의 핵심적인 부분에 대해 기초부터 학습.
- 설계자의 입장에서 학습하게 됨. 어떻게 동작하는지 알 수 있게.
운영체제란 무엇인가?
컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층
-> 운영체제가 cpu, 하드디스크 등등 직접 관리.
운영체제의 목적?
- 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공.
-> 동시 사용자/프로그램들이 각각 독자적 컴퓨터에서 수행되는 것 같은 환상(illusion)을 제공 = 여러대가 있는것처럼, 하드웨어를 직접 다루는 복잡한 부분을 운영체제가 대행
- 컴퓨터 시스템의 자원을 효율적으로 관리 (중요!)
-> cpu, 메모리, I/o 장치 등의 효율적으로 관리
실행중인 프로그램들에게 짧은 시간씩 cpu를 번갈아 할당 - 효율성
실행중인 프로그램들에 메모리 공간을 적절히 분배 - 형평성
운영체제의 기능
- cpu 스케줄링 - 어떤 프로그램에게 cpu 사용권을 줄것인가
- 메모리 관리 - 한정된 메모리를 쪼개어 쓰기
- 디스크 스케줄링 - i/o장치도 여러가지 요청을 받을 수 있음. 디스크에 들어온 요청을 어떤 순서로 처리할까?
디스크 스케줄링이랑 똑같은게 엘리베이터 스케줄링
- 인터럽트와 캐싱 - 캐싱은 중간단계를 두는 것. CPU와 메모리 사이 또는 메모리와 디스크 사이에..
인터럽트는 '아까 시킨 일 다했다'를 알려줄때 사용된다.
인터럽트 들어오면 CPU는 운영체제한테 바로 가서 확인하고 난 뒤에 작업을 하게 된다.
프로세스의 상태
사람이 쓰는 프로그램은 cpu와 I/O에서 왔다갔다 하는 것.
운영체제 개요 - 2강
Cpu 스케줄링
- FCFS(First Come First Served)
- 프로세스를 오래 쓸 것이 먼저 오는지 아니면 짧게 쓰는 것이 먼저 오는지에 따라서 평균 대기 시간이 달라지게 된다.
- SJF (Shortest Job First)
- 위의 FCFS의 단점을 보완하는 방법
- 매 순간 가장 짧은 프로세스에게 제일 먼저 스케줄(실행할 수 있게 한다.)
- Minimum average waiting time을 보장.
- 문제점: starvation(기아현상) 발생 가능 -> CPU를 오래 써야하는 프로그램이 무한정 기다리게 되는 현상이 나타날 수 있다.
그렇기에 효율성과 형평성을 모두 고려 해야한다.
- Round Robin(RR)
- 한번에 사용할 수 있는 시간이 미리 정해져있음.
- 할당시간이 끝나면 인터럽트가 발생하여 프로세스는 CPU를 빼앗기고 CPU 큐의 제일 뒤에 줄을 섬
-> 어떤 프로세스도 (n-1)*할당시간
이상 기다리지 않음
-> 대기 시간이 프로세스의 CPU 사용시간에 비례
메모리 관리
-
프로그램을 실행시키면 메모리 주소가 생기고 본인만의 메모리 공간이 생김 - 가상메모리
-
실제 메모리에는 가상 메모리에서 지금 당장 필요한 것만 올라가게 됨.
-
스왑영역은 메모리의 연장 공간이다.
-
LRU vs LFU
LRU 가장 오래전에 참조 페이지 삭제
LFU 참조횟수가 가장 적은 페이지 삭제
디스크 스케줄링
- 디스크 접근 시간의 구성
-
탐색시간
헤드를 해당 트랙(실린더)으로 움직이는데 걸리는 시간
-
회전지연
헤드가 원하는 섹터에 도달하기까지 걸리는 시간
-
전송시간
실제 데이터의 전송시간
-
디스크 스케줄링은 탐색시간(Seek Time)을 줄이는 것이 중요함
-
SSTF(Shortest Seek Time First)를 사용함.
-
현재 가장 많이 쓰는 방법은 scan. 헤드는 갈 길을 가다가 요청이 들어오면 하고 지나감.
저장장치 계층구조와 캐싱(caching)
빠른 CPU와 느린 I/O 장치 간의 gap을 줄이기 위함.

그림출처: 반효경 교수님 운영체제 강의 2강 중에서 캡쳐
곁다리: 플래시메모리
- 반도체장치(하드디스크: 마그네틱)
- NAND형(스토리지), NOR(임베디드 코드 저장용)
특징
- 비휘발성, 전력소모가 적다, 충격에 강함, 작고 가볍다,
- 단점 : 쓰기 횟수 제약. 데이터가 시간이 지나서 변질될 수 있음.(전하가 빠져나가서)
-> 이 단점은 소프트웨어에서 보완할 수 있도록 하고 있음.
운영체제의 종류
서버용, PC용, 스마트 디바이스 운영체제