운영체제 문제풀이 복습

yoongyum·2022년 7월 15일
0

CS 공부

목록 보기
1/4
post-thumbnail

1. 운영체제에 대한 일반적인 설명으로 틀린 것은?

  • 5/5
    하드웨어를 제어하기 위한 소프트웨어
    하드웨어 시스템 자원을 관리하는 관리자
    사용자로부터 명령을 받아 그것을 해석하는 프로그램
    응용 프로그램이 필요로하는 시스템 자원을 제공하는 소프트웨어

사용자로부터 명령을 받아 그것을 해석하는 것은 커널이다.


2. 운영체제가 하드웨어 시스템 자원을 관리해야 하는 이유가 아닌 것은?

  • 5/5
    응용 프로그램이 Storage에 있는 데이터를 함부로 삭제하거나, 수정할 수 있기 때문
    응용 프로그램이 함부로 컴퓨터 자체를 다운시키지 못하도록 하기 위함
    특정 응용 프로그램이 하드웨어 자원을 독점해서 사용하는 것을 막기 위함
    특별한 권한이 없는 응용 프로그램도 마음껏 하드웨어 자원을 사용할 수 있도록 하기 위함

특별한 권한이 없는 응용 프로그램도 마음껏 하드웨어 자원을 사용할 수 없도록 한다.
함부로 응용프로그램이 전체 컴퓨터시스템을 망가뜨리지 못하도록 설계


3. 운영체제 기능으로 알맞지 않은 것은?

  • 5/5
    여러 응용 프로그램 중 특정 시간에 어떤 응용 프로그램을 실행시킬지를 관리한다.
    한번에 여러 응용 프로그램을 실행시킬 수 있도록 한다.
    응용 프로그램을 사용하는 사용자를 관리한다.
    Instruction set을 제공한다.

Instruction set을 제공한는 것은 ㅌㅌ다


4. CPU Protection Rings 에 대한 설명으로 알맞지 않은 것은?

  • 5/5
    인텔 CPU 에서 CPU Protection Rings은 Ring 0, Ring 1, Ring 2, Ring 3 이 있다.
    통상적으로 Ring 3 을 사용자 모드, Ring 0을 커널 모드로 사용한다.
    커널 모드에서는 특권 명령어를 실행하는데 사용한다.
    사용자 모드는 운영체제 커널이 주로 사용하는 모드이다.

사용자 모드: 응용 프로그램이 CPU를 쓸 때 사용하는 모드
커널 모드: OS가 CPU를 쓸때 사용하는 모드
이미지 출처 https://en.wikipedia.org/wiki/Protection_ring


5. 시스템 콜에 대한 설명으로 알맞지 않은 것은?

  • 0/5
    어느 운영체제나 시스템 콜은 동일하다.
    운영체제는 다양한 시스템 콜을 제공한다.
    응용 프로그램이 운영체제에 시스템 자원을 요청할 때 사용할 수 있다.

운영체제마다 시스템 콜이 다르다.


6. 응용 프로그램, 라이브러리, 시스템 콜에 대한 설명으로 알맞은 것은?

  • 5/5
    일반적으로 라이브러리는 운영체제가 사용한다.
    응용 프로그램은 라이브러리를 사용하고, 라이브러리에는 시스템 자원이 필요한 코드인 경우, 내부적으로 시스템 콜을 호출한다.
    응용 프로그램은 시스템 콜을 제공한다.
    운영체제는 반드시 라이브러리를 통해서만 시스템 자원을 요청할 수 있도록 설계되어 있다.

시스템 콜은 운영체제가 제공한다.
일반적으로 라이브러리는 응용프로그램이 사용한다.


7. 멀티 태스킹에 대한 설명으로 알맞지 않은 것은?

  • 5/5
    멀티 태스킹은 배치 프로세싱과는 달리 여러 프로그램이 동시에 실행되는 것처럼 보일 수 있다는 장점을 가지고 있다.
    멀티 태스킹 기술은 컴퓨터를 사용해서 음악을 들으면서 문서를 작성할 수 있도록 하는 일을 가능하게 한다.
    특정 응용 프로그램의 실행시간이 오래 걸릴 경우, 다른 응용 프로그램은 그만큼의 시간을 기다려야 하는 단점을 가지고 있다.

배치 처리 시스템: 어떤 프로그램이 실행시간이 오래걸리면, 다른 프로그램은 기다려야한다.
멀티테스킹: 단일 CPU에서 여러 응용프로그램이 동시에 실행되는 것처럼 보이도록 함
정해진 시간동안 각각의 TASK를 번갈아 가며 수행한다.


8. 운영체제 스케쥴러와 관련된 설명으로 알맞지 않은 것은?

  • 5/5
    스케쥴러에서 실행되는 프로세스는 일반적으로 프로세스 상태 정보를 가지고 있다.
    하나의 응용 프로그램은 하나의 프로세스로만 구성되어 있으므로, 스케쥴러는 응용 프로그램을 단위로 실행을 제어한다.
    대표적인 프로세스 상태 정보로는 running, ready, block 등을 들 수 있다.
    스케쥴러는 멀티 태스킹등을 지원하기 위한 핵심 운영체제 기술이다.

스케줄링이란, CPU를 프로그램들에게 할당하는 과정
하나의 프로그램에 여러개의 프로세스로 구성될 수 있다.


9. 다음 그림을 보고, 프로세스 상태에 대한 설명으로 알맞지 않은 것은?

  • 5/5
    실행(running) 상태에 있는 프로세스는 프로세스 실행이 끝날때까지 계속 CPU에서 실행이 된다.
    준비(ready) 상태는 프로세스가 CPU에서 실행이 가능한 상태를 의미한다.
    블록(block) 상태는 프로세스가 CPU에서 실행이 현재는 가능하지 않은 상태를 의미한다.
    실행(running) 상태는 현재 프로세스가 CPU에서 실행이 되고 있는 상태를 의미한다.

Running: CPU를 쓰고 있는 상태
중간에 다른 상태로 바뀔 수 있다.


10. 다음 그림은 Round Robin 스케쥴러 정책을 설명한 것입니다. 알맞은 설명은?

  • 5/5
    각 프로세스는 우선순위에 따라서 실행 순서가 정해진다.
    P1, P2, P3라는 프로세스가 순서대로 각 프로세스의 실행이 끝날 때까지 한번씩만 실행이 된다.
    P1, P2, P3라는 프로세스가 순서대로 실행이 요청되면 실행 순서는 P1, P2, P3, P1, P2, P3 와 같은 형태로 동일한 실행순서를 가지는 것이 일반적이다.

라운드 로빈 스케줄링

  • 선점 스케줄링
  • 준비 큐에 도착한 순으로 디스패치하되, 정해진 시간 할당량에 의해 실행
  • 할당받은 시간안에 완료 못할 경우, 준비큐의 맨뒤로 보냄
  • CPU를 공평하게 사용

11. 우선순위 기반 스케쥴러에 대한 설명으로 알맞지 않은 것은?

  • 5/5
    정적 우선순위 기반 스케쥴러는 프로세스의 우선순위가 미리 정해져있다.
    동적 우선순위 기반 스케쥴러는 프로세스의 우선순위가 바뀔 수 있다.
    우선순위가 높은 프로세스를 먼저 실행한다.
    여러 프로세스에게 가급적 동일한 CPU 실행시간 배분을 위해 고안되었다.

동일한 시간 배분은 라운드로빈 기법이다.


12. 다음중 스케쥴링 기법에 대한 설명으로 알맞지 않은 것은?

  • 0/5
    멀티 프로세싱: 여러 CPU에서 하나의 응용 프로그램을 병렬로 실행해서, 실행속도를 높이는 기법
    멀티 프로그래밍: 여러 CPU에서 하나의 응용 프로그램을 병렬로 실행해서, 실행속도를 높이는 기법
    멀티 태스킹: 단일 CPU에서 여러 응용 프로그램을 동시에 실행하는 것처럼 보이게 하는 시스템
    시분할 시스템: 다중 사용자 지원, 컴퓨터 응답시간을 최소화하는 시스템
    멀티 프로그래밍: 여러 CPU에서 하나의 응용 프로그램을 병렬로 실행해서, 실행속도를 높이는 기법

멀티 프로그래밍은 하나의 프로세서가 하나의 프로세스를 수행하는 동안 다른 프로세스에 접근

0개의 댓글