운영체제 6주차
ch.3 연습문제
1.비선점 스케줄링에 해당하지 않는 것은?
비선점 FIFO,SJF,HRN
선점 SRT,RR,MFQ
- PCB에 포함되는 정보가 아닌 것은?
프로세스의 현 상태
프로세스의 우선순위
프로세스 고유 구별자
<>파일 할당 테이블(FAT)
파일할당 테이블
운영체제가 프로세스를 제어하기 위해 만들어 놓은 곳으로, 프로세스 상태 정보 저장
프로세스 상태관리와 문맥교환을 위해 필요
- HRN방식으로 스케줄링 할 때, 입력된 작업으로 우선순위가 가장 높은 작업은?
우선순위=대기시간+서비스시간/서비스시간
*HRN방식
SRT의 큰 작업이 시간이 많이 걸리는 방식 보완
우선순위가 높을수록 먼저 처리
- 다중 프로그래밍 시스템에서 운영체제로 중앙처리 장치가 할당되는 프로세스를 변경하고 현재 중앙 처리 장치를 사용하여 실행되는 프로세스의 상태 정보를 저장하고, 앞으로 실행될 프로세스의 상태 정보를 설정한 다음에 중앙처리 장치를 할당하여 실행이 되게 한 작업?
문맥교환
=>다중프로그래밍+인터럽트
-
프로세스 스케줄링 기법 중 라운드 로빈 기법의 설명으로 옳지 않은 것은?
비선점형 기법이다.
o
시간할당량이 너무 커지면, FCFS와 비슷하게 된다.
시간할당량이 너무 작아지면, 오버헤드가 커지게 된다.
interactive 시스템(선점형)에 많이 사용된다. -
비선점형 CPU 스케줄링 기법에 해당하는 것만으로 짝지어진 것은?
비선점 SFJ,FIFO,HRN
선점 MRQ,SRT,RR -
태스크 스케줄링 방법 중 라운드 로빈 방식의 설명으로 옳지 않은 것은?
RR스케줄링은 주어진 시간 할당량 안에 작업을 마치지 않으면 타임슬라이스의 가장 뒤로 배치되는 기법
x
SJF 스케줄링은 남아있는x 실행시간의 추정치가 가장 작은 작업을 먼저 실행시키며, 언제라도 실행중인 작업이 강제로 실행을 멈출 수 있는 선점 기법
o
HRN 스케줄링은 그 작업이 서비스 받을 시간과 그 작업이 서비스를 기다린 시간으로 결정되는 우선순위에 따라 CPU를 할당한다.
기한부 스케줄링은 제한된 시간 내에 반드시 작업이 완료되게 스케줄링하는 기법이다. -
프로세스 제어 블록의 설명으로 옳지 않은 것은?
프로세스에 할당된 자원의 정보를 갖고있따
프로세스의 우선순위의 정보를 갖고있다
프로세스의 현상태를 알 수 있다.
부모 프로세스와 자식 프로세스는 PCB 공유x -
라운드 로빈 스케줄링의 설명으로 옳지 않은것은?
선점 방식이다.
시간 할당량이 커지면 FCFS 스케줄링과 같은 효과를 얻는다
시간 할당량이 작아지면 프로세스 문맥교환이 자주 일어난다
작업이 끝나기까지의 실행시간 추정치가 가장 작은 작업을 먼저 실행시킨다
-
다중 프로그래밍 시스템에서 운영 체제로 CPU가 할당되는 프로세스를 변경하려고 CPU를 사용하여 실행되는 프로세서의 상태정보를 저장하고 제어권을 인터럽트 서비스루틴에게 넘기는 작업을 무엇이라고 하는가?
문맥교환 -
운영체제의 작업스케줄링 등에 응용되는 것으로 가장 적합한 자료 구조는?
큐
스택은 자원 -
프로세스의 정의와 관련이 적은 것은?
실행중인 프로그램
PCB를 가진 프로그램
CPU가 할당되는 실체
디스크에 저장된 프로그램x -
Fifo P1,P2,P3,P4 1 11 12 18
비선점우선순위 P2 P4 P1 P3 2 8 17 18
SJF P3 P2 P4 P1 1 3 9 18
RR -
평균 반환시간 1 3 9 18다 더해서 4로 나누기
-> 반환 시간 합 /4
평균 대기시간 0 1 2 6다 더해서 4로 나누기
->0부터 대기시간 합 /4
Thread
- 프로세스와 동일하게 cpu를 받아서 수행되는 단위
- 프로세스에서 실행의 개념만을 분리한 것
- 입출력 자원의 할당, 인터럽트에 방해를 받지 않고 수행되는 단위
- 스레드 자체는 독립된 제어흐름을 가지고, 스택, 레지스터를 다른 스레드와 공유한다.
- 코드, 주소공간, 자원등도 공유
- 프로세스 안에 포함되어있으며 실행의 개념만을 담고 있다
- 사용자 수준 스레드: 스레드 관리와 관계된 모든 일은 응용 프로그램이 수행
- 커널 수준 스레드: 스레드관리와 관련된 모든 작업이 커널에 의해 이루어진다
- 프로세스 병행 수행(비동기 병행 프로세스)
1) Process synchronization(동기화: 수행순서조정) - 1번에 2번 포함
*다중 프로그래밍: 두개 이상의 프로세스가 주기억 장치에 실재
- 한 프로세스가 공유자원을 사용 중일 때 다른 프로세스가 현재 할당된 공유자원을 사용하고자 하면, 자원을 공유하고자 하는 프로세스는 현재 수행중인 프로세스가 종료될 때까지 대기
2) Mutual exclusive(상호 배제)
- 한 프로세스가 공유자원 사용시 다른 프로세스는 사용할 수 업도록 제어
한 순간에는 하나의 공유자원만 사용한다=하나의 공통된 코드부분만 수행
- 동기화 실행방법
3) critical section=공유자원, 임계구역
- 여러 프로세스가 데이터를 공유하면서 수행되는 코드 또는 기억장치의 영역
4) semaphore / 다이젝스트라 제안
- 프로세스 동기화를 위한 소프트웨어 구조
- 상호 배제를 구현하며, p와 v 연산을 이용
- 인터럽트에 방해받지 않고 p와 v 연산을 수행
S를 0으로 만들어 다른 프로세스들이 임계구역에 들어오지 못하도록 제어Procedure P(s) 초기 s값은 1 While s!=0 do wait S=s-1
End P
Procedure V(s)
S=s+1
End V
현재 s값은 0이며 s를 1로 만들어 다른 프로세스가 임계구역에서 공유자우원을 사용할 수 있도록 허용
2.6 Monitor - 제한된 연산이 허용되는 추상적인 데이터 구조: s/w적 처리
- 공유자원 할당을 위한 병행 프로세스의 제어를 위한 구조이며, Information hiding정보은폐와 abstract추상화를 지원
- 모니터 자체의 공유자원 사용시 다른 프로세스는 사용하지 못하도록 제어
모니터 내부의 변수는 현재 수행중인 프로세스만 접근, 사용 가능하다
모니터 외부의 프로세스는 모니터 내부에 들어올 수 없다
여러 개의 프로세스들이 동시에 모니터를 수행하려 해도 모니터 자체에 상호배제가 엄격히 실시
운영체제가 공유자원을 보다 편리하게 사용하기 위한 구조
프로시저: 공유자원을 처리하기 위한 연산으로, 상호 배제가 구현 되어있다
모니터 자체에 의해 상호배제가 구현
Author And Source
이 문제에 관하여(운영체제 6주차), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ark086/운영체제-6주차저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)