프로그래밍기능사 · 응용SW기초기술 과목
프로그래밍기능사 운영체제 개념 정리
중요도 ★★★★★ · 45% (추정)
AI가 새로 쓴 글 가운데, 작성과 분리된 AI 검증(다시 읽고 사실·수치 확인)을 통과한 단원만 싣습니다. 틀린 곳을 발견하면 알려 주세요.
개요
이 단원은 컴퓨터의 자원을 관리하는 운영체제를 다룹니다. 운영체제가 하는 일, 실행 중인 프로그램인 프로세스와 그 순서를 정하는 스케줄링, 교착상태, 기억장치 관리, 그리고 리눅스와 윈도의 기본 명령이 차례로 나옵니다.
프로세스는 실행 중인 프로그램을 말하며 준비, 실행, 대기 같은 상태를 오갑니다. 스케줄링 가운데 FCFS 는 먼저 온 작업부터, SJF 는 실행 시간이 짧은 작업부터, 라운드 로빈은 정해진 시간씩 돌아가며 처리합니다. 여러 프로세스가 서로 상대가 가진 자원을 기다리며 멈춰 버리는 것을 교착상태라고 하며, 상호 배제·점유와 대기·비선점·환형 대기 네 조건이 모두 갖춰질 때 생깁니다.
기억장치가 모자랄 때는 쓰지 않는 페이지를 내보내야 합니다. FIFO 는 가장 먼저 들어온 페이지를, LRU 는 가장 오랫동안 쓰지 않은 페이지를, LFU 는 사용 횟수가 가장 적은 페이지를 내보냅니다. 리눅스 명령에서는 ls(목록 보기), cd(폴더 이동), chmod(권한 바꾸기), rm(파일 지우기)을 알아 두세요.
핵심 개념
운영체제
사용자와 컴퓨터 하드웨어 사이에서 CPU, 기억장치, 입출력 장치 같은 자원을 관리하는 기본 소프트웨어입니다. 윈도, 리눅스, 유닉스, macOS 등이 있습니다.
외우는 요령컴퓨터의 '관리인'이라고 생각하면 됩니다.
CPU 스케줄링
여러 프로세스 가운데 누구에게 CPU 를 줄지 정하는 방법입니다. FCFS 는 먼저 온 순서, SJF 는 짧은 작업 먼저, 라운드 로빈은 정해진 시간만큼씩 돌아가며 처리합니다.
외우는 요령라운드 로빈 = '돌아가며 조금씩'.
교착상태
둘 이상의 프로세스가 서로 상대가 가진 자원을 기다리며 아무도 진행하지 못하는 상태입니다. 상호 배제, 점유와 대기, 비선점, 환형 대기 네 조건이 모두 있어야 생깁니다.
외우는 요령좁은 외길에서 두 차가 마주 서서 서로 비켜 주기를 기다리는 모습.
페이지 교체 기법
기억장치가 꽉 찼을 때 내보낼 페이지를 고르는 방법입니다. FIFO 는 가장 먼저 들어온 것, LRU 는 가장 오래 쓰지 않은 것, LFU 는 가장 적게 쓴 것을 내보냅니다.
외우는 요령LRU 의 R 은 Recently(최근), LFU 의 F 는 Frequently(자주).
리눅스 기본 명령
ls 는 파일 목록 보기, cd 는 폴더 이동, pwd 는 현재 위치 보기, chmod 는 권한 바꾸기, rm 은 파일 지우기, cp 는 복사, mv 는 이동이나 이름 바꾸기입니다.
외우는 요령chmod = change mode, 권한을 바꾼다.
자주 나오는 포인트
- 교착상태의 네 가지 조건이 아닌 것을 고르는 문제를 대비하세요.
- 페이지 교체 순서를 따라가며 페이지 부재 횟수를 세는 문제가 나옵니다.
- FIFO·LRU·LFU 의 뜻을 바꿔 놓은 선지를 조심하세요.
- 리눅스 명령과 하는 일을 짝짓는 문제가 나옵니다.
헷갈리는 것 비교: 페이지 교체 기법
| 기법 | 내보내는 페이지 |
|---|---|
| FIFO | 가장 먼저 들어온 페이지 |
| LRU | 가장 오랫동안 쓰지 않은 페이지 |
| LFU | 사용 횟수가 가장 적은 페이지 |
대표 문제 3개
검수를 마친 예상문제 가운데 이 단원의 대표 문제입니다.
문제 1. 교착상태(deadlock)가 생기기 위한 필요조건에 해당하는 것은?
- ① 가상 기억장치
- ② 시분할
- ③ 환형 대기
- ④ 선점
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ③ 환형 대기
핵심: 교착상태 4조건: 상호 배제·점유와 대기·비선점·환형 대기
교착상태는 여러 프로세스가 서로가 가진 자원을 기다리며 꼼짝 못 하는 상태입니다. 다음 4가지 조건이 모두 있을 때 생깁니다.
- 상호 배제: 자원을 한 번에 하나만 사용
- 점유와 대기: 자원을 가진 채 다른 자원을 기다림
- 비선점: 남의 자원을 빼앗을 수 없음
- 환형 대기: 서로 꼬리를 물고 원 모양으로 기다림
틀린 선지
- ① 가상 기억장치: 가상 기억장치는 기억장치 관리 기법입니다.
- ② 시분할: 시분할은 CPU 시간을 나누어 쓰는 방식으로, 교착상태 조건이 아닙니다.
- ④ 선점: 필요조건은 '비선점'입니다. 자원을 빼앗을 수 있으면 교착상태가 풀립니다.
문제 2. 페이지 프레임이 3개이고 처음에 비어 있을 때, FIFO 페이지 교체 방식으로 다음 순서대로 페이지를 참조하면 페이지 부재는 몇 번 일어나는가? 참조 순서: 1, 2, 3, 1, 4, 2
- ① 3번
- ② 5번
- ③ 6번
- ④ 4번
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ④ 4번
핵심: FIFO 는 가장 먼저 들어온 페이지를 내보낸다
페이지 부재는 찾는 페이지가 기억장치에 없을 때 일어납니다.
- 1 → 부재 [1]
- 2 → 부재 [1, 2]
- 3 → 부재 [1, 2, 3]
- 1 → 있음
- 4 → 부재, 가장 먼저 들어온 1 을 내보냄 [2, 3, 4]
- 2 → 있음
- 부재 횟수: 4번
틀린 선지
- ① 3번: 4 를 넣을 때도 빈칸이 없어 부재가 일어납니다.
- ② 5번: 네 번째 참조 1 은 이미 들어 있어 부재가 아닙니다.
- ③ 6번: 모든 참조를 부재로 센 것입니다.
문제 3. 하드웨어 자원을 관리하고 사용자와 컴퓨터 사이에서 다리 역할을 하는 시스템 소프트웨어는?
- ① 운영체제
- ② 워드프로세서
- ③ 컴파일러
- ④ 데이터베이스
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ① 운영체제
핵심: 운영체제는 자원을 관리하고 사용자와 하드웨어를 이어 준다
운영체제(OS)는 CPU·기억장치·입출력장치 같은 자원을 관리하고, 사용자가 컴퓨터를 쉽게 쓸 수 있게 해 주는 시스템 소프트웨어입니다. 윈도, 리눅스 등이 있습니다.
틀린 선지
- ② 워드프로세서: 워드프로세서는 문서를 만드는 응용 프로그램입니다.
- ③ 컴파일러: 컴파일러는 프로그램 코드를 기계어로 번역하는 프로그램입니다.
- ④ 데이터베이스: 데이터베이스는 자료를 모아 관리하는 저장소입니다.