컴구&운영체제

그림으로 배우는 구조와 원리 운영체제(구현회) 1장 연습문제 풀이

yejin72 2023. 4. 5. 17:21
728x90

1. 컴퓨터 내부에서 프로세서 메모리 사이의 정보 전송에 사용하는 통로는?
① 버스  ② 레지스터  ③ 블록  ④ 보조기억장치

더보기

정답: ①, 시스템 버스는 프로세서와 메모리 사이뿐만이 아니더라도 모든 컴퓨터의 하드웨어들을 물리적으로 연결하여 서로 데이터를 주고받을 수 있게 하는 통로이다.

 
2. 프로세서에서 사용하는 버스 형태가 아닌 것은?
① 주소 버스  ② 제어 버스  ③ 데이터 버스  ④ 시스템 버스

더보기

정답: ④, 시스템 버스는 데이터 버스, 주소 버스, 제어 버스로 이루어져 있다.

 
3. 목적이 특수한 값 하나를 저장하거나 연산을 처리하다가 중간 값을 저장하는 프로세서에 위치하는 고속 메모리는?
① 버스  ② 레지스터  ③ 메인 메모리  ④ 캐시

더보기

정답: ②

① 버스는 메모리가 아니다.

③ 메인 메모리는 프로세서에 위치하지 않는다.

④ 캐시는 목적이 특수한 값 하나를 저장하거나 연산을 처리하다가 중간 값을 저장하는 용도가 아니다.

 
4. 프로그램 수행을 제어하는 명령어 실행 순서, 즉 다음에 실행할 명령어의 주소를 저장하는 것은?
① 프로그램 카운터(PC)  ② 주소 레지스터(AR)  ③ 누산기(AC)  ④ 명령어 레지스터(IR)

더보기

정답: ①

주소 레지스터는 메모리의 주소를 저장한다.

③ 누산기는 데이터를 임시적으로 저장한다.

④ 명령어 레지스터는 현재 실행하는 명령어의 정보를 저장한다.

 
5. 캐시는 메인 메모리의 접근시간과 프로세서의 어떤 것 사이의 차이를 줄이는 데 사용하는가?
① 지연시간  ② 설정시간  ③ 구조  ④ 속도

더보기

정답: ④, 상대적으로 속도가 빠른 프로세서와 느린 메인 메모리의 속도 차이를 줄이기 위해 캐시를 사용한다.

 
6. 다음 중 OPcode의 기능이 아닌 것은?
① 주소 지정  ② 함수 연산  ③ 전달  ④ 제어

더보기

정답: ①, 찾고자 하는 데이터의 주소를 지정하는 것은 오퍼랜드의 기능에 해당한다.

 
7. 인터럽트가 발생할 때 운영체제가 가장 먼저 하는 일은?
① 인터럽트 처리
② 인터럽트 발생 지점으로 복귀  
③ 인터럽트 서비스 루틴으로 제어 이동  
④ 현재까지 모든 프로그램 상태 저장

더보기

정답: ④, 인터럽트 요청 신호 -> 실행 중인 프로그램을 멈춘 후 상태코드를 스택 영역에 저장(④) -> PC에 인터럽트 처리 시스템의 시작 위치 저장(③) -> 인터럽트 처리(①) -> 인터럽트 발생 지점으로 복귀(②)

 
8. 인터럽트를 처리하는 순서를 올바르게 나열한 것은?

a. 운영체제가 제어권을 받는다.
b. 인터럽트 처리 루틴이 인터럽트를 처리한다.
c. 인터럽트를 받은 프로세스의 상태를 저장한다.
d. 인터럽트에 걸린 프로세스의 상태를 복구한다.

① a - c - b - d
② b - c - a - d 
③ c - b - d - a
④ c - b - a - d

더보기

정답: ①, 운영체제가 제어권을 받은 후, 현재까지 실행중이던 프로세스는 중지시킨 후 상태코드를 스택 영역에 저장한다. 이후 인터럽트 처리 루틴에 따라 인터럽트를 처리한 후에 중지시켰던 프로세스의 상태를 복구시켜야 한다.

 
9. 인터럽트를 잘못 설명한 것은?
① 프로세서가 명령어를 수행하고 있을 때 다른 작업을 처리하려고 수행을 강제로 중단시키는 사건이다.
② 인터럽트가 발생하면 복귀 주소는 시스템 큐에 저장한다.
③ 인터럽트가 발생하면 해당 인터럽트 처리 루틴으로 가서 해당 루틴을 처리한 후 중단됐던 프로그램의 원래 지점으로 되돌아온다.
④ 입출력 하드웨어가 입출력 인터럽트를 발생시킨다.

더보기

정답: ②, 인터럽트 발생 시 복귀 주소는 메모리의 스택 영역에 저장한다.

 
10. 프로세서가 명령어를 수행하는 순서는?

ⓐ 인터럽트 조사
ⓑ 명령어 해석
ⓒ 명령어 인출
ⓓ 피연산자 인출
ⓔ 명령어 실행

ⓒ-ⓐ-ⓑ-ⓓ-
ⓒ-ⓑ-ⓓ-ⓔ-
ⓑ-ⓒ-ⓓ-ⓔ-
ⓓ-ⓒ-ⓑ-ⓔ-

더보기

정답: ②, 명령어 인출 -> 명령어 해석 및 프로그램 카운터 증가 -> 피연산자 인출 -> 명령어 실행의 과정을 거친다. 인터럽트 조사는 명령어 인출 이전 혹은 명령어 실행 과정이 끝난 후에 실행한다.

 
11. 명령어 실행 주기(사이클)에 해당하지 않는 것은?
① 인출 사이클
② 간접 사이클
③ 해석 사이클
④ 실행 사이클

더보기

정답: ③, 명령어 실행 주기(사이클)에는 인출, 실행, 간접, 인터럽트 사이클이 존재한다.

 
12. 하드웨어로 실현되는 서브루틴의 호출이라고 볼 수 있는 것은?
① 인출 사이클
② 간접 사이클
③ 실행 사이클
④ 인터럽트 사이클

더보기

정답: ④, 인터럽트 사이클이 서브루틴 호출과는 달리 인터럽트 내용이 현재 실행되던 프로그램과 전혀 관련이 없을 수도 있다는 점을 제외하고는 두 개의 실행 방식이 같다.

 
13. 인출 사이클의 첫 레지스터 동작은?
① MAR <- PC
② AC <- AC + MBR
③ MAR <- MBR
④ IR <- MBR

더보기

정답: ①, 인출 사이클은 MAR <- PC, MBR <- MEMORY, AC <- AC+1, IR <- MBR의 순서를 따른다.

 
14. 메모리에서 명령어를 읽어 프로세서로 가져오는 상태는?
① 인터럽트 상태
② 간접 상태
③ 실행 상태
④ 인출 상태

더보기

정답: ④

① 인터럽트 상태란 프로그램 실행 도중 특별한 이벤트나 입출력 작업을 요구받은 상태이다.

② 간접 상태란 오퍼랜드에 저장된 주소가 간접 주소이기 때문에 주소를 한 번 더 참조해야 하는 상태이다.

③ 실행 상태란 인출한 명령어를 연산하고 해석하고 있는 상태이다.

 
15. 프로그램의 명령어 수행 중에 산술 및 논리 연산의 결과를 일시적으로 기억하는 레지스터는?
① 프로그램 카운터(PC)
② 주소 레지스터(AR)
③ 누산기(AC)
④ 명령어 레지스터(IR)

더보기

정답: ③

① 프로그램 카운터는 다음에 실행할 명령어의 주소를 저장하고 있는 레지스터이다.

② 주소 레지스터는 필요한 주소 정보의 일부분을 저장하고 있는 레지스터이다.

④ 명령어 레지스터는 현재 실행하는 명령어의 정보를 저장하고 있는 레지스터이다.

 
16. 인터럽트 우선순위를 결정하는 polling 방법에 대한 설명으로 옳지 않은 것은?
① 많은 인터럽트가 발생할 때 처리 시간 및 반응시간이 매우 빠르다.
② S/W적으로 CPU가 각 장치를 하나씩 차례로 조사하는 방법이다.
③ 조사 순위가 우선순위가 된다.
④ 모든 인터럽트의 공통 서비스 루틴이 있다.

더보기

정답: ①, 많은 인터럽트가 발생할 때 처리 시간 및 반응시간은 매우 느리다.

 
 
 
 

728x90