본문 바로가기
컴퓨터과학[3-1]/[3-1]운영체제

운영체제 - 2016 중간시험 자료 및 예상문제

by boolean 2016. 4. 7.
728x90

운영체제 - 2016 중간시험 자료 및 예상문제

1. 일체형 커널과 마이크로 커널을 비교하며 설명하라.

  • 일체형 커널
  • 모든 운영체제의 요소가 커널 내부에 포함된다. 그러므로 운영체제 서비스들이 공유 메모리를 이용하여 서로 효율적으로 상호 작용할 수 있는 구조이다.
  • 마이크로 커널
  • 마이크로 커널은 커널 내부에는 메모리 관리, 멀티태스킹, 프로세스간 통신(IPC) 등의 최소한의 요소들만 남겨놓고 대부분의 요소들을 커널 외부의 서버로 분리한 구조로서, 새로운 서비스를 추가하여 운영체제를 확장하기 쉽고 유지보수가 용이하며 안정성이 우수하다는 장점을 갖는다.

    2. 운영체제를 구성하는 4개의 서브시스템에 관하여 기술하라.

  • 프로세스 관리자
  • 프로세스를 생서, 삭제 , CPU 할당을 위한 스케줄 결정, 프로세스의 상태를 관리하며 상태 전이를 처리
  • 메모리 관리자
  • 메모리 공간에 대한 요구의 유효성 체크, 메모리 할당 및 회수와 메모리 공간 보호.
  • 장치 관리자
  • 컴퓨터 시스텡의 모든 장치를 할당, 작동 시작, 반환.
  • 파일 관리자
  • 컴퓨터 시스템의 포든 파일을 관리, 파일의 접근제한 관리, 파일을 열어 자원을 할당하거나 파일을 닫아 자원을 회수.


    3. 프로세스의 다섯 가지 상태와 이들 사이의변화를 그림으로 설명하라.




    4. 선점 스케줄링 정책과 바선점 스케줄링 정책을 바교하며 설명하라.

  • 선점(Impreemptive) 스케줄링 정책
  • - 진행 중인 프로세스에 인터럽트를 걸고 다른 프로세스에 CPU를 할당하는 전략.
    - 높은 우선순위의 프로세스를 긴급하게 처리하는 경우에 유용.
    - 대화식 시분할 시스템에서 빠른 응답시간을 유지하는데 유용.
    - 문맥교환에 따른 오버헤드 발생.
  • 비선점(Nonimpreemptive) 스케줄링 정책
  • -프로세스가 CPU를 할당받아 실행이 시작되면 작업 자체가 I/O 인터럽트를 걸거나 종료할 때까지 실행상태에 있게됨.
    - 모든 프로세스가 공정하게 순서에 따라 실행하게 됨 --> 응답시간 예측가능.
    - 짧은 프로세스가 긴 프로세스를 기다리게 될 수 있음.

    5. FCFS, SJF, SRT, RR(시간할당량 2) 스케줄링 알고리즘 각각에 대해 다음 질문에 다하라

    알고리즘을 설명하라,

  • FCFS
  • 먼저 입력된 프로세스를 먼저 처리한다.(비선점)
  • SJF
  • 가장 짧은 실행시간을 갖은 프로세스를 먼저 처리한다.(비선점)
  • SRT
  • 가장 짧은 실행시간이 남은 프로세스를 먼저 처라한다.(선점)
  • RR(시간 할당량 = 2)
  • 할당시간 만큼만 실행하고 준비한다.(선점)

    프로세스별 도착시간과 실행시간이 표와 같을 때, 프로세스가 실행되는 순서를 그림으로 표시하라.

    도착시간 0 0 2 5
    프로세스 A B C D
    CPU 사이클 4 5 1 2
  • FCFS


  • SJF


  • SRT


  • RR(시간 할당량 = 2)


  • (다) (나)의 결과에 따른 평균 대기시간과 평균 반환시간을 계산하여라.

  • FCFS
  • 평균 대기시간 :


    평균 반환시간:


  • SJF
  • 평균 대기시간 :


    평균 반환시간:


  • SRT
  • 평균 대기시간 :


    평균 반환시간:


  • RR(시간 할당량 = 2)
  • 평균 대기시간 :


    평균 반환시간:


    6. 임계영역의 개념과 임계영역에서 프로세스 간에 상호배제가 필요한 이유를 예를 들어 설명하라.


  • 임계영역
  • 2개 이상의 프로세스가 동시에 액세스하면 안 되는 공유 자원을 액세스하는 코드 영역
  • 프로세스 간에 상호 배제가 필요한 이유
  • 예금통장:

    입급과 출금이 동시에 이루어질경우 서로 다른 프로세스에서 연산하는 시간동안에 변동되어지는 값들이 동기화가 이루어지지 않을경우 발생하는 치명적인 오류를 방지하기위해 프로세스들 간의 상호배제는 꼭 이루어져야 한다

    입금과 출금을 서로 다른 프로세스로 놓고 설명하면 된다.



    댓글