운영체제/프로세스
-
클라이언트 서버 환경에서 통신운영체제/프로세스 2018. 2. 3. 16:34
클라이언트 서버에서 사용 가능한 통신 방식은 세 가지가 있다.이 세가지는 소켓, 원격 프로시저 호출, 파이프 이다. 소켓소켓은 각 통신의 극점을 정의한다.각 소켓은 IP주소와 포트 번호 두 가지를 접합해서 구별한다.두 프로세스가 네트워크상에서 통신하기 위해서는 소켓이 두 개 필요하다.프로세스들은 소켓을 통해서 네트워크로 메시지를 송수신한다. 소켓의 단점소켓은 스레드들 간에 구조화 되지 않은 바이트 스트림만을 통신하도록 한다.원시적인 바이트 스트림 데이터를 구조화하고 해석하는 것은 클라이언트와 서버의 책임이 된다. 원격 프로시저 호출RPC는 네트워크에 연결되어 있는 두 시스템 사이의 통신을 위해 프로시저 호출을 추상화 하기 위한 방편으로 설계되었다.RCP는 클라이언트가 원격 호스트의 프로시저를 마치 자신의..
-
프로세스간 통신운영체제/프로세스 2018. 2. 3. 16:27
운영체제 내에서 실행되는 병행 프로세스들은 독립적이거나 협력적인 프로세스들일 수 있다.프로세스가 다른 프로세스들에게 영향을 주거나 받지 않는다면 독립적인 프로세스라고 말하고프로세스가 다른 프로세스들에게 영향을 주거나 받는다면 협력적인 프로세스라고 말한다. 프로세스 협력을 허용하는 환경을 제공하는 이유정보공유 , 계산 가속화, 모듈성, 편의성 협력적 프로세스들은 데이터와 정보를 교환할 수 있는 프로세스간 통신 기법을 필요로 한다.프로세스간 통신 모델에는 공유 메모리 방식과 메세지 전달 방식이 있다. 공유 메모리 시스템공유 메모리 방식을 사용할 때 운영체제는 프로세스들이 동시에 동일한 위치에 쓰지 않도록 책임져야한다. 생산자 - 소비자 문제생산자 프로세스는 정보를 생산하고 소비자 프로세스는 정보를 소비한다...
-
프로세스에 대한 연산운영체제/프로세스 2018. 2. 3. 16:19
대부분의 시스템 내의 프로세스들은 병행 실행될 수 있으며반드시 동적으로 생성되고 제거 되어야 한다. 프로세스 생성프로세스는 실행 도중에 프로세스 생성 시스템 호출을 통하여 여러 개의 새로운 프로세스를 생성한다.생성하는 프로세스를 부모 프로세스 생성되는 프로세스를 자식 프로세스라고 한다.이 결과 프로세스 트리를 형성한다. 현대 운영체제들은 프로세스 식별자를 통해서 프로세스를 구분한다.프로세스가 자식 프로세스를 생성할 때 자식 프로세스는 자신의 임무를 달성하기 위해 자원이 필요하다.자식 프로세스는 운영체제로부터 직접 자원을 얻거나, 부모 프로세스 자원의 부분을 사용한다. 부모 자식간 자원 공유 방식모든 자원 공유일부 자원만 공유자원을 공유하지 않음 프로세스가 새로운 프로세스를 생성할 때 두 프로세스를 실행시..
-
스케줄러운영체제/프로세스 2018. 2. 3. 16:07
프로세스는 일생 동안 다양한 스케줄링 큐 사이를 이주한다.운영 체제는 스케줄링 목적을 위해서 프로세스들을 큐에서 선택해야 한다.선택 절차는 스케줄러에 의해 수행된다. 스케줄러의 종류단기 스케줄러 (CPU 스케줄러) : 실행 준비가 완료되어 있는 프로세스들 중에서 선택하여 이들 중 하나에게 CPU를 할당한다.단기 스케줄링은 자주 수행되므로 속도가 빨라야 한다.장기 스케줄러 (작업 스케줄러) : 디스크 상의 프로세스를 선택하여 메모리에 적재한다.단기 스케줄링에 비해 가끔 실행된다.장기 스케줄러는 다중 프로그램의 정도를 제어한다. 대부분의 프로세스들은 입출력 중심 또는 CPU 중심으로 구분된다.입출력 중심 프로세스 : 연산보다 입 출력 수행에 더 많은 시간을 소요하는 프로세스CPU 중심 프로세스 : 연산에 시..
-
프로세스 스케줄링운영체제/프로세스 2018. 2. 3. 16:01
다중 프로그래밍의 목적은 CPU 이용을 최대화 하기 위해 항상 어떤 프로세스가 실행되도록 하는 데 있다.시분할의 목적은 각 프로그램이 실행되는 동안 프로세스들 사이에서 CPU를 빈번하게 교체하는 것이다.이 목적을 달성하기 위해서 프로세스 스케줄러는 CPU에서 실행 가능한 여러 프로세스 중 하나를 선택한다.단일 처리기 시스템에서는 실행중인 프로세스가 하나 이상 있을 수 없기 때문에프로세스가 여러 개 있다면 나머지 프로세스들은 CPU가 자유로워 질 때까지 대기해야 한다. 스케줄링 큐작업 큐 : 시스템 안의 모든 프로세스로 구성된다.준비 완료 큐 : 주 메모리에 존재하며 준비 완료 상태에서 실행을 대기하는 프로세스들로 구성된다.장치 큐 : 특정 입출력 장치를 대기하는 프로세스의 리스트들로 구성된다. 큐잉 도표..
-
프로세스 개념운영체제/프로세스 2018. 2. 3. 15:57
프로세스 실행중인 프로그램을 말하며, 현대 시분할 시스템에서 프로세스는 작업의 단위이다. 시분할 시스템은 사용자 프로그램 또는 태스크를 수행한다. 프로세스는 프로그램카운터, 레지스터, 스택, 텍스트 섹션, 데이터 섹션을 포함한다. 프로그램과 프로세스의 차이 프로그램은 디스크에 저장된 수동적인 존재이고 프로세스는 프로그램 카운터 및 관련된 자원의 집합을 가진 능동적인 존재이다. 다중 인스턴스 : 동일한 프로그램이 여러 개의 프로세스가 될 수도 있다. 프로세스 상태 프로세스는 실행되면서 그 상태가 변한다. 프로세스의 상태는 그 프로세스의 현재 활동에 따라서 정의된다. 새로운 : 프로세스가 생성 중 실행 : 명령어들이 실행되고 있음 대기 : 프로세스가 어떤 사건이 일어나기를 기다림 준비 완료 : 프로세스가 C..