serversim
학습시뮬레이터템플릿가격
…
…
메뉴 열기
학습↗시뮬레이터↗템플릿↗가격↗
내 Documents문서
전체 목차/4장/4.223 / 40

4.2 · 회로와 CPU

CPU는 할 일이 없을 때 무엇을 할까?

실행할 프로그램이 없으면 CPU는 정말 아무것도 하지 않을까요?

운영 체제는 실행 가능한 스레드가 없을 때 유휴 스레드를 선택하고 CPU를 저전력 대기 상태로 보낼 수 있습니다.

먼저 생활 비유

벨을 기다리는 안내 데스크

계속 복도를 뛰어다니며 손님을 찾지 않고, 자리에 앉아 벨이 울리면 깨어납니다.

컴퓨터 예제로 바꾸기

빈 실행 대기열

if (readyQueue.empty()) cpu.halt();

인터럽트가 도착하면 CPU가 깨어나 커널의 처리 코드로 이동합니다.

직접 움직여 보기1 / 5

지금 일어나는 변화

준비 대기열 확인

스케줄러가 실행 가능한 스레드를 찾습니다.

신호와 실행 장치준비 대기열 확인단계 1대기열 비어 있음단계 2유휴 스레드단계 3저전력 대기단계 4인터럽트단계 5실행할 일현재: 준비 대기열 확인

이 그림에서 기억할 한 문장

유휴 상태도 운영 체제가 선택한 상태이며 인터럽트가 새로운 일을 알려줍니다.

현재 상태

이동하는 것
실행할 일
현재 위치
준비 대기열 확인
다음 위치
대기열 비어 있음

30초 확인 문제

저전력 대기 중 CPU를 깨우는 대표적인 것은?

처음 보는 용어 두 개

유휴 스레드
실행 가능한 일반 작업이 없을 때 선택되는 커널 흐름
인터럽트
현재 흐름을 잠시 멈추고 특별 처리를 시작하게 하는 하드웨어 신호

이 절을 다 읽었다면

유휴 상태도 운영 체제가 선택한 상태이며 인터럽트가 새로운 일을 알려줍니다.

← 이전 절

4.1 작은 스위치로 CPU를 만들 수 있을까?

다음 절 →

4.3 CPU는 음수를 어떻게 표현할까?