테마
운영체제
운영체제(operating system)는 CPU·기억장치·입출력 장치 같은 자원을 여러 프로그램이 나눠 쓰도록 관리하는 소프트웨어다. 실기 시험에서는 UNIX 명령어와 chmod 권한 표기, 페이지 교체 알고리즘의 페이지 부재(page fault) 횟수, CPU 스케줄링의 평균 대기 시간처럼 직접 계산하거나 명령을 써 보는 문제가 자주 나온다. 원리는 CS 카테고리의 운영체제 문서가 깊게 다루고, 여기서는 시험에 나오는 정의·나열·계산 절차만 압축한다.
학습 순서
- 운영체제·UNIX·Android — 운영체제의 역할, UNIX 커널(kernel)·셸(shell) 구조와 특징, Android, 환경 변수(environment variable) (출제 빈도: 보통)
- UNIX/LINUX 명령어와 chmod — 기본 명령어, 권한 10자리 표기, chmod 8진수·기호 표기, umask (출제 빈도: 높음)
- 기억장치 관리와 가상 기억장치 — 최초 적합(first fit)·최적 적합(best fit)·최악 적합(worst fit), 단편화, 페이징(paging)·세그먼테이션(segmentation), 지역성(locality)·워킹 셋(working set)·스래싱(thrashing) (출제 빈도: 보통)
- 페이지 교체 알고리즘 — FIFO(First In First Out, 선입선출)·LRU(Least Recently Used, 최소 최근 사용)·LFU(Least Frequently Used, 최소 빈도 사용)·OPT(Optimal, 최적)·NUR(Not Used Recently, 최근 미사용)·SCR(Second Chance Replacement, 2차 기회 교체)과 페이지 부재 횟수 계산, 벨레이디의 모순(Bélády's anomaly) (출제 빈도: 높음)
- 프로세스 상태·스레드·IPC — 상태 전이와 디스패치(dispatch)·타임아웃(timeout)·블록(block)·웨이크업(wakeup), 스레드, IPC(Inter-Process Communication, 프로세스 간 통신) 다섯 가지 (출제 빈도: 보통)
- CPU 스케줄링 — FCFS(First Come First Served, 선입선처리)·SJF(Shortest Job First, 최단 작업 우선)·HRN(Highest Response-ratio Next, 응답률 우선)·SRT(Shortest Remaining Time, 남은 시간 최소 우선)·RR(Round Robin, 순환 할당)·MLFQ(Multi-Level Feedback Queue, 다단계 피드백 큐)와 평균 대기·반환 시간 계산 (출제 빈도: 높음)
- 교착 상태 — 교착 상태(deadlock)의 발생 4조건, 예방·회피·발견·회복, 은행원 알고리즘(banker's algorithm) (출제 빈도: 보통)
