티스토리 뷰

일반 학생이 푼 문제로 정답이 아닐 수 있습니다. (명품 운영체제 수정판)
개념체크

  1. 컴퓨터 시스템에서 주소를 발생시킬 수 있는 하드웨어를 있는 대로 골라라?
    ① CPU
    해설: 주소를 발생시키는 것은 CPU가 유일하며, 나머지는 발생된 주소에 대한 응답을 한다. (p.67)
  1. CPU의 주소 선이 총 24개 있다면 이 CPU가 액세스할 수 있는 메모리의 최대 크기는?
    ② 16MB
    해설: 2^24 Byte = 2^4*2^20 Byte = 2^4 MB = 16 MB
  1. 캐시 메모리가 있는 컴퓨터에서 CPU가 실행할 명령어와 코드가 반드시 있어야 하는 곳은?
    ① 캐시 메모리
    해설: 캐시메모리에 값이 없다면 캐시로 불러와야 한다. 없는 경우엔 캐시 미스를 발생시킨다.
  1. 다음 CPU 레지스터 속에 저장된 값의 의미는 무엇인가?
    (1) PC 레지스터: 다음에 실행할 기계 명령의 메모리 주소
    (2) IR 레지스터: 메모리에서 읽어온 명령들이 저장된 레지스터
    (3) SR 레지스터: 스택 영역의 꼬대기 주소를 가르킨다.
    해설: p.73
  1. 현재 실행 중인 프로그램에관한 일체의 실행 상황 정보를 무엇이라고 하는가?
    ④ 컨텍스트
    해설: p.76
    ①: 후입선출의 자료구조이다. 운영체제와는 관련없으며 스택 공간이라는 개념이 존재한다.
    ②: 부운영체제의 핵심적인 기능을 실행하는 코드와 이들을 관리하기 위해 필요한 여러 자료 구조의 집합
    ③: 디스크에 저장된 프로그램이 메모리에 적재되어 실행된 것
  1. 컨텍스트 스위칭이란?
    ① 현재 실행중인 프로그램을 중단시키고 CPU에게 다른 프로그램을 실행시키는 행위
    해설: p.77
  1. 운영체제가 지원하는 서비스를 응용프로그램이 활용할 수 있도록 해주는 소프르웨어 인터페이스를 무엇이라고 부르는가?
    ① 시스템 호출
    해설: p.104
  1. 다음 중 운영체제의 목적이 아닌 것은?
    ③ 컴퓨터에 장착된 여러 개의 CPU를 다 활용하지 않고 최소 개수의 CPU로 프로그램을 실행시켜 CPU를 아껴 사용할 수 있다.
    해설: 운영체제 자체가 자원을 최대한 효율적으로 사용하기 위함인데(최상위 목표는 아닐 수 있다.), 최소 개수 CPU를 이용하여 자원을 낭비할 필요가 없다.
  1. 운영체제를 구성하는 요소가 아닌 것은?
    ④ 컴파일러
    해설: 컴파일러는 응용프로그램이다.
  1. 디바이스 드라이버에 대한 설명 중 틀린 것은?
    ① 디바이스 드라이버는 호환성이 뛰어나서 Windows에서 작성된 마우스 드라이버를 리눅스에도 사용할 수 있다.
    해설: 디바이스 드라이버는 컴퓨터의 입출력에 관여하기에 운영체제의 종류마다 모두 다르게 작성된다.(호환성이 낮다.)
  1. 메모리 공간을 사용자 공간과 커널 공간으로 나누는 이유는?
    ① 응용프로그램이 적재되는 공간과 커널 코드와 데이터가 적재되는 공간을 분리하여 커널 공간에 대한 응용 프로그램의 직접 접근을 막아 보호하기 위해
    해설:
    ②: 사용자 공간과 커널 공간은 고정되어있다.
    ③: 관련없다.
    ④: 관련없다.
  1. 사용자 공간과 커널 공간에 대해 말한 것 중 틀린 것은?
    ④ 응용프로그램이 커널 공간에 쓰는 것은 금지되지만 읽는 것은 허용된다.
    해설: 공간을 분리한 이유는 사용자 응용프로그램이 실수로 혹은 악의적인 개발자가 고의적으로 커널 코드와 데이터를 훔쳐보거나 훼손하는 것을 막기 위해서이다.
  1. 응용프로그램이 커널에 작성된 코드를 활용할 수 있는 방법은 무엇인가?
    ① 시스템 호출
    해설: 응용프로그램은 시스템 호출로만 응용프로그램을 접근할 수 있다. 다른 방법은 존재하지 않다.
  1. 사용자 모드와 커널 모드에 대한 설명 중 틀린 것은?
    ③ 사용자 모드에서는 커널 코드 중 허용된 부분의 코드만 액세스 할 수 있다.
    해설: 사용자 모드에서 프로그램은 사용자 공간만 접근할 수 있고 커널 공간은 접근할 수 없다.
  1. 다음은 무엇에 대한 설명인가?
    입출력 장치나 타이머, 인터럽트 처리, 시스템 중단 등 사용자 모드에서는 사용할 수 없고 커널 모드에서 사용할 수 있는 특별한 CPU 기계 명령
    ③ 특권 명령
    해설: p.95
  1. 특권 명령이 사용되는 경우가 아닌 것은?
    ④ 시스템 호출 명령
    해설: 시스템 호출을 일으키는 명령은 특권 명령이 아니다. (p.95)
  1. 다음 중 같지 않는 용어는?
    ② 감독자 호출
    해설: Superviesor Call Instruction이 존재하긴 하나, ②의 용어가 같지 않음
  1. C 프로그램에서 printf("hello")의 실행에 대해 잘못 설명한 것은?
    ③ printf()는 직접 디스플레이에 출력하는 함수이다.
    해설: 직접 디스플레이에 출력하는 것은 특권명령의 역할이다. printf()는 시스템 호출 라이브러리의 write()에 시스템 호출을 요청하며, 이 조차 디스플레이에 직접 출력하지는 않는다.
  1. 인터럽트에 대한 설명중 틀린 것은?
    ① 인터럽트가 발생하면 CPU의 실행 모드를 굳이 커널 모드로 변경할 필요 없이 현재 모드에서 인터럽트 서비스 루틴이 실행된다.
    해설: 인터럽트가 발생하면 CPU의 실행모드는 커널모드로 변경된다.
  1. 운영체제의 커널 코드를 장치와 무관하게 개발할 수 있도록 하는 것은 어느 요소의 역할인가?
    ③ 디바이스 드라이버
    해설: p.86
  1. 응용프로그램을 운영체제와 무관하게 작성할 수 있도록 하는 것은 어느 요소의 역할인가?
    ① 표준 라이브러리
    해설: p.100
    ② 시스템 호출 라이브러리는 운영체제를 만든 제조사에서 제공해주는 라이브러리다.
  1. 시스템 호출에 대해 잘못 설명한 것은?
    ③ 응용프로그램은 시스템 호출을 통해 커널 프로세스에게 커널 코드를 실행해 줄 것을 요청한다.
    해설: 커널은 프로세스가 아닌 여러 실행 코드와 자료구조의 집합니다.
  1. 시스템 호출에 대해 잘못 설명한 것은?
    ④ 시스템 호출은 커널 코드를 실행시키기 때문에 응용프로그램 개발자의 입장에서 프로그램의 실행 속도를 높이는 매우 좋은 방법이다.
    해설: 함수 호출에 비해 시스템 호출은 진입하는데 추가적인 시간 비용이 존재하기에 프로그램의 실행 속도를 높이기 위해선 최대한 적게 사용해야 한다.
  1. 표준 라이브러리 함수와 시스템 호출 함수들에 대한 설명으로 틀린 것은?
    ④ 응용프로그램 개발 시 표준 라이브러리 함수보다 시스템 호출 함수를 사용하면 응용프로그램의 실행 속도를 높일 수 있다.
    해설: 표준 라이브러리 함수는 시스템 호출 함수 사용을 최대한 지연 시키기 때문에 응용프로그램의 실행 속도를 높일 수 있다.
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함