Post

운영체제 - 컴퓨터 시스템(1)

들어가기에 앞서

반갑습니다. 운영체제에 관한 글을 쓰려고 합니다. 운영체제(Operating System, 줄여서 앞으론 os라고 하겠습니다.)는 어느 학교 커리큘럼이든지 운영체제는 무조건 있지 않나요? 어느 학교 컴퓨터공학과 졸업생이라도 C언어 문법은 기억 안난다고 할지언정, 운영체제라는 단어가 기억조차 나지 않는다라고 하는 사람은 아마 없을 만큼, 어떤 수업에서 한 번쯤은 무조건 언급되는 그만큼 software의 근간이 되는, 그만큼 중요한 것입니다.

Operating System?

그래서 운영체제가 뭔데?

운영체제라는 것은 뭐랄까요. 알기 쉽게 이야기하자면, 하나의 프로그램입니다. 프로그램은 어떤 누군가가 어떤 이유에 의해 만든 것인데, 그러면 왜 만들었는지 한 번 파악을 해보자는 것입니다. 컴퓨터를 두 가지로 나눈다면, software과, hardware로 나뉩니다.

hardware?

hardware는 말 그대로, 물리적으로 존재하는 우리가 직접 두드리는 키보드, 직접 보는 모니터 등이 바로 hardware죠. 아주 조금만 더 미시적인 세계로 들어가보면, 컴퓨터 내부 cpu, gpu(그래픽 카드), 메모리, 하드 디스크, ssd, 메인보드(마더보드)등도 다 hardware입니다.

software?

software는 soft 아이스크림인가요? 그럴리 없습니다. 소프트웨어라는 것은 어떤 명령어들의 집합입니다. 즉, 프로그램입니다. 이러한 software를 작동시키기 위해 필수적인 것이 hardware입니다. 하지만, hardware는 software없이 무엇인가 할 수 있습니다. 예시로 오토마틱 시계입니다. 이러한 시계는 따로, software가 필요로 해보이지 않는 것은 자명합니다. 하지만 software는 hardware없이는 작동할 수 없습니다. 그렇습니다. software는 hardware에 의존적입니다.

computer

우리가 아는 컴퓨터는 hardware과 software로 이루어져 있음을 이해했습니다. 본래 컴퓨터라는 것은 “계산하다”는 어원에서 따온 것을 우리는 압니다. 컴퓨터가 계산할 무엇인가는 0,1로 이루어져 있고, 이러한 0,1을 잘 조합시켜서 hardware에 잘 올리는 것이 software 개발자들이 하는 일입니다.

출처 : 나무위키

그렇다면 컴퓨터의 어떤 부품이 이러한 작업을 하고, 내가 계산하는데 필요한 0,1은 어디에 있나요? 정답은 CPU메모리입니다. CPU는 주 연산을 하는 장치고, 메모리는 CPU가 연산할 다음의 0,1을 담아두는 작업대라고 생각하면 됩니다.

사람들이 컴퓨터로 무엇인가 한다고 생각해보겠습니다. CPU에게 작업을 시키기 위해, 직접 컴퓨터 나사를 뜯고, 메모리에 0,1(off, on)으로 올라와 있는 상태를 직접 변경하나요? 절대 그러지 않습니다. 그냥 더블클릭 한 번으로 실행하지 않나요? 이는, 어떤 프로그램에게 명령을 했기 때문입니다. 이렇게 작업을 할 수 있게 지시하는 어떤 프로그램이 OS입니다. 이제 operating system의 단어의 뜻을 알아봅시다.

1
2
operating : 작동/운영
system : 말 그대로 시스템입니다.

작동/운영하는 시스템입니다. 우리가 사용하는 컴퓨터를 작동시켜주는 프로그램이라고 이해하면 될 것 같습니다. naive하게 설명했는데, 일단은 대충 이해합시다. 대표적인 예시가 윈도우입니다. 윈도우가 존재하지 않는다면, 컴퓨터를 켜도, 우리가 자주 하는 게임도 접속을 못 하고, 웹 서핑도 못 합니다. 그렇습니다. 윈도우는 hardware에 종속적이지만 (software의 한계), 사용자가 원하는 명령을 잘 해석해서, hardware(CPU)에게 잘 전달합니다. 결국 과정은 크게 중요하지 않다는 것입니다.

마무리하며

컴퓨터 시스템의 구조에 대해 알아보았습니다. 다음 글에는 조금 더 자세하게 알아봅시다.

This post is licensed under CC BY 4.0 by the author.