프 로 세 스(P R O C E S S)

서영호2020.07.10
조회92

 

 

 

 

프로세스란 "메모리 공간을 차지한 상태에서 실행 중인 프로그램"을 말한다.

 

 

O. 대표적 다중 접속 서버의 구현 모델 및 구현 방법

 

전체적인 서비스 제공시간이 조금 늦더라도 연결요청을 해 오는 모든 클라이언트에게 동시에 서비스를 제공해서 평균적인 만족도를 높일 필요가 있다.

 

그리고 네트워크 프로그램은 CPU의 연산을 필요치 않는 데이타의 송수신 시간이 큰 비중을 차지하므로, 둘 이상의 클라이언트에게 동시에 서비스를 제공하는 것이 CPU를 보다 효율적으로 사용하는 방법이 된다.

 

1) 멀티 프로세스 기반 서버       :

 

다수의 프로세스를 생성하는 방식으로 서비스를 제공한다.

 

2) 멀티플렉싱(multiplexing) 기반 서버     :

 

입출력 대상을 묶어서 관리하는 방식으로 서비스를 제공한다.

 

3) 멀티 쓰레딩(multithreading) 기반 서버      :

 

클라이언트의 수 만큼 쓰레드(thread)를 생성하는 방식으로 서비스를 제공한다.

 

 

O. 프로세스 ID

 

모든 프로세스는 생성되는 형태에 상관없이 운영체제로 부터 ID를 부여 받는다. 이를 가리켜 "프로세스 ID"라고 하며, 이는 둘 이상의 정수 형태를 띤다. 참고로 1은 운영체제가 시작되자마자 실행되는(운영체제의 실행을 돕는) 프로세스에게 할당되기 때문에 우리가 만들어 내는 프로세스는 1 이라는 값의 ID를 받을 수 없다.

 

 

O. 디바이스 드라이버 (device driver)

 

프로세스가 입출력 장치에 접근하려면 운영체제에 시스템 호출을 보내야 한다. 시스템 호출이란 사용자 영역에서 커넬(Kernel) 영역에 있는 함수를 호출하는 것을 말한다. 이러한 시스템 호출은 디바이스 드라이버에서 처리한다.

 

 

 

O. 커 넬(Kernel)

 

운영체제의 기본적인 기능을 수행하는 부분으로 프로세스의 스케줄(Schedule) 관리나 메모리 관리, 데이타 입.출력, 하드 웨어 제어 등의 기능을 수행한다.

 

최근에는 커넬의 기능을 최대한 줄이고, 파일 시스템 등으로 대신 사용할 수 있도록 한 마이크로 커넬(Micro-Kernel)이 주류를 이루고 있습니다. 운영체제의 핵심 구성요소를 담은 소프트웨어를 Kernel이라고 부릅니다.

 

 

OS(운영체제)가 설치되면, 하드웨어의 주소를 직접 다루는 부분과 애플리케이션을 다루는 부분이 분리됩니다.  OS에서 하드웨어를 직접 핸들링(handling) 할 경우에 다루는 모드(mode)를 커넬 모드(Kernel Mode)라고 부르며, 일반 사용자 측면, 그러니까 애플리케이션 측면에서 핸들링하는 부분을 사용자 모드(User Mode)라고 부릅니다.

 

커넬 모드는 사용자가 사실 알 필요가 없는 것이지요. OS에서 디바이스 제어(등록, 삭제)를 하는 경우에 주로 커넬 모드가 동작합니다.

 

 

 

 

 

 

 

그럼, 위의 내용을 읽으시고 컴퓨터의 어느 부분에서 "시스템 호출" 이 일어난다고 생각하십니까?