컴퓨터와 운영체제 (역할, 구조, 필요성, 관리)
컴퓨터를 처음 배울 때 "운영체제가 왜 필요한가요?"라는 질문을 한 번쯤 해봤을 겁니다. 저도 처음 컴퓨터를 공부하던 시절, 운영체제 없이 프로그램을 직접 돌려보려다 화면이 아무것도 안 나오는 상황을 겪고 나서야 그 중요성을 피부로 느꼈습니다. 운영체제는 단순한 프로그램이 아니라, 하드웨어와 사람 사이를 연결하는 유일한 다리입니다. 운영체제의 역할, 생각보다 훨씬 넓었습니다 일반적으로 운영체제(OS, Operating System)는 "컴퓨터를 켜면 나오는 화면" 정도로만 인식하는 경우가 많습니다. 저도 처음에는 그랬습니다. 그런데 2018년 겨울, 대학교 컴퓨터공학 수업에서 처음으로 운영체제 없이 하드웨어에 직접 명령을 내리는 실습을 해봤을 때, 그 생각이 완전히 바뀌었습니다. 어셈블리어(Assembly Language)로 간단한 숫자 출력 하나를 하려는데, CPU 레지스터 주소를 직접 지정하고, 메모리 번지를 일일이 계산해야 했습니다. 어셈블리어란 기계어(0과 1)에 가장 가까운 저수준 프로그래밍 언어를 뜻합니다. 결국 두 시간을 써도 화면에 숫자 하나 못 띄웠고, 그날 이후 운영체제를 다시 보게 됐습니다. 운영체제가 실제로 하는 일을 나열해 보면 생각보다 방대합니다. 단순히 바탕화면을 보여주는 게 아니라, 키보드 입력 하나도 운영체제를 통해 처리되고, 파일 저장 역시 운영체제가 저장 위치를 결정합니다. 이렇게 운영체제는 하드웨어와 소프트웨어 사이의 중재자 역할을 수행합니다. 운영체제 없이 응용 프로그램이 하드웨어를 직접 제어한다면, 프로그램 하나가 오작동할 때마다 전체 시스템이 멈추게 됩니다. 컴퓨터 구조 속에서 운영체제가 차지하는 위치 컴퓨터 구조를 처음 배울 때 저는 "하드웨어 위에 운영체제, 그 위에 응용 프로그램"이라는 단순한 도식을 외웠습니다. 그런데 실제로는 그보다 훨씬 정교한 계층 구조(Layered Architecture)가 존재합니다. 계층 구조란 각 소프트웨어 단계가...