하드웨어를 직접 다루지 않게 해 주는 층
컴퓨터에는 CPU, 메모리, 저장장치, 키보드, 화면, 네트워크 장치가 있다. 하지만 우리가 문서 편집기나 웹 브라우저를 사용할 때 이 장치들을 직접 제어하지는 않는다. 그 사이에서 일을 대신 처리하는 소프트웨어가 운영체제다.
운영체제의 핵심은 커널이다. 커널은 하드웨어와 응용 프로그램 사이에 있는 중심 부분으로, CPU 사용, 메모리 할당, 파일 읽기와 쓰기, 장치 제어 같은 기본 서비스를 제공한다. 응용 프로그램은 "파일을 열어 달라", "화면에 그려 달라", "네트워크로 데이터를 보내 달라"고 요청하고, 커널은 실제 하드웨어 규칙에 맞게 그 일을 수행한다.
이 구조 덕분에 프로그램 개발자는 모든 키보드, 모든 SSD, 모든 그래픽 장치의 세부 동작을 직접 알 필요가 없다. 운영체제가 공통된 사용 방법을 제공하기 때문이다.

실행 중인 프로그램: 프로세스와 스레드
저장장치에 놓인 프로그램 파일은 아직 실행 중이 아니다. 사용자가 프로그램을 실행하면 운영체제는 그 파일을 메모리로 읽어 오고, CPU가 실행할 수 있는 상태로 만든다. 이렇게 실행 중인 프로그램을 프로세스라고 한다.
프로세스는 자기만의 메모리 공간, 열린 파일 목록, 실행 상태 같은 정보를 가진다. 그래서 한 프로그램에 문제가 생겨도 다른 프로그램의 메모리를 함부로 건드리지 못하게 막을 수 있다.
스레드는 프로세스 안에서 실제 작업을 나누어 수행하는 실행 흐름이다. 예를 들어 하나의 브라우저 프로세스 안에서 화면을 그리는 스레드, 파일을 내려받는 스레드, 사용자의 입력을 처리하는 스레드가 함께 움직일 수 있다. 프로세스가 작업의 큰 단위라면, 스레드는 그 안에서 일을 나누는 더 작은 단위라고 볼 수 있다.
동시에 실행되는 것처럼 보이는 이유
기본적으로 CPU 코어 하나는 한순간에 제한된 실행 흐름만 처리한다. 그런데 우리는 음악을 들으면서 문서를 쓰고, 동시에 파일을 내려받을 수 있다. 이것은 운영체제의 스케줄러가 CPU 시간을 아주 짧게 나누어 여러 작업에 배분하기 때문이다.
스케줄러는 어떤 프로세스나 스레드에 CPU를 줄지 결정한다. 한 작업을 잠깐 실행하다가 멈추고, 다른 작업을 실행한다. 이 전환이 매우 빠르게 일어나기 때문에 사용자는 여러 프로그램이 동시에 실행되는 것처럼 느낀다. 여러 코어가 있는 컴퓨터라면 실제로 여러 실행 흐름이 나란히 처리되기도 하지만, 그때도 어떤 작업에 CPU 시간을 줄지 정하는 운영체제의 역할은 여전히 중요하다.
여기서 중요한 것은 공정성과 반응성이다. 오래 계산하는 프로그램 하나가 CPU를 계속 차지하면 다른 프로그램이 멈춘 것처럼 보인다. 그래서 운영체제는 작업의 우선순위, 대기 시간, 입출력 상태를 고려해 CPU 시간을 나눈다.
시스템 호출: 안전한 요청 통로
응용 프로그램이 하드웨어를 마음대로 제어할 수 있다면 위험하다. 한 프로그램이 디스크 전체를 지우거나 다른 프로그램의 메모리를 읽을 수도 있다. 그래서 현대 컴퓨터는 일반 프로그램이 제한된 권한에서 실행되도록 한다.
프로그램이 파일을 읽거나, 새 프로세스를 만들거나, 네트워크를 사용해야 할 때는 커널에 정식으로 요청해야 한다. 이 요청 통로를 시스템 호출이라고 한다. 시스템 호출은 응용 프로그램이 운영체제 기능을 사용하는 안전한 문이다.
커널은 요청을 받은 뒤 권한이 있는지, 요청이 올바른지 확인한다. 문제가 없으면 대신 작업을 수행하고 결과를 돌려준다. 이렇게 하면 편리함과 안전성을 함께 얻을 수 있다.
파일, 장치, 권한을 관리하는 관리자
운영체제는 파일도 관리한다. 사용자는 폴더와 파일 이름으로 데이터를 다루지만, 실제 저장장치에는 수많은 블록 단위로 데이터가 기록된다. 운영체제는 어느 블록에 어떤 파일 조각이 있는지 기록하고, 파일 이름과 위치를 연결한다.
장치 제어도 운영체제의 일이다. 프린터, 마우스, 저장장치, 네트워크 카드마다 동작 방식은 다르다. 운영체제는 장치 드라이버를 통해 각 장치의 차이를 흡수하고, 응용 프로그램에는 비교적 통일된 사용 방법을 제공한다.
또한 운영체제는 사용자 계정과 권한을 관리한다. 어떤 사용자는 파일을 읽기만 할 수 있고, 어떤 사용자는 수정할 수 있다. 시스템의 중요한 설정은 관리자 권한이 있어야 바꿀 수 있다. CPU의 보호 모드와 메모리 보호 기능은 이런 규칙을 하드웨어 수준에서 도와준다.
운영체제는 눈에 잘 보이지 않지만, 컴퓨터 전체의 질서를 유지한다. 여러 프로그램이 충돌하지 않게 하고, 자원을 나누며, 위험한 행동을 막고, 복잡한 장치를 사용하기 쉽게 만든다. 우리가 컴퓨터를 편리하게 쓰는 이유는 운영체제가 이 복잡한 관리를 대신하고 있기 때문이다.
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.
