OS 2

[운영체제] 02. 프로세스 개념과 상태 전이

오늘은 운영체제에서 자주 듣는 단어인 프로세스를 정리했다. 처음엔 "프로그램이랑 프로세스가 뭐가 다르지? 그냥 실행 중인 프로그램 아닌가?" 정도로만 알고 있었는데, 운영체제가 한정된 CPU(Central Processing Unit, 중앙처리장치)를 누구한테 줄지 결정하는 그 "누구"가 바로 프로세스다. 이 개념을 대충 알고 넘어가면 뒤에 나오는 스케줄링이나 동기화가 전부 흐릿해진다.이번 글에서는 내가 짠 코드 한 덩어리가 어떻게 실행 가능한 형태로 메모리에 올라가는지, 일단 올라간 뒤에는 어떤 상태들을 오가며 CPU를 받았다 뺏겼다 하는지를 따라가며 정리했다.1. 시스템 소프트웨어 (번역·연결·적재)내가 작성한 소스 코드는 그 자체로는 CPU한테 한 글자도 의미가 없다. 이 부분이 처음엔 잘 와닿지 ..

computer_science/os 2026.07.19

[운영체제] 01. 운영체제 개요와 역할

운영체제는 평소엔 존재감이 없다가, 막상 뭔가 느려지거나 멈추면 그제야 의식하게 되는 소프트웨어다. 지금 이 글을 띄우고 있는 순간에도 운영체제는 수백 개의 프로세스에 CPU 시간을 잘게 쪼개 나눠주고, 메모리가 부족하면 일부를 디스크로 밀어내고, 키보드 입력을 받아 화면에 글자를 그리는 일을 1초에도 수없이 반복하고 있다. 이 글에서는 "운영체제란 대체 무슨 일을 하는 소프트웨어인가"라는 큰 그림을 잡아본다. 세부 기능으로 들어가기 전에 이 지도를 손에 쥐고 있으면, 복잡해 보이는 기능들이 사실 몇 개의 일관된 목적에서 갈라져 나온 것임을 알 수 있다.1. 소프트웨어와 운영체제컴퓨터에서 돌아가는 소프트웨어는 목적에 따라 크게 둘로 나뉜다.시스템 소프트웨어: 하드웨어를 직접 제어·운영하기 위한 프로그램...

computer_science/os 2026.06.24