OS 5

디스크 스케줄링 알고리즘 (FCFS, SSTF, SCAN, C-SCAN)

1. 디스크 스케줄링이란?운영체제(OS)에서 디스크는 데이터를 읽고 쓰는 중요한 역할을 담당한다. 하지만, 여러 개의 입출력(I/O) 요청이 동시에 발생하면 디스크가 어떤 순서로 요청을 처리할지 결정해야 한다. 이때, 디스크 스케줄링(Disk Scheduling) 알고리즘을 사용하여 디스크 헤드의 이동을 최적화하고 성능을 향상시킬 수 있다. ✅ 디스크 스케줄링이 필요한 이유디스크 접근 시간을 최소화하여 시스템 성능 향상I/O 대기 시간을 줄여 CPU가 효율적으로 작업할 수 있도록 지원요청이 많은 환경에서 공정하게 자원을 배분📌 실생활 예시: "엘리베이터 운영 방식"엘리베이터가 여러 층에서 호출되었을 때, 호출된 순서대로 이동하면 비효율적이다. 대신, 가까운 층부터 이동하면 이동 거리가 줄어든다. 디스크..

컴퓨터공학 2025.03.08

인터럽트(Interrupt)란? 하드웨어 인터럽트 vs 소프트웨어 인터럽트

1. 인터럽트(Interrupt)란?컴퓨터에서 프로세스는 CPU에서 명령어를 순차적으로 실행한다. 하지만 실행 도중에 예기치 않은 이벤트(입출력 요청, 오류 발생, 사용자 입력 등)가 발생할 수 있다. 이때, CPU가 현재 실행 중인 작업을 멈추고 해당 이벤트를 처리할 수 있도록 도와주는 메커니즘이 바로 **인터럽트(Interrupt)**이다.즉, 인터럽트는 컴퓨터 시스템이 특정 이벤트에 신속하게 반응할 수 있도록 하는 중요한 기능이다. 인터럽트가 발생하면, CPU는 현재 실행 중인 작업을 잠시 중단하고, 운영체제가 해당 이벤트를 처리할 수 있도록 제어를 넘긴다.1-1. 인터럽트가 없으면 어떻게 될까?만약 인터럽트가 존재하지 않는다면, 운영체제는 외부 장치(키보드, 마우스, 네트워크 등)의 상태를 계속해..

컴퓨터공학 2025.03.06

프로세스 상태: 생성, 실행, 대기, 종료

1. 프로세스란?컴퓨터에서 프로그램이 실행되면, 운영체제는 해당 프로그램을 **프로세스(Process)**로 관리한다. 즉, 프로세스는 실행 중인 프로그램을 의미하며, CPU와 메모리를 할당받아 동작한다. 운영체제는 컴퓨터의 리소스를 효율적으로 사용하기 위해 여러 개의 프로세스를 동시에 실행할 수 있도록 멀티태스킹(Multitasking) 환경을 제공한다. 이 과정에서 운영체제는 프로세스를 여러 가지 상태로 나누어 관리하며, 각 상태 간 전환이 이루어진다.1-1. 프로세스와 프로그램의 차이많은 사람들이 "프로세스"와 "프로그램"을 혼동하지만, 두 개념은 다르다.  구분 프로그램 프로세스 정의실행 가능한 명령어와 데이터의 집합실행 중인 프로그램저장 위치하드디스크(SSD/HDD)RAM(메모리)실행 여부실..

컴퓨터공학 2025.03.06

가상 메모리(Virtual Memory)의 개념과 작동 원리

1. 가상 메모리란?컴퓨터에서 프로그램을 실행하려면 **RAM(주기억장치, 메인 메모리)**에 로드해야 한다. 하지만 실행해야 할 프로그램이 많거나, RAM 용량보다 많은 데이터를 처리해야 하는 경우 문제가 발생한다. 이를 해결하기 위해 운영체제는 **가상 메모리(Virtual Memory)**를 활용하여 RAM보다 더 많은 용량을 사용할 수 있도록 지원한다. 즉, 실제 물리적 메모리(RAM)보다 더 큰 "가상의 메모리 공간"을 제공하여 메모리 부족 문제를 해결하는 기술이다.1-1. 가상 메모리의 핵심 개념프로세스는 실제 RAM보다 더 많은 메모리를 사용할 수 있음하드디스크(SSD/HDD)의 일부를 가상 메모리로 사용하여 RAM처럼 활용프로그램 실행 시 필요한 부분만 RAM에 올리고, 나머지는 디스크에 ..

컴퓨터공학 2025.03.05

운영체제란? 개념과 역할

1. 운영체제(OS)의 개념과 중요성운영체제(Operating System, OS)는 컴퓨터 하드웨어와 소프트웨어를 제어하고, 자원을 효율적으로 관리하는 시스템 소프트웨어다. 사용자가 컴퓨터를 편리하게 사용할 수 있도록 인터페이스를 제공하며, 하드웨어와 애플리케이션이 원활하게 동작하도록 돕는 핵심 역할을 한다.1-1. 운영체제가 없다면?운영체제가 없다면 사용자는 각각의 하드웨어를 직접 제어해야 하고, 프로그램을 실행하기도 어려운 환경이 된다.예를 들어, 운영체제 없이 컴퓨터를 부팅하면 단순한 하드웨어 집합에 불과하며, 키보드, 마우스 등 입력 장치도 인식하지 못한다.OS가 하는 일: 키보드를 입력하면 화면에 표시되도록, 파일을 저장하면 하드디스크에 기록되도록 처리하는 모든 과정이 운영체제를 통해 이루어진..

컴퓨터공학 2025.03.05