'컴퓨터 과학' 카테고리의 글 목록
ProgramminGucci
컴퓨터 과학
💻 [운영체제] CPU 스케줄링 알고리즘 정리 (FCFS, SJF, Priority, RR)

2025.04.24
📌 CPU 스케줄링이란?CPU가 어떤 프로세스를 먼저 실행할지를 결정하는 운영체제의 핵심 기능프로세스가 실행되기 위해서는 CPU를 점유해야 함모든 프로세스가 동시에 실행될 수 없기 때문에, 공정하고 효율적인 스케줄링 방식이 필요함1️⃣ FCFS (First-Come, First-Served)✅ 정의먼저 도착한 프로세스부터 순차적으로 CPU를 할당🔍 특징간단하고 직관적큐(Queue) 구조로 구현📉 단점Convoy Effect 발생 가능→ 긴 작업이 먼저 오면 뒤의 짧은 작업들이 오랫동안 대기하게 됨💡 예시프로세스도착 시간실행 시간P1010P212P321→ 실행 순서: P1 → P2 → P3→ 평균 대기 시간 증가2️⃣ SJF (Shortest Job First)✅ 정의실행 시간이 가장 짧은 프로세스..
컴퓨터 과학
💻 [운영체제] 멀티태스킹 & 컨텍스트 스위칭 정리

2025.04.24
📌 개념 요약🔹 멀티태스킹 (Multitasking)하나의 CPU가 여러 작업을 동시에 처리하는 것처럼 보이게 만드는 방식실제로는 CPU가 여러 작업을 매우 빠르게 번갈아가며 처리함사용자 눈엔 동시에 실행되는 것처럼 보이지만, 순차적으로 조금씩 처리 중🔹 컨텍스트 스위칭 (Context Switching)CPU가 작업을 전환할 때 현재 작업 상태를 저장하고, 새로운 작업 상태를 불러오는 과정상태 저장에는 레지스터, 프로그램 카운터(PC) 등이 포함됨저장 공간: PCB (Process Control Block)💡 예시 & 비유🔸 현실 비유“책 A를 읽다가 책갈피 꽂고 → 책 B 펴서 읽는 것”프로세스 간 전환 = 책 변경스레드 간 전환 = 같은 책 안에서 페이지 전환🔸 실무 예시웹 서버(Tomc..
컴퓨터 과학
💻 [운영체제] 프로세스 vs 스레드 차이 정리

2025.04.23
📌 개념 요약프로세스(Process)운영체제로부터 자원을 할당받아 실행 중인 프로그램 단위독립된 메모리 영역을 가짐 (코드, 데이터, 힙, 스택 전부 별도)다른 프로세스와 메모리 공유 불가 → 통신 위해 IPC 사용스레드(Thread)하나의 프로세스 내에서 실행되는 작은 단위의 작업 흐름힙/데이터 영역 공유, 스택은 독립적으로 사용컨텍스트 스위칭 비용이 낮아 빠른 전환 가능📊 차이점 요약항목프로세스스레드메모리 구조완전 독립힙/데이터 공유, 스택은 개별생성/종료 비용큼 (무겁다)작음 (가볍다)통신 방식IPC 사용공유 자원 접근안정성하나 죽어도 영향 없음하나 죽으면 전체 영향💡 실무에서의 예시Java 웹 서버 (예: Tomcat)하나의 프로세스가 실행됨각 사용자 요청마다 새로운 스레드가 할당됨성능 최적..