운영체제 4

[운영체제] 4. 프로세스 스케줄링

다중프로그래밍(multi programming)시스템 내에는 여러개의 프로세스가 존재하므로 자원을 나누어서 사용해야 하고, 따라서 자원을 할당할 프로세스를 선택하는 "스케줄링"이 필요하다. 자원 관리에서는 아래 두 가지 개념을 다룬다.1. 시간 분할(time sharing) 관리: 하나의 자원을 여러 스레드들이 번갈아가며 사용e.g., 프로세서(CPU)는 1번에 1개만 사용 가능하다.프로세스 스케줄링: 프로세서 사용시간을 프로세스들에게 분배2. 공간 분할(space sharing) 관리: 하나의 자원을 분할하여 동시에 사용e.g., 메모리스케줄링의 목적시스템의 성능 향상1. 대표적인 시스템 성능 지표(index)목적에 맞는 지표를 고려하여 스케줄링 기법을 선택해야 한다. (1) 응답시간(response ..

CS/운영체제 2025.03.05

[운영체제] 3. 스레드 관리

스레드 개요프로세스는 자원을 할당받고, 자원을 제어해서 원하는 목적(작업)을 달성한다. 이때, 프로세스 내에서 실행되는 최소 실행 단위를 '스레드' 라고 한다. 하나의 프로세스는 여러 스레드를 가질 수 있으며, 스레드들은 같은 프로세스의 메모리 공간(자원)을 공유하며 독립적인 실행 흐름을 가진다.  아래와 같이 자원은 공유하는데, 이 자원을 제어하는 스레드는 여러 개 있을 수 있다.(프로세스가 할당받은 자원은 공유) 스레드의 개념Light Weight Process(LWP)프로세스는 원래 자원과 제어를 각각 갖고 있어야 하는데, 스레드는 자원은 공유하고 제어만 갖고 있으니 일반 프로세스보단 가볍다.프로세서(e.g., CPU) 활용의 기본 단위스레드가 여러 개면 동시에 여러 CPU 사용 가능구성요소Thre..

CS/운영체제 2025.02.23

[운영체제] 2. 프로세스 관리

Job과 Process1. 작업(Job) = 프로그램: 실행할 프로그램 + 데이터: 컴퓨터 시스템에 실행 요청 전의 상태2. 프로세스: Job이 실행을 위해 시스템(커널)에 등록된 작업시스템 성능 향상을 위해 커널에 의해 관리됨프로세스의 개념: 실행중인 프로그램: 커널에 등록되고 커널의 관리하에 있는 작업 (= 커널에 등록된 작업): 각종 자원들을 요청하고 할당받을 수 있는 개체: 프로세스 관리 블록(PCB)을 할당받은 개체: 능동적인 개체(active entity) - 실행 중에 각종 자원을 요구, 할당, 반납하며 진행 * PCB(Process Control Block)커널 공간 내에 존재각 프로세스들에 대한 정보를 관리1. 프로세스의 종류자원(resource)의 개념: 커널의 관리 하에 프로세스에게 ..

CS/운영체제 2025.02.22

[운영체제] 1. 운영체제의 개요

운영체제의 역할1. User Inteface (편리성)CUI (Character User Interface)GUI (Graphical User Interface)EUCI (End-User Comfortable Interface)2. Resource Management (효율성)HW resource (processor, memory, I/O devices, ...)SW resource (file, application, message, signal, ...)3. Process and Thread Management4. System Management (시스템 보호) 컴퓨터 시스템의 구성운영체제의 구분1. 동시 사용자수에 따라(1) Single-user system (단일 사용자)1) 한 명의 사용자만 시스..

CS/운영체제 2025.02.20