▶클릭◀ 암보험,실비보험 가입시 주의사항

 

▶클릭◀ 병원 약국에서 지출한 병원비 약값 최대 80% 보장받기

 

프로세스는 실행 중인 프로그램이다. 프로세스는 실행되면서 상태를 변경한다. 프로세스의 상태는 프로세스의 현재 활동에 의해 정의된다. 각 프로세스의 상태는 새로운(new), 준비완료(ready), 실행(running), 대기(waiting), 그리고 종료(terminated) 상태 중의 하나이다. 각 프로세스는 운영체제 내에서 자신의 프로세스 제어 블록(PCB, Process Control Block)에 의해 표현된다.

 

프로세스가 실행되지 않을 때는 적절한 대기 큐에 놓이게 된다. 운영체제에는 크게 두 가지 부류의 큐가 존재하는데 하나는 입출력 요청 큐이며, 다른 하나는 준비완료 큐이다. 준비완료 큐는 실행할 준비가 완료되어 CPU를 기다리고 있는 모든 프로세스를 가지고 있다. 각 프로세스는 PCB로 대표되며, 이 PCB들은 준비완료 큐를 형성하기 위해서로 링크될 수 있다. 장기(잡) 스케줄링이란 CPU를 차지하기 위해 경쟁할 프로세스를 선택하는 일이다. 통상적으로 장기 스케줄링은 자원 할당 고려사항, 특히 주 메모리 관리에 의해 많은 영향을 받는다. 단기(CPU) 스케줄링은 준비완료 큐로부터 하나의 프로세스를 선택하는 일이다.

 

운영체제는 부모 프로세스가 자식 프로세스를 생성할 수 있는 기법을 제공해야 한다. 부모는 작업을 진행하기 전에 자식 프로세스가 종료되는 것을 기다릴 수 있다. 또한 부모와 자식 프로세스가 동시에 실행될 수도 있다. 병행 실행을 허용하는 이유는 여러 가지가 있는데, 대표적인 이유는 정보 공유, 계산 속도 증가, 모듈성, 그리고 편의성 등이다.

운영체제 내에서 실행되는 프로세스들은 독립적인 프로세스이거나 또는 협력적인 프로세스이다. 협력적인 프로세스들은 서로 통신하기 위한 프로세스 간 통신 기법을 필요로 한다. 통신은 주로 두 가지 방법으로 이루어지는 데 하나는 공유 메모리이며, 다른 하나는 메시지 전달이다. 공유 메모리 기법은 통신 프로세스들이 어떤 변수를 공유할 것을 필요로 한다. 프로세스들은 이러한 공유 변수의 사용을 통해 정보를 교환하도록 기대한다. 공유 메모리 시스템에서는 통신을 제공하기 위한 책임이 응용 프로그래머에게 있다.

 

즉, 운영체제는 단지 공유 메모리만 제공해 줄 필요가 있다. 메시지 전달 기법은로세스가 메시지를 교환하도록 허용한다. 통신을 제공할 책임은 운영체제 자체에 있을수 있다. 이 두 가지 기법은 서로 배타적인 방법은 아니며, 하나의 운영체제 내에서방법이 같이 사용될 수 있다.

클라이언트 서버 시스템에서의 통신은 (1) 소켓 (2) 원격 프로시저 호출(remote procedure call, RPC) 또는 (3) 파이프를 사용한다. 소켓은 통신의 극점으로 정의된 것이다.응용 프로그램 두 개가 통신할 때에는 두 개의 소켓이 만들어지고 통신 채널 양단에나씩 배정된다. RPC는 분산 처리 통신에서 사용되는 또 다른 형태의 통신이다. RPC는한 프로세스(또는 스레드)가 원격지 응용 프로그램의 프로시저를 호출할 때 사용한다.보통의 파이프가 부모와 자식 프로세스 간의 통신을 허용하는 반면에 지명 파이프는 서로 무관한 프로세스 사이의 통신을 허용한다.

'컴퓨터 구조' 카테고리의 다른 글

프로세스 동기화에 대해서  (0) 2022.04.16
cpu 스케줄링  (0) 2022.04.16
다중 스레드 프로그래밍  (0) 2022.04.16
컴퓨터 시스템 구조에 대해서..  (0) 2022.04.16
컴퓨터 운영체제에 대해서..  (0) 2022.04.16
본 광고는 광고심의기준을 준수하였으며, 유효기간은 심의일로부터 1년입니다.

+ Recent posts