본문 바로가기

process

Process - InterProcess Communication(IPC)_1 InterProcess Communication(IPC), Process간의 통신 IPC는 Process간 통신과 동작의 동기화를 위한 메커니즘이다. 간단히 말하면 Process간 통신 방법이다. IPC는 두개의 간단한 명령으로 가능한데 이 두가지가 send(message)와 receive(message)이다. 이때 message는 그 크기를 두가지로 설정할 수 있는데 이 두개의 차이는 아래와 같다. Fixed Size : O.S의 처리는 간단하지만 사용자 프로그래밍은 복잡해진다. Variable Size : 사용자 프로그래밍은 간단하지만 O.S의 처리는 복잡해진다. 만일 Process P와 Q가 통신을 하고 싶다고 가정하자. 이때 P와 Q는 서로간의 Communication Link(통신을 위한 논리적.. 더보기
Process - Operation on Process O.S는 Process의 생성 및 종료에 필요한 메커니즘을 제공한다. Process가 Parent Process가 생성하는 경우가 있는데 이때 생성된 Process를 Child Process라고 한다. 이때 생성된 Child Process는 O.S나 Parent Process로 부터 자원을 할당 받아야 한다. 이때 Parent Process로 부터 자원을 할당받을때는 Parent의 자원 한도내에서 새로운 Proess가 생성가능하기 때문에 무분별한 Process의 생성을 방지하여 OverHead를 방지한다. UNIX의 경우를 살펴보자. UNIX의 경우에 Process생성에 관한 System Call을 제공하고 있다. fork() : Parent Process가 fork()를 사용하게 되면 새로운 Proce.. 더보기
Process - Schedulers Schedulers, 스케쥴러 Schedulers란 Queue에 있는 Process를 선택하는 기능을 뜻한다. 이러한 Schedulers는 크게 Long Term Scheduler(이하 LTS)와 Short Term Scheduler(이하 STS)가 있다. LTS의 경우 Job Scheduler라고도 불리며 Process의 수행을 요구하면 해당 Process를 Disk에 저장하고 수행중인 Job이 완료될때 마다 다음 Job을 Disk에서 Main Memory로 Load시키는 기능을 한다. 즉, LTS는 Process의 생성 , 수행, 종료에 따라 다른 Process를 Load하는데 걸리는 시간을 다룬다. LTS는 STS에 비해 상대적으로 시간이 오래 걸린다. 또한 수행 빈도도 적으며 시스템 전체 성능에 .. 더보기
Process - Process Scheduling Process Scheduling, 프로세스 스케쥴링 Process Scheduling의 경우 운영체제의 형태에 따라 그 목적을 구분 할 수 있다. 만일 운영체제가 Multi-Programming이라면 몇 개의 Process가 동시에 수행되게 함으로 CPU의 활용도를 극대화 시킨다. Time Sharing이라면 빠른 빈도로 CPU의 제어권을 이동시키는 중에 사용자와 프로그램간의 상호작용을 할 수 있게 한다. 시스템의 운영을 위해서 여러가지 Queue가 존재하는데 이를 Process Scheduling Queue라고 한다. Job Queue : 시스템상의 존재하는 모든 Process의 집합. Ready Queue : Main Memory에서 수행되기를 기다린느 Process의 집합. Device Queue.. 더보기
Process - Process Control Block(PCB) Process Control Block(PCB) PCB(또는 Task Control Block,TCB)는 Process들에 대한 정보를 저장해 놓은 일종의 구조체 형식의 자료이다. 이러한 PCB는 각각의 Process에 대한 상태를 저장해 놓음으로써 효율적인 관리를 도와준다. 위의 사진은 PCB가 어떠한 정보를 가지고 있는지 그림으로 표시한 것이다, Process State : 저번 포스트에서 올렸던 Process State에 관한 정보이다. Process Counter : 해당 Process가 다음에 실행할 명령어 주소이다. CPU Scheduling Information : 프로세스의 우선순위, Scheduling queue의 포인터와 기타 Parameter의 관한 정보이다. Memory Manage.. 더보기
Process - Process State Process, 프로세스 Process란 무엇인가? 바로 실행중인 프로그램을 뜻한다. 이러한 Process의 경우 수행되면서 상태가 변화를 하는데 그러한 Process의 상태를 Process State라고 한다. Process State의 경우 5가지로 나누어 지게 되는데 이는 아래와 같다. 1. New : Process가 생성되 시점에서 해당 Process의 상태는 New상태이다. 2. Running : New상태에서 Process가 CPU에 대한 제어권을 얻어 명령어가 실행중일때 해당 Process는 Running상태이다. 3. Waiting : 해당 Process가 I/O대기 등 특정 Event를 기다리는 상태가 되면 CPU의 제어권을 반납하고 특정 Event가 발생하기 전까지는 CPU의 제어권을 .. 더보기