운영체제 (OS)

[06] UNIX Process Model

yongyongMom 2023. 4. 21. 06:06
SMALL

 

Process Creation in UNIX

-- 한 프로세스는 본 프로세스를 위한 다른 프로세스를 만들 수 있음

-- 기존의 프로세스는 'parent' 부모 프로세스라고 부름

-- 새로 생긴 프로세스는 'child' 자식 프로세스라고 부름

-- 자식은 부모의 복제본

-- 부모는 자녀가 완료될 때까지 기다리거나 자녀와 동시에 실행을 계속할 수 있음

 

-- fork() 라는 system call 을 사용하여 자녀 프로세스 만듦

-- fork() 를 통해 생성된 자식 프로세스는 0값을 return

-- 부모 프로세스는 새로 생긴 프로세스의 PId return

-- 자식 프로세스를 또 fork() 해서 또 다른 자식 프로세스 생성 가능

-- 자식 프로세스는 종종 exec() 을 사용하여 다른 프로그램 시작 ( 완전 다른 프로그램 )

process creation

 

Context Switching 
-- context switching : 한 프로세스를 멈추고 다른 프로세스를 실행하는것

-- OS 가 프로세스를 멈추면 PCB( Process Control Block ) 에 해당 프로세스의 하드웨어 레지스터, PC, SP 등등의 상태 정볼르 저장

-- CPU가 기다리던 프로세스를 실행할 수 있을 때 PCB의 정보를 가져와 프로세스 상태를 복구

--context switching 은 비교적 비싼 산술연산 

 

 

Scheduler 

-- Long-term Scheduler 

: 대기 중인 job 중에 선택해서 메모리에 부름

: 프로세스가 시스템을 떠날 때만 실행

: 현대에는 사용하지 않음

 

-- medium-term scheduler

: 시분한 시스템에서 long-term scheduler 가 수행하던 작업 중 일부 수행

: 일시적으로 process를 메모리 밖으로 swap

 

-- short-term scheduler 

: 자주 실행되며 일초에 100 번 실행

: 실행되는 경우

: 1. 프로세스가 생기거나 없어질 때

: 2. 프로세스가 running -> blocked 로 상태 변화가 일어날 때

: 3. 인터럽트 걸릴 때

: Goal : 응답 시간을 최소화하고, 평균 반응 시간의 분산 최소화하며 성능을 최대치로 끌어올리는 것, CPU 를 공평한 방식으로 공유하는 것이 목표

반응형
LIST