170 likes | 536 Views
운영체제론 CHAPTER3. 프로세스 관리. 천주희 wngml1205@kunsan.ac.kr 군산대학교 정보통계학과 정보과학기술 연구실 2012.01.05. 목차. 프로세스 프로세스 개념 프로세스 형태 프로세스 상태 프로세스 제어블록 프로세스간의 관계 프로세스 연산 스레드 스레드 개념 스레드형 프로세스 스레드 분류 다중 스레딩을 위한 소프트웨어모델. 프로세스 (1/10). 개념 PCB 를 가진 프로그램 주 기억장치에 저장된 프로그램 프로세서 (CPU) 가 할당되는 실체
E N D
운영체제론CHAPTER3. 프로세스 관리 천주희 wngml1205@kunsan.ac.kr 군산대학교 정보통계학과 정보과학기술 연구실 2012.01.05
목차 • 프로세스 • 프로세스 개념 • 프로세스 형태 • 프로세스 상태 • 프로세스 제어블록 • 프로세스간의 관계 • 프로세스 연산 • 스레드 • 스레드 개념 • 스레드형 프로세스 • 스레드 분류 • 다중 스레딩을 위한 소프트웨어모델 IST (Information Sciences & Technology) Laboratory
프로세스 (1/10) • 개념 • PCB를 가진 프로그램 • 주 기억장치에 저장된 프로그램 • 프로세서(CPU)가 할당되는 실체 • 비동기적 행위를 일으키는 주체 • 운영체제가 관리하는 실행 단위 • 현재 실행중인 프로그램 IST (Information Sciences & Technology) Laboratory
프로세스 (2/10) • 형태 • 순차 프로세스 • 현재 실행 중인 하나의 프로그램 • 병행 프로세스 • 하나의 프로세서와 하나의 프로세스 행위만 존재 • 병렬 프로세스 • 두 개의 프로세서와 두 가지 프로세스 행위가 동시 존재 IST (Information Sciences & Technology) Laboratory
프로세스 (3/10) • 상태 개념 • Dispatch : 프로세스들 중에서 우선순위가 높은 프로세스를 선정하여 CPU 할당 (시간 지정) • Time Out : CPU의 지정된 할당 시간을 모두 사용한 프로세스는 준비 상태로 되돌아감 • Blocked: 실행중인 프로세스가 입출력 명령을 만나면 인터럽트가 발생하여 입출력 전용 프로세서에게 CPU를 양도하고 대기 상태로 전환 • Wake up : 입출력 종료 신호가 들어오면 대기중인 프로세스는 준비 상태로 전환 IST (Information Sciences & Technology) Laboratory
프로세스 (4/10) • 상태 전환 IST (Information Sciences & Technology) Laboratory
프로세스 (5/10) • 프로세스 제어 블록 (Process Control Block) • 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓는 곳 • 프로세스가 생성될 때마다 고유의 PCB 생성되고, 프로세스가 종료되면 PCB 제거 IST (Information Sciences & Technology) Laboratory
프로세스 (6/10) • 프로세스간의 관계 • 독립적인 프로세스 • 어떤 프로세스가 시스템에서 실행 중인 다른 프로세스에 영향 X • 특징 • 프로세스의 상태는 다른 프로세스에 의해 공유 X • 프로세스의 실행은 결정적 (프로세스 실행 결과는 입력 상태에 의존) • 프로세스의 실행은 복제 가능 (실행 결과는 동일한 입력에 대해 동일한 결과를 얻음) • 프로세스의 실행은 나쁜 영향을 받지 않으면 중단되고 재시작 될 수도 있음 IST (Information Sciences & Technology) Laboratory
프로세스 (7/10) • 프로세스간의 관계 • 유기적인 프로세스 • 어떤 프로세스가 시스템에서 실행 중인 프로세스에 영향을 주고 받을 때 • 특징 • 프로세스의 상태는 다른 프로세스들과 공유됨 • 프로세스의 실행은 비결정적 (프로세스의 실행 결과는 다른 프로세스와 상태적인 실행 순서에 의해 좌우되기 때문에 미리 예측 X) • 프로세스의 실행은 복제 불가능 (실행 결과는 동일한 입력에 대해 항상 동일한 출력을 얻는 것 X) IST (Information Sciences & Technology) Laboratory
프로세스 (8/10) • 프로세스 연산 • 프로세스 생성 • 프로세스 이름 결정 • 시스템 내에 존재하고 있는 준비 리스트에 생성된 프로세스 삽입 • 생성된 프로세스에 초기 우선순위 부여 • 생성된 프로세스에 대한 PCB 생성 • 프로세스 상태 전환이 일어나 경우, 트래픽 제어기에 의한 PCB 내용 변경 • PCB들은 상호 연결되어 있는 경우가 많아 같은 상태 프로세스들이 존재하는 준비 및 대기 리스트로서 큐,트리,스택 등을 사용 • 생성된 프로세스에 초기 자원 할당 IST (Information Sciences & Technology) Laboratory
프로세스 (9/10) • 프로세스 연산 • 프로세스 종료 • 프로세스 제거 및 PCB 제거 • 부모 프로세스가 자식 프로세스를 종료시키는 이유 • 자식이 할당된 자원을 초과하여 사용할 때 • 자식에게 할당된 TASK가 더 이상 필요 없을 때 IST (Information Sciences & Technology) Laboratory
프로세스 (10/10) • 프로세스 연산 • 프로세스 중단과 재시작 • 시스템 기능에 이상 o • 현재 실행중인 프로세스 중단 → 시스템 기능이 정상으로 회복되면 재시작 • 프로세스 한 부분이 의심스러운 경우 • 실행중인 프로세스를 중단시켜 두었다 내용을 확인한 후 재시작or 정지 결정 • 단기간 동안에 시스템에 많은 부하가 걸릴 경우 • 몇 개의 프로세스를 잠시 중단시키고 시스템이 다시 정상 상태로 돌아오면 재시작 • 시스템의 부하를 줄이기 위해 입출력이나 기타 사건이 종료되어서 프로세스가 준비 상태로 전환될 때까지 기다리지 않고 즉시 중단 • 프로세스 우선순위 변경 • CPU 스케쥴링 과정에서 필요에 따라 PCB 내의 우선순위를 변경하는 것 IST (Information Sciences & Technology) Laboratory
스레드(1/4) →경량 프로세스 : 프로세스 내에 하나 이상의 스레드를 포함 →중량 프로세스 : 프로세스 내에 하나의 스레드만 존재 • 개념 • 컴퓨터 프로그램 수행 시 프로세스 내부에 존재하는 수행 경로 • 프로세스는 단순한 껍데기일 뿐, 실제 작업은 스레드가 담당 • 프로세스 생성 시 하나의 주 스레드가 생성되어 대부분의 작업을 처리하고 주 스레드가 종료되면 프로세스도 종료 IST (Information Sciences & Technology) Laboratory
스레드(2/4) • 스레드형 프로세스 • 단일 스레드형 프로세스 • 하나의 스레드가힙영억, 정적 영역, 코드 영역을 공유하여 각 레지스터와 스택도 공유 • 다중 스레드형 프로세스 • 각 스레드가힙 영역, 정적 영역, 코드 영역을 공유하지만 레지스터와 스택은 자기 고유의 것 사용 • 다중 스레딩: 다수의 스레드를 이용하여 하나의 프로그램을 동시에 처리하는 것 IST (Information Sciences & Technology) Laboratory
스레드(3/4) • 분류 • 커널스레드 • 스레드는커널 모드에서만 동작하며 디스크를 읽거나 쓰는 것과 같은 동작을 함 • 커널 지원형 사용자 스레드 • 목적 : 사용자에게 스레드를 지원해 줌 • 커널스레드와커널 지원형 사용자 스레드 차이 : 스레드가 사용자의 요구에 따라 생성 • 가상 프로세서상의 사용자 모드 스레드 • 프로세스나 커널스레드가 가상 프로세서와 같이 작동하며 실행 가능한 사용자 스레드를 수행 • 단일 프로세스용 사용자 모드 스레드 • 단일 프로세스 내에서 어느 특정한 커널 지원 없이도 다중 스레드 환경을 모방해 주는 라이브러리 계층을 가지고 있음 • 프로그래밍 언어 지원용 스레드 • 몇몇 시스템들은 다중 스레딩을 위한 프로그래밍 언어 인터페이스를 제공 IST (Information Sciences & Technology) Laboratory
스레드(4/4) 수행할 작업 배분 슬래브스레드가 다른 작업을 받 을 준비가되어 있는지 여부 검사 마스터 스레드 슬래브스레드 작업 수행 작업종료 통보 및 새로운 작업 요청 -각 단계는 인과관계로 연결 -처리 작업은 이전 단계에 기반을 두고 다음 단계의 작업에 필요한 조건이 됨 • 다중 스레딩을 위한 소프트웨어 모델 • 마스터/슬래브 모델 • 작업 팀 모델 • 여러 개의 스레드가 하나의 작업을 공동으로 수행하는 형태 • 파이프라인 모델 • 하나의 작업을 여러 개의 수행 단계로 분리하여 스레드들이 각 단계를 담당하게 함 • 혼합형 모델 • 단일 프로그램 내에서 수행될 작업의 특성에 따라 여러 가지의 모델을 혼합하여 사용 가능 IST (Information Sciences & Technology) Laboratory
감사합니다.천주희wngml1205@kunsan.ac.kr IST (Information Sciences & Technology) Laboratory