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…
September 12, 2025
기아 상태와 CPU 스케줄링 프로세스들은 실행할 때 컴퓨터 자원을 사용하는데, 이때 CPU도 사용합니다. 그런데 만약 하나의 프로세스가 오랜 시간 동안 CPU를 점유하거나, 너무 짧은 텀동안만 실행되는 경우 공정하지 못한 방법으로 자원을 할당하게 될 것이고 이는 시스템의 효율적이지 못한 방법으로 돌아가게 하는 길을 초래할 수 있을 겁니다. 이를 컴퓨팅에서…
September 19, 2025
프로세스 동기화 컴퓨터에서는 여러 프로세스들이 서로 협력하기 위해 동시에 같은 자원(주소 공간)을 공유하며 실행하기도 합니다. 이러한 상황에서 사용되는 자원에서는 원자성과 일관성을 보장해야 합니다. 이를 위해 운영체제에서는 프로세스 동기화라는 기법을 사용합니다. 컴퓨터 과학에서 동기화는 합의에 도달하거나 특정 작업 순서를 커밋하기 위해 특정 지점에 합류하…
September 21, 2025
교착 상태 교착 상태(deadlock)란 둘 이상의 프로세스가 서로 자원을 점유한 채로 다른 프로세스가 점유한 자원을 기다리며 무한정 대기하는 상태를 의미합니다. 이러한 상황에서는 프로세스들이 서로 자원을 점유하고 있기 때문에 아무도 진행할 수 없게 됩니다. 그럼 교착 상태는 언제 발생할까요? 교착 상태 발생 조건은 다음과 같습니다. 조건 중 하나라도 …
September 22, 2025
절대 주소와 상대 주소 메모리는 크게 2가지 영역으로 나눌 수 있습니다. 하나는 운영체제가 사용하는 커널 영역이고, 다른 하나는 사용자 프로세스가 사용하는 사용자 영역입니다. 운영체제는 커널 영역을 사용하고, 사용자 프로세스는 사용자 영역을 사용합니다. 운영체제는 중요한 역할을 하기 때문에 사용자가 운영체제 영역을 침범하지 못하도록 분리하여 메모리를 사…