들어가며 프로세스는 진행되는 동안 입출력 대기, CPU를 통한 작업, CPU 할당 받기 전 대기, 작업 완료 등 다양한 상태를 가진다. 또한 프로세스는 관리될때 계층적 구조에 의하여 관리 되는데 어떠한 구조로 관리 되는지 알아보자 프로세스 상태 프로세스는 PCB를 통하여 프로세스의 상태를 관리한다. 어떠한 상태를 가지는지 기술하겠다. 생성 상태 (new) 프로세스를 생성중인 상태이다. 커널영역에 PCB를 막 적재한 상태로 Admit 함수 호출을 통하여 준비 상태로 변환한다. 준비 상태 (ready) CPU를 할당받아 실행할 수 있는 상태이다. 아직 할당 받은 상태가 아니라 대기 중인 상태이다. dispatch를 통하여 CPU를 할당 받는 실행 상태로 들어간다. 준비 큐(ready queue)에 PCB가 ..
들어가며 컴퓨터가 실행하는 수많은 프로그램들은 메모리에 프로세스의 형태로 적재된다. (프로세스 메모리 영역) 또 현대의 시분할 방식으로 프로세스들은 번갈아 가며 실행된다 (문맥교환). CPU로 전달된 프로세스 실행되는 단위는 스레드이다. 이에 관하여 기술한다. PCB ps -e 명령어를 통하여 현재 실행중인 프로세스를 확인할 수 있다. 이처럼 컴퓨터 보조기억장치에 저장된 프로그램들은 메모리에 적재되어 프로세스의 형태로 실행된다. 프로세스를 실행하는데 필요한 정보를 커널영역에 PCB(Process Controll Block)자료구조로 생성한다. PCB생성 = 프로세스 생성 PCB폐기 = 프로세스 종료 와 같다. PCB 가 가지는 프로세스 정보 PCB는 실행되고 있는 프로세스의 식별자이고 PCB에 담긴 정보..
운영체제 핵심서비스 운영체제가 여러 프로그램을 운용하기 위하여 제공하는 핵심서비스 세가지를 기술한다. 프로세스 관리 1.프로세스 동기화 2.교착상태 예방 및 해결 3.cpu 스케쥴링을 통한 프로세스 실행 순서 변환(컨텍스트 스위칭) 4.각 프로세스에 필요한 자원 할당(cpu, 메모리, 입출력 장치) 자원 접근 및 할당 각 프로그램이 실행에 필요한 자원에 제각각 접근 하면 시스템의 자원을 관리하는데 어려움이 커진다. 이를 해결하기 위하여 각 프로세스가 필요로하는 자원을 운영체제가 관리한다. 1. CPU 일반적으로 프로그램은 다수가 메모리에 적재된다. 하지만 cpu가 처리할 수 있는 프로세스는 하나이다. 따라서 다른 cpu가 자원을 선점한 경우 대기하여야한다. 운영체제는 프로세스당 cpu를 점유할 수 있는 ..