Chapter 4. Process Management 💡 프로세스 생성 (Process Creation) 부모 프로세스(Parent Process)가 자식 프로세스(Children Process)를 생성한다. (프로세스가 또 다른 프로세스를 만드는 구조. 복제 생성) 프로세스의 트리(계층 구조)가 형성된다. 프로세스는 자원을 필요로 한다. 이 때, 자원은 운영체제(OS)로부터 받거나 부모와 공유한다. 자원의 공유 부모와 자식이 모든 자원을 공유하는 모델 일부를 공유하는 모델 (모든 자원을 공유하는 것보다 더 효율적임) ex) Linux 전혀 공유하지 않는 모델 수행 (Execution) 부모와 자식은 공존하며 수행되는 모델 자식이 종료(terminate)될 때까지 부모가 기다리는(wait = blocke..
Chapter 3. Process(2), (3) 💡 동기식 입출력과 비동기식 입출력 부연설명 입출력을 요청한 프로세스가 입출력이 끝날 때까지 대기상태일 경우 동기식 입출력. 입출력을 요청한 프로세스가 종료시까지 대기하지 않고 CPU가 새로운 instruction를 실행할 경우 비동기식 입출력. 💡 Thread A thread is a basic unit of CPU utilization lightweight process라고도 부름 CPU를 수행하는 단위라고 할 수 있음. data, code 부분은 thread들이 공유를 하고 각각 stack부분만 thread가 고유 공간을 가지고 있음. PCB에서도 Thread 각각이 독립적으로 구성하고 있는 것은 PC(Program counter), Register이..
Chapter 3. Process (1) 💡 Process 프로세스의 개념 프로세스는 실행중인 프로그램을 의미한다. (Process is a program in execution) 프로세스의 문맥(context) CPU의 수행 상태를 나타내는 하드웨어 문맥. Program Counter 각종 Register 프로세스의 주소 공간 code, data, stack 프로세스 관련 PCB (Process Control Block) Kernel stack 프로세스의 상태 프로세스는 상태가 변경되면서 수행된다. Running CPU를 잡고 Instructionm을 수행중인 상태 Ready CPU를 기다리는 상태 (메모리 등 다른 조건을 모두 만족하고) Blocked (wait, sleep) CPU를 주어도 당장 i..
Chapter 2. System Structure & Program Execution (2) 💡 컴퓨터 시스템 구조 (2) Program Counter CPU 안에 있는 Register 중의 하나로서, 다음에 실행할 instruction의 주소를 가지고 있어 실행할 기계어 코드의 위치를 지정한다. 다른 말로는 명령어 포인터 (instruction pointer)라고도 불린다. 일반적으로 Program counter는 명령을 마칠때마다 주소값이 1씩 증가하게 된다. 동기식 입출력과 비동기식 입출력 동기식 입출력 (Synchronous I/O) I/O 요청 후 입출력 작업이 완료된 후에야 제어가 사용자 프로그램에 넘어가며, 다음 작업을 수행할 수 있음. 구현 방법 1 I/O가 끝날 때까지 CPU를 낭비시킴 ..
Chapter 2. System Structure & Program Execution (1) 💡 컴퓨터 시스템 구조 하드 디스크는 input device/output device 둘 다의 역할을 한다. – cpu안에는 memory보다 빠른 저장 공간이 있음. 이를 register라고 함. Interrupt line은 항상 프로그램이 memory 영역만을 사용해서 작동하기는 어렵기 때문에, I/O device 접근을 위해 프로그램 실행 중 interrupt를 걸어 해당 device에서 데이터를 읽거나 쓴다. Mode Bit 사용자 프로그램의 잘못된 수행으로 다른 프로그램 및 운영체제에 피해가 가지 않도록 하기 위한 보호 장치 필요. cpu는 항상 interrupt line을 체크해 프로그램 실행 중 int..