본문 바로가기

프로세스3

[운영체제 OS] Process vs Thread 1. Process vs Thread Process 실행중인 프로그램으로 운영체제로 부터 CPU 할당을 받을 수 있는것 프로세스는 각자 독립된 공간(Code, Data, Heap, Stack)을 가진다. 프로세스 간 직접적인 통신이 불가하며, IPC(Inter-Process Communication) 방식을 통해서만 가능하다. Message Passing : 운영체제(커널)의 도움을 받아 프로세스간 통신. 커널이 알아서 동기를 맞춰주지만, 오버헤드 높음. Shared Memory : 공유 메모리 공간을 통해 프로세스간 통신. 동기를 직접 맞춰줘야하지만 오버헤드 낮음. 프로세스는 기본적으로 1개 이상의 스레드(메인스레드)를 가진다. Thread 프로세스 내에서 실행되는 여러 흐름의 단위, 경랑 프로세스 스.. 2021. 8. 21.
[운영체제 OS] CPU Scheduling Scheduling Criteria 스케줄링의 성능평가에는 크게 5가지 지표가 사용된다. 이 지표들은 앞선 Process 글에서 설명했던 CPU-bound Process와 I/O-bound Process관점으로 나누어볼 수 있다. 1. CPU 사용률 : 전체시간 중 CPU가 놀지않고 일한 시간 2. 처리량 : 단위시간당 처리량 3. 소요시간 : 프로세스가 다 수행되고 도착하는데까지 걸리는 시간 4. 대기시간 : Ready Queue에서 기다리는 시간 5. 응답시간 : 중간중간 사용자에게 응답주는 시간 시간보다 처리량이 중요한 CPU-bound Process에서는 1,2번을 maximize하는 방향으로, 사용자와 interactive한 I/O-bound Process에서는 3,4,5번을 minimize하는.. 2021. 8. 21.
[운영체제 OS] Process Scheduler Process Scheduling Queues 프로세스를 스케줄링 하기 위한 3가지 큐가 존재한다. Job Queue - 모든 프로세스 저장하는 큐 Ready Queue - 실행 가능한 프로세스들이 CPU에 자원할당 받기 위해 기다리는 큐 Device Queue - I/O 장치에서 작업 처리하는 동안 프로세스들이 대기하는 큐 Long-term Scheduler (New -> Ready) 메모리는 한정되어 있는데 많은 프로세스들이 한꺼번에 메모리에 올라올 경우, 대용량 메모리(일반적으로 디스크)에 임시로 저장된다. 이 pool 에 저장되어 있는 프로세스 중 어떤 프로세스에 메모리를 할당하여 ready queue 로 보낼지 결정하는 역할을 한다. Time-sharing을 사용하는 현 컴퓨터에서는 사용하지 않.. 2021. 8. 18.