티스토리 뷰

카테고리 없음

1234065 유동현

달콤맛마이쮸 2016. 3. 24. 22:07

 

- 프로세스란 무엇인가요 ?

​프로세스의 정의 : 시스템의 관점으로는 실행 중인 프로그램, 

사용자의 관점으로는 PCB(Process Control Block) + lmage(code + data + stack)  

(디스크에 저장되어 있던 실행 가능한 프로그램이 메모리에 적재되어 운영체제의 제어를 받는 상태. 해당 프로세스가 사용하고 있는 메모리 영역(자신의 주소 공간)이 존재함.)

- 프로세스의 상태 변화 과정을 설명하세요.

프로세스는 시스템에서 준비, 실행, 대기(보류) 상태로 변화

되면서 실행, 시스템의 모든 프로세스는 종료되어 시스템을 떠날 때까지 이 과정을 반복, 작업 스케줄러, 프로세스 스케줄러 같은 프로세서 스케줄러를 이용해 프로세스 상태변화를 관리한다.

준비 -> 실행 Dispatch(프로세서명)

준비 리스트 맨 앞에 있던 프로세스가 프로세서를 선택(배당되어 실행) 하는 것을 디스패치라 하며,

실행 프로세스가 프로세서를 일정 시간만 사용하도록 시간 제한을 주는데 이를 시간할당이라 부르며 특정 프로세스가 프로세서를

계속 독점하는것을 방지

​실행 -> 준비 timeout(프로세서명)


특정 프로세스가 프로세서를 계속 독점하는 것을 방지하기 위해 인터럽트 클록(Interrupt Clock)을 두어 지정 시간 동안만

프로세서를 점유하게 하며, 특정 프로세스가 일정 시간이 지나도

프로세서를 반환하지 않으면 클럭(Clock)이 인터럽트를 발생시켜

운영체제가 프로세서 제어권을 갖게한다.

운영체제가 제어권을 가지면 실행중인 프로세스는 준비상태로

변하고 준비 리스트의 첫 프로세스가 실행 상태가 된다.

실행 -> 대기(보류) block(프로세서명)

실행 프로세서가 지정 시간전에 입출력 연산 등이 필요하거나 새로운 자원 요청같은 문제가 발생하면, 스스로 프로세서를 양도

하고 대기 상태가 된다.

대기(보류) -> 준비 Wake Up(프로세서명)

프로세스의 마지막 상태 변화는 입출력 작업이 끝났을 때

발생하는 프로세스로 표시 된다. 


- 프로세스와 스레드의 개념차이 그리고 스레드의 장점에 대하여 충분히 설명하세요

프로세스와 스레드 개념차이 : 프로세스는 각각의 프로세스가

독립적으로 실행되면서 메모리 영역을 각각 별개로 할당되고.

스레드는 하나의 프로세스 내의 코드와 데이터는 공유하고

메모리 영역의 스택 한개를 나눠 사용한다.

스레드의 장점 :

① 자원을 공유하여 한 프로세스에서

동시 작업이 가능 

② 응용 프로그램의 일부분이 봉쇄되거나

긴 작업을 수행해도 프로그램 실행을 계속

허용하여 사용자에 대한 응답성 증가

③ 프로세스의 자원과 메모리 공유 가능

응용 프로그램 하나가 같은 주소 공간에서

여러개의 스레드를 실행해 시스템 성능을

향상

④ 한 프로세스의 자원을 공유, 메모리와

자원을 할당해 프로세스를 생성하는 것보다

스레드를 생성하여 문맥 교환하는 것이

오버 헤드를 줄인다.

⑤ 다중 프로세서 구조에서 각 스레드는

다른 프로세서에서 병렬로 실행 될 수

있음. 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
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
글 보관함