codingBird

6. 프로세스 관리 본문

운영체제

6. 프로세스 관리

김뚜루 2022. 3. 4. 18:26

프로세스는 어떻게 만들어지느냐 > 프로세스가 FORK 시스템콜을 통해 운영체제에 요청하여 운영체제가 만듬 > 부모와 똑같은 프로세스가 만들어짐.  

부모 프로세스 > 자녀 프로세스 > 손자녀 프로세스 > .... 트리(계층구조)형성이 됨. 

자녀 프로세스의 자원은 운영체제로 받고나 간혹 부모와 공유함. 

 

주소공간 > 부모의 공간(BINARY , OS DATA  > PC ,REGISTER) 복사함 ( 부모 프로세스가 실행된 위치에서 부터 실행이 됨) > 새로운 프로그램을 돌리고 싶으면 자식은 그 공간에 새로운 프로세스를 올림 EXEC() 시스템콜 

 

프로세스 종료 

자발적 > 프로세스가 마지막 명령을 수행하면 운영체제에게 알려줌 (EXIT) > 자식이 부모에게 OUTPUT DATA를 보냄 ( VIA WAIT)  > 프로세스의 각종 자원이 운영체제에게 반납됨? 만약 살아있다면 자원낭비 

 

부모가 자식의 수행을 종료시킴(ABORT) 

>자식이 할당 자원 한계치를 넘어섬 

>자식에게 할 일이 없음 (태스크가 필요하지 않음) 

>부모가 먼저 종료됨 > 운영체제는 부모가 종료되는 경우 자식을 더 이상 수행되도록 종료시킴 > 단계적 종료 

 

 

 

fork()시스템 콜 
> pid=fork(); 아래로 복사됨 (pc,메모리,register)


부모프로세스는 양수 pid를 return 
자식프로세스는 pid =0을 return 

 

exec()시스템콜 

>execlp를 수행하게 되면 그 뒤로는 다른 프로세스로 수행하려 감으로 아래는 수행되지 않음 

 

프로세스 생성 : https://4legs-study.tistory.com/37

좀비,고아 프로세스 : https://andrew0409.tistory.com/26

 

프로세스의 개념

프로세스는 현재 시스템에서 실행중인 프로그램을 뜻한다. 리눅스는 기본적으로 다중 프로세스 시스템이므로 여러 개의 프로세스가 동시에 실행된다. 리눅스의 운영에 필요한 다양한 기능을

andrew0409.tistory.com

 

참고자료 : 운영체제 이화여자대학교 반효경 http://www.kocw.net/home/cview.do?cid=4b9cd4c7178db077

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

8. OS/ PROCESS 동기화  (0) 2022.03.13
5. THREAD  (0) 2022.03.04
4. 프로세스의 개념  (0) 2022.03.03
3. 프로그램의 실행  (0) 2022.03.03
2-컴퓨터 시스템의 구조  (0) 2022.03.01