대기시간
도착 2, 실행 5, 완료 11인 작업의 대기시간은?
정답과 풀이 확인
정답 4
반환시간 11-2=9, 대기시간 9-5=4다.
이 브라우저에서 다음 학습에도 적용됩니다.
정보처리 실무 · 학습 노트
스케줄링·페이지 교체를 표로 풀기
공식만 외우지 않고 시간축과 프레임 상태를 직접 적는다. 특히 선점 시점과 페이지 적중 때의 갱신 여부가 중요하다.
기호와 용어가 낯설면 기초·상세 보강을 먼저 읽고, 기존 핵심 정리로 연결하세요. 예제의 값을 손으로 계산한 뒤 확인 질문을 답하고 마지막에 문제를 풉니다.
핵심 규칙을 설명하고, 연습문제의 답과 이유를 해설 없이 적을 수 있으면 체크하세요. 이해 체크와 정답 기록은 별도로 저장됩니다.
프로세스는 실행 중인 프로그램과 자원 단위, 스레드는 실행 흐름 단위다. 같은 프로세스의 스레드는 일반적으로 코드·데이터·힙을 공유하고 각자의 스택과 레지스터 상태를 가진다.
“프로세스와 스레드”의 핵심 규칙과 헷갈리는 지점을 설명해 보세요.
상태: 생성→준비→실행→대기→준비→종료. 문맥 교환은 실행 상태 저장·복구. 대기는 CPU를 기다리는 준비 상태와 다르다. I/O 완료를 기다리는 상태다.
상태: 생성→준비→실행→대기→준비→종료. 문맥 교환은 실행 상태 저장·복구.
헷갈리는 지점 대기는 CPU를 기다리는 준비 상태와 다르다. I/O 완료를 기다리는 상태다.
반환시간=완료-도착, 대기시간=반환-실행시간, 응답시간=최초 실행-도착. FCFS는 도착순, SJF는 짧은 작업 우선 비선점, SRT는 남은 시간이 짧은 작업 우선 선점, RR은 시간 할당량만큼 순환.
“스케줄링 공식”의 핵심 규칙과 헷갈리는 지점을 설명해 보세요.
HRN 우선순위=(대기+서비스)/서비스. 숫자가 큰 작업을 먼저 선택한다. SRT는 원래 총 실행시간이 아니라 현재 남은 시간을 비교한다. 동률 처리 규칙은 문제 조건을 따른다.
HRN 우선순위=(대기+서비스)/서비스. 숫자가 큰 작업을 먼저 선택한다.
헷갈리는 지점 SRT는 원래 총 실행시간이 아니라 현재 남은 시간을 비교한다. 동률 처리 규칙은 문제 조건을 따른다.
A(도착0,실행6), B(도착1,실행2), C(도착2,실행1). 동률은 현재 작업 유지라면 0~1 A,1~3 B,3~4 C,4~9 A. 완료 A9,B3,C4.
이 예의 A 응답시간은?
0. A는 도착 즉시 최초 실행했다. 대기시간3과 다르다.
대기 A=9-0-6=3, B=3-1-2=0, C=4-2-1=1. 평균 4/3.
헷갈리는 지점 도착 시점마다 비교하고, 완료되면 대기 중 작업의 남은 시간을 다시 비교한다.
FIFO는 가장 먼저 들어온 페이지, LRU는 가장 오래 사용하지 않은 페이지, LFU는 사용 횟수가 적은 페이지, OPT는 앞으로 가장 늦게 쓸 페이지를 교체한다.
“페이지 교체”의 핵심 규칙과 헷갈리는 지점을 설명해 보세요.
처음 빈 프레임에 적재할 때도 페이지 부재다. LRU는 적중 때도 최근 사용 순서를 바꾼다. FIFO는 적중했다고 적재 순서가 바뀌지 않는다. OPT는 미래 참조열이 있어야 계산할 수 있다.
처음 빈 프레임에 적재할 때도 페이지 부재다. LRU는 적중 때도 최근 사용 순서를 바꾼다.
헷갈리는 지점 FIFO는 적중했다고 적재 순서가 바뀌지 않는다. OPT는 미래 참조열이 있어야 계산할 수 있다.
페이징은 고정 크기, 세그먼테이션은 의미 단위 가변 크기. 내부 단편화는 할당 공간 안 낭비, 외부 단편화는 작은 빈 공간 분산이다. 교착의 필요조건은 상호배제·점유대기·비선점·환형대기다.
“메모리와 교착상태”의 핵심 규칙과 헷갈리는 지점을 설명해 보세요.
예방은 조건을 깨기, 회피는 안전 상태 유지(은행가), 탐지는 발생 확인, 회복은 중단·선점 등. 교착 회피와 예방을 같은 뜻으로 쓰지 않는다. 스래싱은 페이지 교체가 과도하여 유효 작업이 줄어드는 현상이다.
예방은 조건을 깨기, 회피는 안전 상태 유지(은행가), 탐지는 발생 확인, 회복은 중단·선점 등.
헷갈리는 지점 교착 회피와 예방을 같은 뜻으로 쓰지 않는다. 스래싱은 페이지 교체가 과도하여 유효 작업이 줄어드는 현상이다.
뮤텍스는 임계구역의 상호배제, 세마포어는 카운터와 대기/해제로 접근을 조절한다. 디스크 SSTF는 가까운 요청, SCAN은 한 방향 이동 후 역방향, C-SCAN은 한 방향 처리 후 되돌아간다.
“동기화·디스크·RAID”의 핵심 규칙과 헷갈리는 지점을 설명해 보세요.
RAID 0 스트라이핑·복구 중복 없음 / 1 미러링 / 5 분산 패리티·디스크 1개 장애 대응 / 6 이중 패리티·2개 장애 대응. RAID는 백업을 대체하지 않는다. 삭제·오염이 복제되는 것은 별도 문제다.
RAID 0 스트라이핑·복구 중복 없음 / 1 미러링 / 5 분산 패리티·디스크 1개 장애 대응 / 6 이중 패리티·2개 장애 대응.
헷갈리는 지점 RAID는 백업을 대체하지 않는다. 삭제·오염이 복제되는 것은 별도 문제다.
세마포어는 wait 연산으로 값을 감소시켜 자원을 점유하고, signal 연산으로 값을 증가시켜 자원을 반납하며 대기 중인 프로세스를 깨운다. 초기값 1인 이진 세마포어는 상호배제(뮤텍스 대체)로 흔히 쓰인다.
“세마포어 동작 추적”의 핵심 규칙과 헷갈리는 지점을 설명해 보세요.
뮤텍스는 점유한 주체가 있는 상호배제 도구, 세마포어는 개수 기반의 신호 도구로 구분한다. 대기 중인 프로세스가 여러 개면 어떤 프로세스를 먼저 깨우는지는 스케줄링 정책에 따라 달라진다. 시험에서는 특별한 조건이 없으면 단순히 대기·해제 여부만 판정한다.
뮤텍스는 점유한 주체가 있는 상호배제 도구, 세마포어는 개수 기반의 신호 도구로 구분한다.
헷갈리는 지점 대기 중인 프로세스가 여러 개면 어떤 프로세스를 먼저 깨우는지는 스케줄링 정책에 따라 달라진다. 시험에서는 특별한 조건이 없으면 단순히 대기·해제 여부만 판정한다.
프로세스마다 도착시간, CPU 실행시간, 남은시간, 최초 실행시간, 완료시간을 기록한다. 반환시간은 도착부터 완료까지, 응답시간은 도착부터 처음 CPU를 받기까지, 대기시간은 준비 큐에서 기다린 시간이다. I/O 없는 단일 CPU 문제에서는 대기=반환-실행으로 계산한다.
비선점은 실행 중 작업을 완료·자발적 대기 전까지 빼앗지 않고 선점은 더 우선인 작업 도착·시간 할당 만료 등으로 교체한다. FCFS는 도착순, SJF는 현재 준비 작업 중 실행시간 최솟값, SRT는 남은시간 최솟값이다.
| 작업 | 도착 | 실행 | 최초 | 완료 | 반환 | 대기 | 응답 |
|---|---|---|---|---|---|---|---|
| A | 0 | 4 | 0 | 4 | 4 | 0 | 0 |
| B | 1 | 2 | 4 | 6 | 5 | 3 | 3 |
도착2, 최초 실행5, 완료10, 실행4이면 반환·대기·응답은?
8,4,3. 반환10-2, 대기8-4, 응답5-2.
도착·완료·최초 실행을 시간축에서 읽고 공식을 적용한다.
헷갈리는 지점 아직 도착하지 않은 짧은 작업을 SJF가 먼저 실행할 수는 없다.
RR은 준비 큐에서 한 작업을 시간 할당량 q만큼 실행하고 남았으면 뒤에 넣는다. 할당량이 너무 작으면 문맥 교환 비용, 너무 크면 FCFS와 비슷해지는 영향을 살핀다. 같은 시각의 도착과 재삽입은 문제의 큐 처리 조건을 따른다.
HRN은 (대기+서비스)/서비스의 큰 값부터 고르는 비선점 방식으로 오래 기다린 작업의 우선순위가 올라간다. 기아는 낮은 우선 작업이 계속 밀리는 현상이고 에이징은 대기시간에 따라 우선순위를 올리는 해결 기법이다.
HRN에서 대기6·서비스3의 우선순위는?
(6+3)/3=3.
RR은 큐 회전, HRN은 큰 비율 우선, 에이징은 오래 기다린 작업 배려.
헷갈리는 지점 문맥 교환 시간이 0인지 주어졌는지 확인한다. 기아와 교착은 다른 현상이다.
페이지 참조를 왼쪽부터 하나씩 읽으며 프레임에 있으면 적중, 없으면 부재다. 빈 프레임에 처음 올리는 것도 부재다. FIFO는 들어온 순서를, LRU는 마지막 사용 시점을 기록한다. OPT는 미래에 가장 늦게 다시 쓰거나 다시 쓰지 않을 페이지를 내보낸다.
프레임 3개, 참조 1,2,3,1,4,2를 비교한다. FIFO는 두 번째 1에서 들어온 순서를 바꾸지 않지만 LRU는 1을 가장 최근으로 바꾼다. 이 차이가 4가 들어올 때 교체 대상을 바꾼다.
| 참조 | FIFO 프레임 | FIFO 결과 | LRU 프레임 | LRU 결과 |
|---|---|---|---|---|
| 1 | 1,-,- | 부재 | 1,-,- | 부재 |
| 2 | 1,2,- | 부재 | 1,2,- | 부재 |
| 3 | 1,2,3 | 부재 | 1,2,3 | 부재 |
| 1 | 1,2,3 | 적중 | 1,2,3 | 적중(1 최근) |
| 4 | 4,2,3 | 부재(1 교체) | 1,4,3 | 부재(2 교체) |
| 2 | 4,2,3 | 적중 | 1,4,2 | 부재(3 교체) |
위 참조열의 FIFO와 LRU 부재 수는?
FIFO 4회, LRU 5회. LRU가 모든 참조열에서 FIFO보다 좋은 것은 아니다.
FIFO 적중 시 순서 유지 / LRU 적중 시 최근 사용 갱신.
헷갈리는 지점 프레임 수가 증가해도 FIFO는 부재가 증가할 수 있는 Belady 이상이 있다.
페이징은 가상 메모리와 물리 메모리를 같은 크기의 페이지·프레임으로 나눈다. 가상 주소는 페이지 번호와 페이지 내 오프셋으로 나누고 페이지 테이블에서 프레임 번호를 찾는다. 물리 주소는 프레임 번호×페이지 크기+오프셋이다. TLB는 최근 주소 변환 정보를 캐시한다.
세그먼테이션은 코드·데이터 같은 의미 단위로 가변 크기를 할당한다. 내부 단편화는 할당 공간 안의 낭비, 외부 단편화는 공간이 작은 조각으로 흩어져 연속 할당이 어려운 것이다. 스래싱은 페이지 부재·교체가 과도해 실제 작업이 줄어드는 현상이다.
연속 빈 공간이 부족하지만 작은 빈 공간 합은 충분한 상황은?
외부 단편화.
페이징 고정 크기·내부 단편화 / 세그먼트 가변 크기·외부 단편화.
헷갈리는 지점 TLB 미스와 페이지 부재는 다르다. TLB에 없어도 페이지는 메모리에 있을 수 있다.
교착상태는 작업들이 서로 가진 자원을 기다려 더 이상 진행하지 못하는 상태다. 상호배제·점유대기·비선점·환형대기 네 조건이 모두 필요하다. 예방은 조건 하나를 깨는 정책이고 회피는 요청을 승인해도 안전 순서가 남는지 확인한다.
은행가 알고리즘에서 Need=Max-Allocation이다. 가용 자원으로 어떤 작업의 Need를 충족하면 그 작업을 완료시키고 보유 자원을 반환했다고 가정해 다음 작업을 찾는다. 모든 작업 완료 순서를 찾으면 안전하다. 세마포어 wait(P)는 진입 가능 자원을 기다리고 signal(V)은 자원을 돌려주거나 대기 작업을 깨운다.
자원 획득 순서를 통일해 순환 대기를 막는 것은 예방인가 회피인가?
예방. 환형대기 조건을 깨는 정책이다.
안전 상태는 완료 가능한 순서가 존재. 불안전 상태가 즉시 교착이라는 뜻은 아니다.
헷갈리는 지점 뮤텍스와 카운팅 세마포어의 소유·허용 수 차이를 구분한다.
SSTF는 현재 헤드와 가장 가까운 요청을 먼저 처리한다. SCAN은 한 방향으로 디스크 끝까지 갔다가 반대 방향으로 처리하며 LOOK은 그 방향의 마지막 요청에서 돌아온다. C-SCAN은 한 방향 처리 후 반대쪽 끝으로 돌아가고 C-LOOK은 요청 경계 기준으로 순환한다.
파일 권한 r=4,w=2,x=1을 합쳐 소유자·그룹·기타 세 자리로 표시한다. 754는 소유자 rwx, 그룹 r-x, 기타 r--다. RAID 0은 분산 기록, 1은 미러, 5는 분산 패리티 1개 장애 대응, 6은 이중 패리티 2개 장애 대응이다.
권한 640은?
소유자 rw-, 그룹 r--, 기타 ---.
이동량은 인접 방문 위치 차이 절댓값의 합. chmod 754 → rwxr-xr--.
헷갈리는 지점 SCAN과 LOOK의 회전 위치가 다르다. 디스크 끝 번호·방향·복귀 이동 포함 여부를 확인한다.
반환시간은 완료-도착, 대기시간은 반환-CPU 실행시간, 응답시간은 최초 실행 시작-도착이다. SRT는 새 프로세스가 도착할 때 현재 남은 시간과 비교한다. 동률이면 문제의 우선순위 조건을 따른다.
P1(도착0,실행8), P2(도착1,실행2)를 SRT로 실행하면 평균 대기시간은?
1. P1은 0~1, P2는 1~3, P1은 3~10. 대기는 P1=2, P2=0이다.
2026.10.14 재확인: OSTEP CPU 스케줄링
SRT는 최초 실행시간이 아니라 매 시점의 남은 실행시간으로 선택한다.
헷갈리는 지점 응답시간과 반환시간은 다르다. I/O 없이 CPU burst만 있는 계산인지 먼저 확인한다.
모두 유형 연습을 위해 직접 만든 문제입니다. C 예제의 printf·strlen은 필요한 표준 헤더가 포함된 상황을 가정합니다. Java는 표시된 클래스·main 위치에서 실행합니다. 단답은 동의어가 있을 수 있어 자동 판정 대신 자기 채점을 사용합니다.
도착 2, 실행 5, 완료 11인 작업의 대기시간은?
정답 4
반환시간 11-2=9, 대기시간 9-5=4다.
위 개념의 A(0,6),B(1,2),C(2,1) 예에서 평균 대기시간은? 동률은 현재 작업 유지.
정답 4/3
A3,B0,C1이므로 합 4/3. 소수로는 약 1.333이다.
프레임 3개, 처음 비어 있음. 참조 1,2,3,1,4,2의 LRU 부재 횟수는?
정답 5
1,2,3 적재로 3회. 1 적중. 4는 가장 오래 안 쓴 2를 교체해 4회. 다시 2에서 3을 교체해 5회.
같은 참조 1,2,3,1,4,2를 FIFO로 처리하면 부재 횟수는?
정답 4
처음 3회. 1 적중은 순서 변화 없음. 4가 가장 먼저 들어온 1을 교체해 4회. 2는 남아 있어 적중한다.
자원 할당 전 안전 상태인지 검사하는 대표 알고리즘은?
정답 은행가 알고리즘
필요량·가용량으로 모든 작업이 완료 가능한 순서가 있는지 확인한다.
대기 8, 서비스 4인 작업의 HRN 비율은?
정답 3
(8+4)/4=3이다.
초기값 1인 세마포어에 프로세스 A가 wait를 호출해 임계구역에 들어간 뒤, A가 나가기 전에 프로세스 B가 wait를 호출하면 B는 어떤 상태가 되는가?
정답 대기 상태
세마포어 값이 0이 되어 B는 A가 signal을 호출할 때까지 블록된다.
대기 중인 프로세스를 깨우기 위해 세마포어 값을 증가시키는 연산은?
정답 signal(V) 연산
wait(P)는 값을 감소시켜 자원을 점유하고, signal(V)는 값을 증가시켜 반납·대기자를 깨운다.
A,B 모두 도착0, 실행 A5·B3, q=2, 문맥 교환 비용0, A부터 실행한다. 평균 대기시간은?
정답 3.5
A0~2 B2~4 A4~6 B6~7 A7~8. 대기 A3,B4. 평균3.5.
프레임3개, 초기 빈 상태, 참조1,2,3,1,4,2의 FIFO·LRU 부재 수는?
정답 4 / 5
FIFO는 적중1에서 순서 유지해 4에서1교체. LRU는1사용 갱신해2교체, 이후2참조도 부재.
페이지 크기1024, 가상주소2500의 페이지가 프레임5에 있다. 물리주소는?
정답 5572
페이지2, 오프셋452. 5×1024+452=5572.
chmod 754의 소유자·그룹·기타 권한을 쓰시오.
정답 rwx / r-x / r--
7=4+2+1, 5=4+1, 4=읽기.
불안전 상태이면 반드시 이미 교착상태인가?
정답 아니다
안전 순서를 보장할 수 없는 상태이며 실제 교착 발생과는 다르다.
도착0, 최초 실행3, CPU 실행4, 완료10인 프로세스의 응답·반환·대기시간은? I/O는 없다.
정답 3, 10, 6
응답=3-0, 반환=10-0, 대기=10-0-4. 최초 시작까지의 시간만이 대기는 아니다.
P1(도착0,실행8), P2(도착1,실행2). SRT의 평균 대기시간은? 문맥 교환 비용은 0이다.
정답 1
실행 순서는 P1(0~1),P2(1~3),P1(3~10). 대기 2와 0의 평균은 1.
2024년 3회 · 문자열 비교·Python 슬라이싱·LRU·상속·C 연결 구조
2026년 2회 · 구조체·상속·딕셔너리·외부 조인·상관 서브쿼리·SRT·서브넷