일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 30일
- 운영체제 제작
- 쉽게 배우는 운영체제 연습문제
- 운영체제
- 건담 엑스포
- 건담 프라모델
- 운영체제 정리
- 맛집 추천
- OS 제작
- 쉽게 배우는 운영체제 솔루션
- Project Euler 해답
- project euler
- 운영체제 문제 풀이
- Project Euler Problem
- OS 강의
- OS 구조와 원리
- 맛집
- OS
- OS강의
- os 만들기
- 건담
- 프라모델
- 쉽게 배우는 운영체제
- 건프라
- rg
- Gundam
- 쉽게 배우는 운영체제 풀이
- 운영체제 만들기
- OS 그래픽 처리
- hg
- Today
- Total
밤색모자이크의 개발이야기
Chapter 02. 프로세스 (병행 프로세스) 본문
Chapter 02 프로세스 (병행 프로세스) - 연습 문제 (Page 100 - 102)
문제 1번
프로세스 내에서의 작업 단위로서 시스템의 여러 자원을 할당받아 실행하는 프로그램 단위는 "스레드(Thread)"이다.
문제 2번
프로시저가 활동 중인 것, PCB를 가진 프로그램, 비동기적 행위를 일으키는 주체는 "프로세스"이다.
문제 3번
(다) 하나의 프로세스에서 여러 분기를 사용하기 위해서 스레드를 사용하는 것이므로, 모든 스레드가 공통적인 흐름을 갖는 것은 옳지 않다.
문제 4번
PCB(Process Control Block) : 특정 프로세스의 정보를 기록한 데이터 블록 또는 레코드의 데이터 구조, 아래와 같은 데이터 저장
프로세스 상태 : 신규, 생성, 준비, 싱행, 대기, 중단 등의 상태 표시
프로그램 카운터 : 프로세스를 수행하기 위한 다음 명령의 주소 표시
레지스터 : 레지스터 정보 저장
계정 정보 : 프로세서 사용시간, 계정 번호, 작업이나 프로세스 번호 등
입출력 상태 정보 : 특별한 입출력 요구 프로세스에 할당된 입출력 장치, 개방된 파일 목록 등
프로세서 스케줄링 정보 : 프로세스의 우선순위, 스케줄링 큐에 대한 포인터 등
메모리 관리 정보 : 메모리 관리에 필요한 정보로서 메모리 영역을 정의하는 레지스터, 페이지 테이블 정보 등
따라서, (가) 할당되지 않은 주변장치의 상태 정보를 가지고 있지 않다.
문제 5번
(가) 프로세스는 비동기적 행위를 일으키는 주체이다.
문제 6번
(다) 하나의 프로세스에는 여러개의 스레드가 존재 할 수 있다.
문제 7번
(라) 프로세스가 소멸되면 해당 프로세스의 모든 정보를 가지고 있는 데이터 블록인 PCB도 같이 제거된다.
문제 8번
(가) 상호 배제란 한 순간에 하나의 프로세스만 사용한다는 걸 보장해야한다. 따라서 2개 이상의 프로세스가 공유 데이터에 접근하여 동시에 접근하여 수행하면 문제가 발생할 수 있다.
문제 9번
실행 중인 프로그램, 커널에 등록되고 커널의 관리 하에 있는 작업, 각종 자원들을 요청하고 할당받을 수 있는 기체에 대한 정의는 "프로세스(Process)이다.
문제 10번
위 문제 4번 풀이와 동일하다.
(라) 프로세서의 사용 빈도 는 저장되지 않는다. 다만, 개인적으로 이를 저장하여 사용하는 운영체제 또한 있을 것으로 생각된다. 대표적으로 에이징을 이용한 우선순위에서 간접적으로 사용할 수 있다.
문제11번
Pa < Pb로 표현할 때, Pb가 먼저 실행됩니다.
P2 < P1
P4 < P2
P4 < P3
을 정리하면
P4 < P2 < P1
P4 < P3
입니다.
즉, P4와 P2는 선행으로 P1과 P3이 먼저 실행되어야하기 때문에 병행으로 실행될 수 없고, P1과 P3은 선행으로 실행될 프로세스가 없기 때문에 병렬로 실행 될 수 있습니다.
문제 12번
PCB는 프로세스에 대한 정보를 저장하는 데이터 블록이다.
PCB에 포함되어있는 정보 중에서 우선순위 등과 같은 정보는 먼저 처리되고 응답시간을 조절할 수 있는 능력에 필요한 정보이다. 따라서, 일괄처리 시스템보단 사용자 대화형 시스템에 유용하다.
문제 13번
Monitor(모니터)는 세마포어 비슷한 상호배제 및 프로세스 사이의 조정을 위한 프로그램 작성 기법이다. 세마포어보다 제어하기 쉽다.
따라서, 한순간에 한 프로세스만 진입하여 자원을 사용할 수 있게 하는 것이므로 (가)는 틀린 설명이다.
문제 14번
데이터가 공유되고, 한 순간의 하나의 프로세스만 진입하여 사용하는 지역은 "Critical Section(임계 영역)" 이다.
문제 15번
(가) 프로세스들의 상호배제(Mutual Exclusion)을 보장해야한다.
(나) 임계 영역에서는 인터럽트가 불가능한 상태로 해야한다.
(다) 어느 한 시점에 하나의 프로세스만 사용하도록 지정된 영역이다.
(라) 옳은 설명이다.
문제 16번
스레드는 같은 프로세스 환경에서 독립적으로 여러개의 다른 실행을 할 수 있다.
따라서, (다)는 틀린 설명이다.
문제 17번
임계 구역은 반드시 하나의 프로세스만 사용 할 수 있다. 따라서, (가)는 틀린 설명이다.
문제 18번
보기에 주어진 알고리즘들은 "상호배제"를 위한 알고리즘이다.
세마포터와 모니터는 상호배제를 구현하기위한 프로그래밍 기법이고, 페이지 교체는 스케줄링을 위한 기법이다.
문제 19번
모니터는 임계 구역 내부에서 일어나는 데이터의 일관성을 유지해야한다. 이를 위해서는 한순간에 하나의 프로세서만 접근 가능하며 외부으 프로세스에서 접근가능하게 된다면 모든 일관성이 깨질 수 있으므로 액세스할 수 있는 권한이 주어지지않는다.
문제 20번
해당 문제의 설명은 정확하게 "Critical Section (임계 구역)" 이다.
원문 출처
쉽게 배우는 운영체제 - 함호정, 원종권 지음, 글로벌 출판
링크 : http://book.naver.com/bookdb/book_detail.nhn?bid=7446967
쉽게 배우는 운영체제 연습문제 풀이 링크 모음
'책 공부 정리 > 쉽게 배우는 운영체제' 카테고리의 다른 글
Chapter 05. 메모리 관리 (0) | 2017.08.23 |
---|---|
Chapter 04. 프로세스 스케줄링 (0) | 2017.08.15 |
Chapter 03. 프로세스 (병행 프로세스) (0) | 2017.08.14 |
Chapter 01. 운영체제 소개 (0) | 2017.08.06 |
"쉽게 배우는 운영체제" 정리 시작! (0) | 2017.08.06 |