2주차 운영체제-프로세스 2-B 200512077 장정훈
1.프로세스의 개요 - 프로세서 개념의 등장 단일 프로그래밍 시스템에서 다중 프로그래밍 기법을 사용하게 되면서 시스템 효율성이 높 아지는 대신 프로그램에 대한 통제가 필요하 게 되어 등장함. 일반적으로 “실행중인 프로그 램” 이라는 개념이 널리 사용됨
2. 프로세스의 정의 1. 커널에 등록되어 커널의 관리하에 있는 작업 2. 프로세스 관리 블록(PCB)을 할당 받는 개체 실행중인 작업 또는 실행중인 프로그램이라 함. 2. 프로세스 관리 블록(PCB)을 할당 받는 개체 PCB:커널에 등록된 각 프로세서들에 대한 정보를 저 장하고 있는 커널 영역 커널:메모리, 프로세서 등의 자원을 관리, 제어를 하 여준다. OS중 리눅스라 불리는것도 원래는 커널 의 이름이었는데 후에 아예 OS의 이름으로 불리 게 됨. LINUX = Kernel
수업Tip 부팅 1.ROMBIOS 구동=>펌웨어 2.환경설정파일 구동=>config.sys 3.내부명령어적재=>command.com 4.자동배치파일 구동=>autoexe.bat Os의 core(핵)=>커널
3.프로세스의 종류 1. 운영체제 프로세스 역할: 실행순서 제어, 커널 영역 침범 방지, 사용자 프로세서 생성, 입 출력 프로세서 생성 2. 사용자 프로세스 역할:사용자 프로그램, 데이터 코드 실행 3. 병행 프로세스 역할: 여러 프로세서 동시 수행 상태 점검 4. 독립 프로세스 역할:다른 프로세서로부터 영향을 주지 않거나 영향을 받지 않도록 하는 것 5. 협동 프로세스 역할: 하나의 프로세스가 다른 프로세스에 영향을 주거나 영향을 받 는 프로세스
4.프로세스 관리 블록(PCB) 커널은 자신에게 등록된 프로세스들을 관리하 기 위해 각 프로세스마다 하나의 PCB를 할당해 주고 이 영역에 해당 프로세스에 대한 정보를 저장하여 프로세스 관리 시 사용한다.
5.프로세스 상태 전이도 ***중간고사 시험문제임!!*** Exit 실행상태 종료상태 Dispatch (Schedule) Sleep(block) Timerrunout (preemption) 준비상태 대기상태 Swap-in (resume) Swap-in (resume) 활동상태 생성상태 Swap-out (suspend) Swap-out (suspend) 지연상태 지연 대기상태 지연 준비상태 Wakeup
6.프로세스 상태 1. 활동상태 생성상태 : 프로세스가 처음 만들어진 상태 충분한 기억 공간이 있으면 준비상태로 전이(Dispatch:급송) 그렇지 않으면 프로세스 지연 준비상태로 전이 준비상태 : 프로세서를 할당 받기 위해 기다리고 있는 상태 프로세서를 할당 받게 되면 실행상태로 전이(Dispatch/Schedule) 준비상태에서 기억장치와 프로세서를 빼앗긴 경우 지연 준비상태로 전이된 상태를 중지상태(Swap-out/Suspend:중지)라 한다. 실행상태 : 프로세서에 의해 실행되고 있는 상태 프로세서가 모든 것을 종료하고 종료상태로 전이(Exit) 프로세스가 시간종료(Timer-run-out)나 자신보다 우선 순위의 프로세스 가 들어오는 경우 프로세서를 반납하고 준비상태나 지연준비 상태로 전이되 상태를 선점(Preemption)이라 한다. 입출력 요구로 프로세스가 대기상태로 전이되는 상태를 블록(Block) 이라 한다.
6.1 프로세스 상태 대기상태 : 임의의 자원을 요청한 후 할당 받을 때까지 기다리고 있는 상 태 지연상태 프로세스가 필요한 자원을 할당 받으면 다시 준비상태로 전이되는 상태를 조 건 만족(Wakeup)이라 한다. 프로세스가 커널에 의해 기억장치를 빼앗긴 상태에서 지연 대기 상태로 전이 되는 상태를 중지(Swap-out/Suspend)라고 한다. 지연상태 지연준비 상태 : 프로세스가 생성된 후 기억장치의 양이 부족한 경우, 프로세 서가 선점당한 경우, 프로세서와 기억장치를 모두 빼앗긴 경우의 상태 의미, 프 로세스가 기억장치를 빼앗긴 경우 지연상태에서 자원을 할당 받게 되면 준비상태로 전이 이때 전이 상태를 다시시작(Swap-in/Resume)이라고 한다. 지연대기 상태 : 어떤 자원을 얻고자 대기 상태에 있던 프로세스가 커널에 의 해 기억장치를 빼앗긴 상태이다. 다시 기억장치를 할당 받으면 원래의 대기상태로 전이되는데 이 상태를 다시시작(Swap-in/Resume)이라고 한다. 요청한 자원을 할당 받아 지연준비상태로 전이를 조건만족이라 함.
7.프로세스 상태 전이 실행(running) : 프로세스가 CPU를 차지하고 있는 상태 준비(ready) : 프로세스가 CPU를 차지 하고 있진 않지만 언제든 사용할 수 있는 상태 보류(block:대기) : 프로세스가 어떤 조건이 만족되길 기다리는 상태 교착상태(Deadlock) : 프로세스가 결코 일어날 수 없는 조건을 기다리는 상태 1. Dispatch : ready → running 준비상태에 있는 프로세스 중에서 우선 순위가 높은 프로세스를 선택하여 할당하는 것 2. Timerrunout : running → ready 프로세스의 할당 시간이 완료되면 실행상태의 프로세스는 준비상태로 전이 3. Block : running → blocked 실행중인 프로세스가 자신의 입출력 명령을 수행하기 위해 프로세서를 반납하고 입출 력 완료 신호가 올 때까지 대기 상태로 전이 4. Wakeup : blocked → ready 대기중인 프로세스가 입출력 완료 신호가 올 때까지 대기 상태로 전이
8.인터럽트와 문맥교환 1. 인터럽트의 정의 -컴퓨터 시스템에서 예측하지 못했던 사건이 발생하는 상황을 말함. 2. 인터럽트의 종류 SVC(Supervisor Call) 인터럽트: 기억장치 할당, 오퍼레이터 대화 입출력 인터럽트 : 입출력시 에러, 입추력 완료시 클럭(Clock) 인터럽트 : 프로세서 할당시간 모두 사용시 콘솔(Console) 인터럽트 : 키보드에서 인터럽트 키 누를 시 프로세스간 통신 인터럽트 : 통신 메시지 받을 시 발생 프로그램 검사인터럽트 : 정의되지 않은 명령어 사용 또는 논리적 인 오류로 인해 발생 하드웨어 검사인터럽트 : 하드웨어 에러 시 발생
8.인터럽트와 문맥교환 8-3 문맥보존과 문맥교환 문맥 : 특정 프로세스와 관련된 정보의 총집합. 모든 프 로세스들은 각각 자신의 문맥을 가짐. 문맥보존 : 인터럽트가 발생하면 실행중인 프로세스의 레지스터 문맥을 보존하게 되는 과정. 문맥교환 : 인터럽트가 발생하면 운영체제는 일단 인터 럽트를 받은 프로세스의 상태를 기억시켜 두고 제어권 을 Interrupt Hander에게 넘기는 작업. 문맥 재 적재 : 인터럽트 등올 인해 중지된 프로세스가 다시 CPU를 할당받아 중지 당시 저장해둔 레지스터 문 맥을 CPU로 재 적재하고 실행하는 과정