스터디 · 강의 도우미

운영체제 스터디 위키 — 홈 (Overview)

High confidenceconceptedited by Cairni · 방금 · AIv2

이 위키는 운영체제(OS) 수업의 강의 녹음과 필기 노트를 바탕으로 제작된 스터디 컴패니언이다. 학습 범위는 3주차(프로세스와 스레드) · 4주차(IPC) · 5주차(CPU 스케줄링)이며, 이 세 주차가 중간고사 출제 범위로 확인된다 운영체제 5주차 — CPU 스케줄링.md. 각 페이지는 주제별로 핵심 개념을 자세히 다루고, 용어집과 시험 대비 페이지로 연결되어 학습 흐름을 지원한다. 아래 홈 페이지를 위에서 아래로 읽으면 이 강의에서 다루는 운영체제의 핵심 구조 전체를 파악할 수 있다.


프로세스 — 운영체제 관리의 기본 단위

운영체제의 가장 근본적인 관리 대상은 프로세스(Process)다. 프로세스는 디스크에 저장된 수동적 실행 파일(프로그램)이 메모리에 올라와 실제로 실행되고 있는 능동적 개체를 가리킨다. 즉, 같은 프로그램이더라도 메모리에 두 번 올라가면 두 개의 프로세스가 존재한다 운영체제 3주차 — 프로세스와 스레드.md. 각 프로세스는 코드(Code) · 데이터(Data) · 힙(Heap) · 스택(Stack) 의 네 영역으로 구성된 독립된 주소 공간을 가지며, 다른 프로세스의 주소 공간에 함부로 접근할 수 없다.

운영체제가 여러 프로세스를 동시에 관리하려면 각 프로세스의 현재 상태를 어딘가에 기록해 두어야 한다. 이 역할을 하는 자료구조가 PCB (Process Control Block)이다. PCB에는 프로세스 상태, 프로그램 카운터(PC), CPU 레지스터 값, 메모리 정보, 열린 파일 목록 등 다섯 가지 범주의 정보가 담긴다 운영체제 3주차 — 프로세스와 스레드.md. 프로세스가 생성될 때 PCB도 함께 만들어지고, 종료될 때 함께 제거된다.

프로세스는 생애 주기 동안 new → ready → running → waiting → terminated 의 다섯 가지 상태를 오간다. CPU는 한 번에 오직 하나의 프로세스만 running 상태로 실행할 수 있으며, I/O 요청이 발생하면 해당 프로세스는 waiting 상태로 전환되고, I/O가 완료되면 다시 ready 큐로 복귀한다. 이 상태 전이의 전체 흐름은 프로세스와 스레드 페이지에서 다이어그램과 함께 확인할 수 있다.


컨텍스트 스위치 — 전환의 비용

CPU가 한 프로세스에서 다른 프로세스로 실행을 전환할 때 컨텍스트 스위치(Context Switch)가 발생한다. 전환 순서는 다음과 같다: 현재 실행 중인 프로세스의 상태(레지스터, PC 등)를 해당 PCB (Process Control Block)에 저장하고, 다음에 실행할 프로세스의 상태를 그 PCB에서 읽어 CPU에 복원한 뒤 실행을 재개한다 운영체제 3주차 — 프로세스와 스레드.md.

컨텍스트 스위치의 핵심 특성은 이것이 순수 오버헤드(pure overhead)라는 점이다. 전환이 진행되는 동안 CPU는 아무런 유용한 작업도 수행하지 않는다. 따라서 컨텍스트 스위치가 지나치게 자주 발생하면 시스템 전체 성능이 저하된다. 이는 뒤에서 다룰 CPU 스케줄링 알고리즘, 특히 Round Robin의 타임 퀀텀 설정과도 직결된다.


스레드와 멀티스레딩 — 프로세스 내부의 병렬성

프로세스가 운영체제의 관리 단위라면, 스레드(Thread)는 프로세스 내부의 실행 단위다. 같은 프로세스에 속한 스레드들은 코드·데이터·힙을 서로 공유하지만, 각 스레드는 독립된 스택과 레지스터를 보유한다 운영체제 3주차 — 프로세스와 스레드.md. 이 구조 덕분에 스레드는 프로세스보다 생성·전환 비용이 훨씬 낮다.

멀티스레딩은 하나의 프로세스 안에서 여러 스레드를 동시에 운용하는 기법으로, 네 가지 장점이 있다: 응답성(Responsiveness) — 일부 스레드가 블로킹 작업 중에도 다른 스레드가 계속 실행됨; 자원 공유(Resource Sharing) — 메모리와 자원을 공유해 효율적; 경제성(Economy) — 프로세스 생성보다 스레드 생성이 저렴; 멀티코어 활용(Scalability) — 여러 코어에 스레드를 분산해 병렬 성능 향상 운영체제 3주차 — 프로세스와 스레드.md.

반면 공유 자원에 여러 스레드가 동시에 접근하면 실행 순서에 따라 결과가 달라지는 레이스 컨디션(Race Condition)이 발생할 수 있다. 이를 해결하기 위한 동기화 기법(뮤텍스, 세마포어 등)은 이후 주차에서 별도로 다룬다 운영체제 3주차 — 프로세스와 스레드.md. 3주차의 전체 개념 흐름은 프로세스와 스레드 페이지에서, 멀티스레딩의 구조 다이어그램과 장단점 상세는 멀티스레딩 페이지에서 확인할 수 있다.


CPU 스케줄링 — 누가 먼저 CPU를 쓸 것인가

여러 프로세스가 ready 큐에 동시에 대기할 때, 어떤 프로세스에 CPU를 줄지 결정하는 것이 CPU 스케줄링의 역할이다 운영체제 5주차 — CPU 스케줄링.md. 스케줄링의 목표는 CPU 이용률 최대화, 처리량(Throughput) 향상, 대기시간·응답시간·반환시간 최소화이며, 이 목표들은 서로 상충하기도 한다.

스케줄링 방식은 크게 선점형(Preemptive)비선점형(Non-preemptive)으로 나뉜다. 선점형은 실행 중인 프로세스를 강제로 중단하고 CPU를 회수할 수 있으며, 비선점형은 프로세스가 자발적으로 CPU를 반납할 때까지 기다린다 운영체제 5주차 — CPU 스케줄링.md.

강의에서 다루는 네 가지 주요 알고리즘은 다음과 같다 운영체제 5주차 — CPU 스케줄링.md:

  • FCFS(First-Come First-Served): 도착 순서대로 CPU를 배분하는 비선점형 알고리즘. 구현이 단순하지만, 긴 작업이 앞에 오면 뒤의 짧은 작업들이 모두 대기하는 Convoy Effect가 발생한다.
  • SJF(Shortest-Job-First): 다음 CPU burst 시간이 가장 짧은 프로세스를 먼저 실행한다. 이론적으로 평균 대기시간을 최소화하는 최적 알고리즘이지만, burst 시간 예측이 어렵고 긴 작업이 무한 대기하는 Starvation 위험이 있다.
  • Round Robin: 각 프로세스에 동일한 타임 퀀텀(time quantum)을 부여해 순환 실행하는 선점형 알고리즘. 응답성이 뛰어나 시분할 시스템에 적합하지만, 퀀텀이 너무 작으면 컨텍스트 스위치 오버헤드가 급증한다.
  • Priority Scheduling: 우선순위가 높은 프로세스에 CPU를 먼저 할당한다. Starvation 위험을 Aging 기법(대기 시간이 길어질수록 우선순위를 점진적으로 상승)으로 완화한다.

알고리즘별 특징·장단점의 상세 비교는 CPU 스케줄링 알고리즘 비교 페이지를, 개념 심화는 CPU 스케줄링 페이지를 참고한다.


주제별 페이지 색인

주차 / 주제페이지핵심 키워드
3주차 핵심프로세스와 스레드프로세스, 상태 전이, 스레드
자료구조PCB (Process Control Block)PCB, 상태 저장, 컨텍스트 스위치
전환 메커니즘컨텍스트 스위치오버헤드, 상태 저장·복원
병렬 실행멀티스레딩스레드, 자원 공유, 레이스 컨디션
5주차 핵심CPU 스케줄링FCFS, SJF, RR, Priority
알고리즘 비교CPU 스케줄링 알고리즘 비교선점/비선점, 대기시간, Starvation
용어집 (3주차)핵심 개념 용어집PCB, 컨텍스트 스위치, 레이스 컨디션
용어집 (5주차)핵심 개념 용어집 (Key Concepts)Convoy effect, Aging, 타임 퀀텀
시험 대비시험 대비 체크리스트 & 예상 문제체크리스트, 예상 문제
소스 (3주차)운영체제 3주차 — 프로세스와 스레드.md강의 노트 원본
소스 (5주차)운영체제 5주차 — CPU 스케줄링.md강의 노트 원본

주요 일정

AI · 출처 클릭
  1. 2026-04-22
    중간고사 — 14:00 시작, 범위: 3주차(프로세스·스레드) · 4주차(IPC) · 5주차(CPU 스케줄링). 간트 차트 계산 문제 출제 예상.
    운영체제 5주차 — CPU 스케줄링.md

시험 대비 핵심 포인트

중간고사는 3주차 ~ 5주차 범위이며 운영체제 5주차 — CPU 스케줄링.md, 아래 사항을 중점적으로 준비한다.

  • 프로세스 상태 전이 다이어그램 — 5개 상태와 각 전환 조건(I/O 요청, I/O 완료, 스케줄러 디스패치, 인터럽트 등)을 직접 그릴 수 있어야 한다 운영체제 3주차 — 프로세스와 스레드.md.
  • PCB (Process Control Block)에 담기는 정보 5가지 — 상태, 프로그램 카운터, 레지스터, 메모리 정보, 열린 파일 목록 운영체제 3주차 — 프로세스와 스레드.md.
  • 컨텍스트 스위치가 순수 오버헤드인 이유 — 전환 중 유용한 작업이 전혀 수행되지 않음 운영체제 3주차 — 프로세스와 스레드.md.
  • 멀티스레딩의 장점 4가지와 레이스 컨디션 운영체제 3주차 — 프로세스와 스레드.md.
  • 스케줄링 알고리즘별 평균 대기시간 계산간트 차트로 직접 그려 연습할 것. FCFS의 Convoy Effect, SJF의 최적성, Round Robin의 타임 퀀텀 영향, Priority의 Aging 개념을 반드시 숙지한다 운영체제 5주차 — CPU 스케줄링.md.

체크리스트 형식의 복습 가이드와 예상 문제는 시험 대비 체크리스트 & 예상 문제 페이지에서, 핵심 용어 한 줄 정의는 핵심 개념 용어집핵심 개념 용어집 (Key Concepts) 페이지에서 확인할 수 있다.

Made with CairniExplore public wikis →