스케줄링과 페이지 교체는 표를 그려 세는 계산이고, 나머지는 한 번씩 나온 낱말이다. 계산 절차 둘과 낱말 한 벌
왜 이걸 하나 — SW공학 묶음 37문항 중 13문항이 이 장이고, 그중 계산 5문항은 절차만 있으면 확실한 점수다.
11회분 220문항 중 이 장의 기출은 13문항이다. 11회 중 9회에 나왔고 2025년 2회에는 3문항(SJF/SRT · AJAX · 라운드 로빈)이었다. 운영체제 계산이 5문항, 운영체제 용어 1문항, 그 밖의 낱말 7문항이다.
| 꼴 | 몇 문항 | 무엇을 적나 | 보기 |
|---|---|---|---|
| 스케줄링 평균 대기시간 | 3 | SRT 2 · 라운드 로빈 1 | 2024-2회 16번 · 2025-2회 13번 · 2026-2회 3번 |
| 페이지 부재 횟수 | 2 | LRU · LFU | 2024-1회 9번 · 2024-3회 4번 |
| OS 용어 | 1 | SJF · SRT | 2025-2회 4번 |
| 리눅스 명령 | 2 | chmod 751, pwd · ls · cd · cp | 2023-3회 5번 · 2025-3회 3번 |
| 웹 · 클라우드 · 요구사항 | 5 | AJAX 2 · IaaS/PaaS/SaaS · URI 구성 · 비기능 요구사항 3종 | 2023-1회 4번 · 2023-3회 17번 · 2024-3회 11번 · 2025-2회 8번 · 2026-1회 5번 |
→ SRT 는 두 번 나왔고 답이 둘 다 6.5 다. 우연이지만 같은 절차(남은 시간이 가장 짧은 것이 CPU 를 잡는다)로 풀린다. AJAX 도 두 번 나왔다. 이 장의 낱말 7문항은 다른 장에 넣기 애매한 것을 모은 것이라 카드가 곧 범위다.
E01 진단의 3번(SRT 6.5ms)이 이 장이었다. 계산 문제는 답이 하나라 표를 그리는 습관이 점수이고, 낱말 문제는 02절 카드에 있는 것이 나오면 맞고 없는 것이 나오면 그 회차의 새 낱말이다.
문항 수는 이 노트의 문제 데이터에서 ch=E16 인 것을 센 값이다(2026-09-14). 스케줄링 · 페이지 교체 정답은 전부 파이썬 시뮬레이션으로 확인했다(LRU · LFU · FIFO · SRT · 라운드 로빈 · HRN).
왜 이걸 하나 — 시험 전날 계산 규칙 둘과 낱말 카드를 다시 본다.
왜 이걸 하나 — 계산 두 종류는 표를 그리는 순서가 정해져 있다. 그 순서만 있으면 값이 바뀌어도 같다.
평균 대기시간 문제는 세 걸음이다. 첫째 규칙대로 실행 구간을 시간축에 적고, 둘째 프로세스마다 완료 시각을 읽고, 셋째 대기 = 완료 − 도착 − 실행으로 계산해 평균 낸다. 규칙이 다른 것은 첫째 걸음뿐이다.
SRT 는 매 순간 남은 실행 시간이 가장 짧은 프로세스가 CPU 를 잡고, 더 짧은 것이 새로 도착하면 뺏는다. 2026년 2회 3번은 P1(0, 8) · P2(1, 4) · P3(2, 9) · P4(3, 5) — 0~1 P1, 1 에 P2(4)가 오면 P1 의 남은 7 보다 짧아 뺏어 1~5, 그 뒤 P4(5) 5~10, P1(7) 10~17, P3(9) 17~26. 대기 9 · 0 · 15 · 2, 평균 6.5.
2024년 2회 16번은 전부 0 에 도착이라 뺏을 새 도착이 없어 SJF 와 같은 순서(P2 → P4 → P1 → P3)가 된다. 대기 0 · 2 · 6 · 18, 평균 6.5. 답이 같은 것은 우연이고 절차는 같다.
라운드 로빈은 큐 순서대로 할당량만큼 돌리고, 못 끝낸 것은 그 사이 도착한 것들 뒤에 다시 선다. 2025년 2회 13번(할당량 4)은 P1 0~4 · P2 4~8 · P3 8~12 · P4 12~16 · P1 16~20 · P3 20~24 · P4 24~25 · P3 25~26 이고, 대기 12 · 3 · 15 · 17, 평균 11.75. 큐에 다시 서는 순서를 틀리면 값이 통째로 어긋난다.
HRN 은 계산만 하면 순서가 나온다. 우선순위 = (대기 + 서비스) ÷ 서비스 라 예상 2회 20번의 A(5, 5) = 2 · B(6, 2) = 4 · C(12, 3) = 5 → C → B → A. 오래 기다린 짧은 작업이 앞으로 온다.
부재 횟수 문제는 프레임 수만큼 칸을 그리고 참조열을 하나씩 넣는다. 이미 있으면 적중(부재 아님), 없으면 부재이고 빈 칸이 없으면 규칙대로 하나를 내보낸다. FIFO 는 먼저 들어온 것, LRU 는 가장 오래전에 쓴 것, LFU 는 가장 적게 쓴 것.
LRU 의 함정은 적중 처리다. 적중한 페이지는 교체하지 않지만 최근 사용 시각을 앞으로 당겨야 다음 희생자가 맞는다. 2024년 3회 4번의 참조열 20개는 부재 12 · 적중 8 이고, 같은 열을 FIFO 로 돌리면 15 다(훈련 1번) — 규칙이 바뀌면 같은 열에서 답이 바뀐다.
2024년 1회 9번은 LRU 와 LFU 를 같은 열에 돌려 둘 다 6 이다. 4 를 넣을 때 LRU 는 「가장 오래 안 쓴 3」을, LFU 는 「가장 적게 쓴 3(1회)」을 내보내 희생자가 같았다. 열이 바뀌면 둘이 갈릴 수 있으니 규칙을 따로 적용한다.
교착상태는 조건 넷이 동시에 성립할 때만 난다 — 상호 배제 · 점유와 대기 · 비선점 · 환형 대기. 그래서 예방은 넷 중 하나를 깨는 것이고, 회피는 자원을 줄 때마다 안전 상태인지 검사하는 은행원 알고리즘, 발견은 자원 할당 그래프, 회복은 프로세스 종료나 자원 선점이다(예상 1회 20번 · 훈련 3번).
방법론은 「어떻게 반복하나」로 갈린다. 폭포수는 반복 없이 순서대로, 프로토타입은 시제품을 먼저, 나선형은 위험 분석을 넣어 반복, 애자일은 짧은 반복에 고객을 넣는다. 스크럼의 낱말(스프린트 · 백로그 · 데일리 스크럼 · 번다운 차트)과 XP 의 낱말(짝 프로그래밍 · TDD · 소규모 릴리스)이 애자일 아래 있다.
요구사항은 기능과 비기능으로 나뉘고, 비기능 안에서 다시 성능(속도 · 응답) · 자원(메모리 · 화면) · 운영(OS · 포맷) · 보안 · 품질로 갈린다(2026년 1회 5번). 「1초 이내」면 성능, 「적은 메모리」면 자원, 「여러 OS」면 운영이다.
chmod 의 숫자 세 자리는 소유자 · 그룹 · 기타 순서이고, 각 자리는 읽기 4 · 쓰기 2 · 실행 1 의 합이다. 2023년 3회 5번의 「소유자 읽기 · 쓰기 · 실행, 그룹 읽기 · 실행, 기타 실행」은 7 · 5 · 1 → 751. 반대로 644 는 rw- r-- r--, 750 은 rwx r-x --- 다(훈련 5번).
명령은 하는 일로 짝짓는다. 경로는 pwd · cd, 목록은 ls, 파일은 cp · mv · rm · cat, 권한은 chmod · chown · chgrp, 프로세스는 ps · kill. 2025년 3회 3번의 넷(pwd · ls · cd · cp)이 이 중 앞의 넷이다.
왜 이걸 하나 — 계산 5문항은 표를 종이에 그리며 푼다. 낱말 8문항은 카드와 대조한다.
스케줄링은 시간축 한 줄과 프로세스 표 한 개, 페이지 교체는 프레임 칸 × 참조열 길이의 표를 그린다. 답 칸에는 마지막 값 하나가 아니라 대기시간 넷과 합계를 함께 적어 두면 어디서 틀렸는지 보인다.
JavaScript와 XML을 이용해 웹 페이지 전체를 새로고침하지 않고 서버와 비동기적으로 데이터를 교환하는 기술은? (Asynchronous JavaScript and XML)
Linux에서 a.txt에 소유자 읽기·쓰기·실행, 그룹 읽기·실행, 기타 실행 권한을 8진수로 부여하는 한 줄 명령: (①) (②) a.txt
클라우드 서비스 3종: ① 서버·스토리지 등 인프라 제공 ② 개발·실행 플랫폼 제공 ③ 응용 소프트웨어를 서비스로 제공
페이지 프레임이 3개이고 참조 문자열이 다음과 같을 때 LRU와 LFU의 페이지 부재 횟수를 각각 구하시오.
1, 2, 3, 1, 2, 4, 1, 2, 5, 7
모든 프로세스가 시각 0에 도착할 때 SRT 방식의 평균 대기 시간을 구하시오.
| 프로세스 | 실행 시간 |
|---|---|
| P1 | 12 |
| P2 | 2 |
| P3 | 15 |
| P4 | 4 |
프레임이 3개일 때 다음 참조열을 LRU로 처리한 페이지 부재 횟수를 쓰시오.
7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1
URI 구성요소를 설명과 매칭하시오: 스킴(프로토콜) / 권한(사용자정보·호스트·포트) / 경로 / 쿼리 스트링 / 프래그먼트
https://user@www.site.com:443/board/list?page=1#top — "어떤 방식(스킴) / 어느 건물 몇 번 문(권한) / 어느 방(경로) / 무슨 용건(쿼리) / 방 안의 특정 위치(프래그먼트)".① 실행 시간이 가장 짧은 작업부터 처리하는 비선점 스케줄링 ② 남은 실행 시간이 가장 짧은 작업을 우선하는 선점 스케줄링
웹 페이지 전체를 새로 고치지 않고 필요한 데이터만 서버와 비동기적으로 주고받아 화면 일부를 갱신하는 기술은?
시간 할당량이 4ms인 라운드로빈 방식으로 다음 프로세스를 스케줄링할 때 평균 대기시간을 구하시오. 문맥 교환 시간은 무시한다.
| 프로세스 | 도착 시간(ms) | 실행 시간(ms) |
|---|---|---|
| P1 | 0 | 8 |
| P2 | 1 | 4 |
| P3 | 2 | 9 |
| P4 | 3 | 5 |
UNIX/Linux 명령어: ① 현재 작업 경로 표시 ② 파일 목록 보기 ③ 디렉터리 이동 ④ 파일 복사
비기능 요구사항 분류: ① 여러 OS·다양한 포맷 지원 ② 적은 메모리 사용, 터치스크린 등 자원 관련 ③ 1초 이내 응답 등 속도 관련
다음 프로세스를 선점형 SRT(Shortest Remaining Time) 방식으로 스케줄링할 때 평균 대기시간을 구하시오. 문맥 교환 시간은 무시하며, 시간 단위는 ms이다.
| 프로세스 | 도착 | 서비스 |
|---|---|---|
| P1 | 0 | 8 |
| P2 | 1 | 4 |
| P3 | 2 | 9 |
| P4 | 3 | 5 |
교착상태(Deadlock) 발생 4가지 필요조건 중 빈칸 2개: 상호 배제, 점유와 대기, ( ① ), ( ② )
HRN 스케줄링에서 우선순위 = (대기시간 + 서비스시간) ÷ 서비스시간이다. 다음 프로세스의 실행 우선순위를 높은 순서로 나열하시오.
왜 이걸 하나 — 계산은 큐 순서와 갱신에서, 낱말은 비슷한 약자에서 깎인다.
| 자리 | 새는 꼴 | 적는 법 | 기출 |
|---|---|---|---|
| RR 큐 순서 | 못 끝낸 프로세스를 새 도착보다 앞에 세운다 | 새 도착이 먼저, 못 끝낸 것은 그 뒤 | 2025-2회 13번 |
| SRT 선점 | 새 도착을 무시하고 SJF 처럼 푼다 | 도착 시각마다 남은 시간을 견줘 뺏을지 정한다. 전부 0 도착이면 SJF 와 같다 | 2026-2회 3번 · 2024-2회 16번 |
| 대기시간 식 | 완료 − 도착만 하고 실행을 안 뺀다 | 대기 = 완료 − 도착 − 실행(반환 시간과 다르다) | 2025-2회 13번 |
| 단위 | 답 칸에 단위가 있는데 다시 적는다 | 인쇄된 단위는 생략. 없으면 ms 를 붙인다 | 2026-2회 3번 |
| LRU 갱신 | 적중 시 최근 사용 표시를 안 당긴다 | 적중해도 그 페이지를 「가장 최근」으로 옮긴다 | 2024-3회 4번 |
| LFU 동률 | 횟수가 같을 때 아무거나 내보낸다 | 동률이면 오래된 것부터(문제에 규칙이 있으면 그것을 따른다) | 2024-1회 9번 |
| 약자 | SRT 를 SJF 로, PaaS 를 SaaS 로 | SRT = 남은(Remaining) 시간 · 선점, SJF = 비선점. PaaS 플랫폼 · SaaS 소프트웨어 · IaaS 인프라 | 2025-2회 4번 · 2023-3회 17번 |
| chmod | 자리 순서(소유자 · 그룹 · 기타)를 바꾼다 | u · g · o 순서, 각 자리 4 + 2 + 1 | 2023-3회 5번 |
계산 문제의 답은 소수(6.5 · 11.75)가 흔하다. 나누기 전의 합과 나눈 수를 답 옆에 적어 두면 부분 점수가 있는 문항에서 과정이 살아남는다.
왜 이걸 하나 — 같은 참조열을 FIFO 로, 스케줄링을 선점 · 비선점으로 분류, 교착 · 방법론 · chmod 의 나머지 칸이다.
훈련 1번은 2024년 3회 4번의 참조열을 FIFO 로 돌린 것이라 LRU 의 12 와 견줘 볼 수 있다. 정답은 파이썬 시뮬레이션으로 확인했고, 나머지 넷은 정의로 대조한 낱말이다.
프레임이 3개일 때 다음 참조열을 FIFO 로 처리한 페이지 부재 횟수를 쓰시오.
7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1
다음 CPU 스케줄링 기법을 선점형과 비선점형으로 나누고, 설명에 맞는 것을 고르시오.
FCFS, SJF, SRT, RR, HRN, 다단계 큐(MLQ)
① 도착 순서대로 처리한다
② 대기 시간이 길수록 우선순위가 올라가 기아를 막는다
교착상태에 대해 다음 물음에 답하시오.
① 발생 필요조건 4가지
② 자원을 할당하기 전에 안전 상태인지 검사해 교착상태를 회피하는 알고리즘의 이름
다음 설명에 해당하는 개발 방법론 · 용어를 각각 쓰시오.
① 요구 분석 → 설계 → 구현 → 테스트 → 유지보수를 순서대로 진행하며 이전 단계로 돌아가기 어렵다
② 위험 분석을 반복하며 점진적으로 개발한다(계획 → 위험 분석 → 개발 → 평가)
③ 스크럼에서 2~4주 단위로 반복하는 개발 주기
④ 스크럼에서 제품에 필요한 요구사항을 우선순위대로 모아 둔 목록
리눅스 파일 권한에 대해 답하시오.
① 소유자 읽기 · 쓰기, 그룹 읽기, 기타 읽기 권한을 8진수 세 자리로
② 권한이 rwxr-x--- 인 파일의 8진수 값
③ 파일 소유자를 바꾸는 명령어
왜 이걸 하나 — 아래를 안 보고 적을 수 있어야 이 장이 끝난다.