Computer Science/OS
-
교착 상태 (Deadlock)Computer Science/OS 2025. 11. 25. 20:15
1. 개요교착 상태(Deadlock) 는여러 프로세스가 서로가 가진 자원을 기다리며 무한히 대기하는 상태를 말함즉, 서로가 서로를 기다리느라 아무도 앞으로 진행하지 못하는 상황2. 교착 상태의 예시예시 상황프로세스현재 보유 자원요청 중 자원P1프린터스캐너P2스캐너프린터→ P1은 스캐너가 필요하고,→ P2는 프린터가 필요하지만,서로가 자원을 내놓지 않아 무한 대기 상태 발생.3. 교착 상태 발생의 4가지 조건 (필수 조건)교착 상태는 아래 4가지 조건이 모두 만족될 때만 발생하나라도 깨뜨리면 교착 상태를 예방할 수 있음.조건설명예시상호 배제 (Mutual Exclusion)자원을 한 번에 하나의 프로세스만 사용 가능프린터 1대만 사용 가능점유와 대기 (Hold and Wait)자원을 보유한 채 다른 자원을..
-
메모리 관리 – 페이징과 세그먼테이션Computer Science/OS 2025. 11. 5. 12:43
1. 개요운영체제에서 메모리 관리(Memory Management) 는 프로세스가 사용할 메모리 공간을 효율적이고 안전하게 분배하는 핵심 기능메모리 관리의 목표는 다음과 같음한정된 메모리 자원을 효율적으로 사용여러 프로세스가 동시에 실행될 수 있도록 지원 (멀티프로그램)서로 다른 프로세스가 메모리를 침범하지 않도록 보호2. 메모리 관리 기법의 분류분류설명예시연속 메모리 할당 (Contiguous)하나의 프로세스가 연속된 물리 공간을 차지단일 분할, 다중 분할비연속 메모리 할당 (Non-contiguous)프로세스가 여러 영역으로 나뉘어 저장페이징(Paging), 세그먼테이션(Segmentation)현대 운영체제는 대부분 비연속 메모리 관리(Paging + Segmentation) 방식을 사용3. 연속 메..
-
CPU 스케줄링 알고리즘Computer Science/OS 2025. 11. 4. 17:34
1. 개요운영체제에서 CPU 스케줄링(CPU Scheduling) 은Ready 상태의 여러 프로세스 중 어떤 프로세스에 CPU를 할당할지 결정하는 작업.한정된 CPU 자원을 효율적으로 배분하여 처리량(Throughput) 증가, 응답시간 단축, 공정성(Fairness) 을 달성하는 것이 목표용어설명스케줄링(Scheduling)프로세스 실행 순서를 결정하는 과정디스패처(Dispatcher)선택된 프로세스에 실제로 CPU를 넘겨주는 역할컨텍스트 스위칭(Context Switching)CPU 제어권을 다른 프로세스로 전환하는 과정Ready Queue실행 대기 중인 프로세스들의 대기열2. 스케줄링의 분류기준구분설명선점 여부비선점(Non-preemptive)CPU를 한 번 할당하면 종료 시까지 점유 (예: FCF..
-
프로세스와 스레드 차이Computer Science/OS 2025. 11. 3. 12:23
1. 개요운영체제(OS, Operating System)는 프로그램 실행과 자원 관리를 담당하는 핵심 소프트웨어이 중에서도 프로세스(Process) 와 스레드(Thread) 는 CPU가 작업을 수행하는 기본 단위로, 운영체제 이해의 핵심 개념구분프로세스스레드정의실행 중인 프로그램프로세스 내의 실행 흐름 단위독립성독립적인 메모리 공간 보유같은 프로세스 내 메모리 공유통신 방식프로세스 간 통신(IPC) 필요공유 메모리로 간단한 통신 가능자원 소모크다 (프로세스별 메모리, PCB 등 생성)작다 (Stack만 분리)예시Chrome.exe, Discord.exe탭 단위 실행, 채팅 전송 스레드 등2. 프로세스(Process)란?실행 중인 프로그램(Program in Execution)운영체제는 프로그램을 실행할 ..