SERIES

운영체제

8 Posts·Last updated on September 23, 2025

운영체제의 개념과 구조

September 03, 2025

운영체제(OS, Operating System) 운영체제는 컴퓨터라는 기계 안에서 프로그램과 하드웨어 사이에서 문제없이 그리고 효율적으로 잘 돌아가도록 관리해주는 소프트웨어이다. 운영체제가 없으면 어떻게 될까? 꼭 필요할까? A computer is a machine that can be programmed to automatically carry ou…


커널의 작동 방식

September 04, 2025

앞서, 운영체제란 무엇인지 그리고 커널에 대해 간단하게 알아봤다. 이제 커널이 어떻게 작동하는지 제대로 알아보자. 먼저 인터럽트(Interrupt)에 대해 알아야 한다. 컴퓨터는 위 사진처럼 주변 입출력 기기와 서로 통신하는데 이 과정에서 서로 입출력 요청이 오가는데 이때 입출력 메커니즘들이 발생된다. 이중 하나가 인터럽트이다. 인터럽트는 중단시키다라…


프로세스

September 08, 2025

프로세스란? 컴퓨팅에서 프로세스란 운영체제로부터 메모리 공간을 할당받아 실행 중인 프로그램의 인스턴스를 의미합니다. 여기서 논하는 프로그램이란, 일반적으로 하드 디스크와 같은 저장장치에 저장되어 있는 실행 코드를 뜻합니다. 프로세스의 메모리 공간 프로세스는 다음 4개의 메모리 영역으로 구성되고 가상 메모리 공간에 독립적으로 형성됩니다. 코드 영역(Cod…


CPU 스케줄링

September 12, 2025

기아 상태와 CPU 스케줄링 프로세스들은 실행할 때 컴퓨터 자원을 사용하는데, 이때 CPU도 사용합니다. 그런데 만약 하나의 프로세스가 오랜 시간 동안 CPU를 점유하거나, 너무 짧은 텀동안만 실행되는 경우 공정하지 못한 방법으로 자원을 할당하게 될 것이고 이는 시스템의 효율적이지 못한 방법으로 돌아가게 하는 길을 초래할 수 있을 겁니다. 이를 컴퓨팅에서…


프로세스 동기화

September 19, 2025

프로세스 동기화 컴퓨터에서는 여러 프로세스들이 서로 협력하기 위해 동시에 같은 자원(주소 공간)을 공유하며 실행하기도 합니다. 이러한 상황에서 사용되는 자원에서는 원자성과 일관성을 보장해야 합니다. 이를 위해 운영체제에서는 프로세스 동기화라는 기법을 사용합니다. 컴퓨터 과학에서 동기화는 합의에 도달하거나 특정 작업 순서를 커밋하기 위해 특정 지점에 합류하…


교착 상태

September 21, 2025

교착 상태 교착 상태(deadlock)란 둘 이상의 프로세스가 서로 자원을 점유한 채로 다른 프로세스가 점유한 자원을 기다리며 무한정 대기하는 상태를 의미합니다. 이러한 상황에서는 프로세스들이 서로 자원을 점유하고 있기 때문에 아무도 진행할 수 없게 됩니다. 그럼 교착 상태는 언제 발생할까요? 교착 상태 발생 조건은 다음과 같습니다. 조건 중 하나라도 …


메모리 관리

September 22, 2025

절대 주소와 상대 주소 메모리는 크게 2가지 영역으로 나눌 수 있습니다. 하나는 운영체제가 사용하는 커널 영역이고, 다른 하나는 사용자 프로세스가 사용하는 사용자 영역입니다. 운영체제는 커널 영역을 사용하고, 사용자 프로세스는 사용자 영역을 사용합니다. 운영체제는 중요한 역할을 하기 때문에 사용자가 운영체제 영역을 침범하지 못하도록 분리하여 메모리를 사…


가상 메모리

September 23, 2025

연속 메모리 할당의 문제점 연속 메모리 할당의 문제점은 단편화 문제 외에도 물리 메모리의 크기보다 큰 프로세스의 실행이 불가한 점이 있습니다. 예를 들어, RAM 용량이 4GB인데 프로세스 크기가 5GB면 실행할 수 없는 것을 의미합니다. 하지만 가상 메모리(virtual memory)를 이용하면 이게 가능합니다. 또한 외부 단편화 문제도 해결할 수 있습…