[운영체제/연습문제] 2장 컴퓨터 시스템과 운영체제
1 • 컴퓨터 시스템에서 주소를 발생시킬 수 있는 하드웨어를 있는 대로 골라라?
① CPU
2. CPU의 주소 선이 총 24개 있다면 이 CPU7^ 액세스할 수 있는 메모리의 최대 크기는?
② 16MB
3. 캐시 메모리가 있는 컴퓨터에서 CPU가 실행할 명령어와 코드가 반드시 있어야 하는 곳은?
① 캐시 메모리
4. 다음 CPU 레지스터 속에 저장된 값의 의미는 무엇인가?
(1) PC 레지스터 - 다음에 실행할 명령의 메모리 주소
(2) IR 레지스터 - 현재 실행중인 명령어
(3) SP 레지스터 - 스택의 톱 주소
5. 현재 실행 중인 프로그램에 관한 일체의 실행 상황 정보를 무엇이라고 하는가?
④컨텍스트
6. 컨텍스트스위칭이란?
① 현재 실행중인 프로그램을 중단시키고 CPU에게 다른 프로그램을 실행시키는 행위
7. 운영체제가 지원하는 서비스를 응용프로그램이 활용할 수 있도록 해주는 소프트웨어 인터페이스를 무엇이라고 부르는가?
① 시스템 호출
8. 다음 중 운영체제의 목적이 아닌 것은?
③ 컴퓨터에 장착된 여러 개의 CPU를 다 활용하지 않고 최소 개수의 CPU로 프로그램을 실행시켜 CPU를 아껴 사 용할 수 있도록 한다.
9. 운영체제를 구성하는 요소가 아닌 것은?
④ 컴파일러
10. 디바이스 드라이버에 대한 설명 중 틀린 것은?
① 디바이스 드라이버는 호환성이 뛰어나서 Windows에서 작성된 마우스 드라이버를 리눅스에도 사용할 수 있다.
11. 메모리 공간을 사용자 공간과 커널 공간으로 나누는 이유는?
① 응용프로그램이 적재되는 공간과 커널 코드와 데이터가 적재되는 공간을 분리하여 커널 공간에 대한 응용프로 그램의 직접 접근을 막아 보호하기 위해
12. 사용자 공간과 커널 공간에 대해 말한 것 중 틀린 것은?
④ 응용프로그램이 커널 공간에 쓰는 것은 금지되지만 읽는 것은 허용된다.
13. 응용프로그램이커널에 작성된 코드를 활용할 수 있는 방법은 무엇인가?
① 시스템호출
14. 사용자 모드와 커널 모드에 대한 설명 중 틀린 것은?
③ 사용자 모드에서는 커널 코드 중 허용된 부분의 코드만 액세스할 수 있다.
15. 다음은 무엇에 대한 설명인가? 입출력 장치나 타이머, 인터럽트 처리 시스템 중단 등 사용자 모드에서는 사용할 수 없고 커널 모드에서 사용할 수 있는 특별한 CPU 기계 명령
③ 특권명령
16. 특권 명령이 사용되는 경우가 아닌 것은?
④ 시스템 호출 명령
17. 다음 중 같지않는 용어는?
② 감독자호출
18. C 프로그램에서 printf(“hello”)의 실행에 대해 잘못 설명한 것은?
③ printf()는 직접 디스플레이에 출력하는 함수이다.
19. 인터럽트에 대한 설명 중 틀린 것은?
① 인터럽트가 발생하면 CPU의 실행 모드를 굳이 커널 모드로 변경할 필요 없이 현재 모드에서 인터럽트 서비스 루틴이 실행된다.
20. 운영체제의 커널 코드를 장치와 무관하게 개발할 수 있도록 하는 것은 어느 요소의 역할인가?
③ 디바이스 드라이버
21. 응용프로그램을 운영체제와 무관하게 작성할 수 있도록 하는 것은 어느 요소의 역할인가?
① 표준 라이브러리
22. 시스템 호출에 대해 잘못 설명한 것은?
③ 응용프로그램은 시스템 호출을 통해 커널 프로세스에게 커널 코드를 실행해 줄 것을 요청한다
23. 시스템 호출에 대해 잘못 설명한 것은?
④ 시스템 호출은 커널 코드를 실행시키기 때문에 응용프로그램 개발자의 입장에서 프로그램의 실행 속도를 높이 는 매우 좋은 방법이다.
24. 표준 라이브러리 함수와 시스템 호출 함수들에 대한 설명으로 틀린 것은?
④ 응용프로그램 개발 시 표준 라이브러리 함수보다 시스템 호출 함수를 사용하면 응용프로그램의 실행 속도를 높일 수 있다.
※ 특권 명령 - 커널 모드에서 실행되어야 하는가 따라서 시스템 호출은 특권 명령이 아님
※ 인터럽트를 통해 CPU 활용률 높일 수 있음
※ 디바이스 드라이버는 커널코드와 무관하게 장치 제작자에 의해 작성되어 커널 공간에 존재