운영체제

3주차 과제 제출

김시윤 2018. 9. 13. 16:13

1.     프로세서란 무엇인지 충분하게 설명하세요.

1)    프로세서의 개념

병행 실행하는 프로그램들은 컴퓨터 자원을 공유함으로 인한 이를 제어하는 방법의 필요성으로 등장

 

2)    프로세서의 정의(가장 일반적인 정의)

 실행 중인 프로그램’ : 디스크에 있던 프로그램을 메모리에 적재하여 운영체제의 제어를 받는 상태가 되었다는 것

 

                      프로그램과 프로세스는 다른가요?

è  프로그램이 메모리로 적재되면 프로세스가 된다.

è  프로그램컴파일한 코드, 초기화 전역 변수, 문자열과 문자열 상수정적 데이터를 포함하는 정적인 개체

è  프로세스메모리 구조를 이루고, 프로그램 카운터나 레지스터처럼 현재 어떤 자원을 사용하는지 관련 정보가 들어있는 동적인 개체



2.     프로세스는 상태를 변경하면서 해당 작업을 수행한다. 준비 상태와 실행 상태, 대기 상태, 중단된 준비 상태 등 프로세스의 상태에 대하여 충분히 설명하세요.



1)    준비 상태(자원있는 상태)

è  프로세서를 할당받으려고 기다리는 상태

è  준비 상태에 있는 프로세서에 CPU가 할당되면 디스패치(Dispatch)라 하며, 해당 프로세서는 실행 상태로 바뀌게 된다.

 

2)    실행 상태(자원 + CPU)

è  프로세서를 점유하여 명령어가 실행되는 상태

è  할당된 CPU 시간을 초과 사용시 타임아웃(Timeout)이 발생함

è  타임아웃이 발생하면 운영체제가 프로세서 제어권을 갖게 되어 실행 상태의 프로세서를 준비 상태로 변경함

 

3)    대기(보류) 상태(CPU 없음, 자원 일부 없음)

è  이벤트나 입출력 대기 신호 발생을 기다리는 상태(I/O 하는 상태, 대기 모드)

è  프로세서에서 실행을 하다 입출력 연산 or 새로운 자원 요청 등의 문제가 발생하면 대기 상태로 변경 됌(block)

è  대기 상태에 있는 프로세스는 입출력 작업이 끝나면 준비 상태가 됌(wakeup)

 

4)    중단된 준비 상태, 중단된 대기 상태

è  준비 상태대기 상태에서 자원 부족, 시스템 부하 등과 같은 문제가 발생하면 각각 중단된 준비 상태중단된 대기 상태로 변경 됌

è  중단 상태가 되면 해당 프로세스는 메모리에서 내보내지게 됌. 그리고 중단은 프로세스 자신이나 다른 프로세스에 의해 가능함

è  중단된 대기 상태는 프로세스가 보조 메모리에 있고 이벤트를 대기 중인 상태

è  중단된 준비 상태는 프로세스가 보조 메모리에 있지만 즉시 메인 메모리로 적재하여 실행할 수 있는 상태


3.     프로세스와 스레드에 대하여 비교 설명하세요. 2개를 비교하면서 충분히 설명하여야 합니다

è  프로세스마다 메모리와 자원을 할당하면 오버헤드가 많이 발생하는 데, 스레드는 프로세스 내의 자원을 공유하기 때문에 오버헤드를 줄일 수 있음.

è  프로세스는 완벽히 독립적이기 때문에 메모리 영역(Code, Data, Heap, Stack)을 다른 프로세스와 공유하지 않음.

è  스레드는 해당 스레드를 위한 스택을 생성할 뿐 그 이외의 Code, Data, Heap 영역을 공유함(Stack 공간을 제외한 나머지 공간과 시스템 자원 공유)

è  그러므로 프로세스를 이용하여 동시에 처리하던 일을 스레드로 구현할 경우 메모리 공간은 물론 시스템 자원 소모도 현격히 줄어듬

 

Process = PCB + Image(Code + Data + Heap + Stack)

Thread = PCB + Code + Data + Heap + Stack

PCB(Process Control Block): 프로세스 제어 블록, 특정 프로세스 정보를 저장하는 데이터 블록이나 레코드를 뜻함



2번 문제 참고 - https://m.blog.naver.com/PostView.nhn?blogId=dong5053&logNo=220714376567&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F

3번 문제 참고 https://m.blog.naver.com/PostView.nhn?blogId=dong5053&logNo=220714376567&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F

                - http://limmmee.tistory.com/22

'운영체제' 카테고리의 다른 글

6주차 과제  (0) 2018.10.07
5주차 과제  (0) 2018.09.27
4주차 과제  (0) 2018.09.23
2주차 과제 제출  (0) 2018.09.06
1주차 과제 제출  (0) 2018.08.31