Computer Science/운영체제

[운영체제] 운영체제의 개념과 필요성

웅지니어링 2022. 12. 21. 20:09

* 운영체제의 개념

OS(Operating System)이라고 일컫는 운영체제는 일반 컴퓨터나 노트북의 전원을 켜면 가장 먼저 만나게 되는 소프트웨어로, 대표적인 예는 개인용 컴퓨터에서 사용하는 윈도우Mac OS, 대형 컴퓨터에서 사용하는 유닉스(Unix)리눅스(Linux) 등이다. 운영체제는 스마트폰에도 쓰인다. 이러한 운영체제를 모바일 운영체제라고 하며, 애플의 iOS와 구글의 안드로이드가 대표적이다. 이 중 iOS는 애플의 폐쇄적인 정책으로 애플 제품에만 사용되며, 안드로이드는 구글의 개방 정책으로 여러 스마트폰 제조사에서 사용하고 있다. CPU의 성능이 낮고 메모리 크기도 작은 시스템에 내장하도록 만든 운영체제를 임베디드 운영체제(Embedded Operating System) 또는 임베디드 시스템(Embedded System)이라고 한다. 임베디드 운영체제가 있는 기계는 기능을 계속 향상할 수 있다.

 

* 운영체제의 필요성

초기의 컴퓨터는 정해진 계산만 수행했기 때문에 특별한 사용 규칙이 필요 없었다. 그러나 메모리, CPU 등의 성능이 향상되고, 여러 작업을 동시에 할 수 있는 컴퓨팅 환경이 조성되면서 사용 규칙이 필요해졌다. 복잡한 작업 환경에 규칙이 없으면 기계를 망가뜨릴 수 있기 때문에 등장한 것이 바로 운영체제이다.

Q) 컴퓨터는 운영체제가 없어도 작동하는가?

A) 작동한다. 세계 최초의 컴퓨터로 알려진 에니악은 4층 건물 크기의 커다란 기계 덩어리였다. 진공관으로 만들어진 에니악은 미사일 탄도를 계산하기 위해 개발되었다. 운영체제도 없고 키보드와 모니터도 없었지만 정상적으로 작동했다. 운영체제가 없는 에니악을 컴퓨터라고 부르는 이유는 프로그래밍이 가능했기 때문이다. 그러나 새로운 기능을 구현하려면 매번 회로를 변경해야 하는데다 복잡한 기능은 구현하기 어려웠다.

 

Q) 운영체제가 있는 기계와 없는 기계는 어떤 차이가 있는가?

A) 운영체제가 없는 기계는 만들 당시에 구현한 기능 외에 다른 기능을 추가하거나 성능을 향상할 수 없기 때문에 처음에 설계한 대로만 사용할 수 있다. 반면에 운영체제가 있는 기계는 새로운 기능의 추가나 성능의 변경이 가능하므로 성능 및 효울성 향상을 꾀할 수 있으며, 이러한 기계를 프로그램이 가능한(programmable) 기계라고 부른다. ex) 유선 전화기와 스마트폰의 차이

 

Q) 운영체제는 성능을 향상하는 데에만 필요한가?

A) 운영체제는 성능 향상뿐 아니라 자원 관리라는 중요한 역할도 한다. 우리는 컴퓨터를 사용할 때 워드프로세서, 웹 브라우저, 채팅, 음악 재생 소프트웨어 등을 동시에 사용하며, 이러한 소프트웨어를 응용 프로그램(Application Program)이라고 한다. 그런데 많은 응용 프로그램에 비해 컴퓨터를 구성하는 장치는 매우 제한적이다. 즉 대부분이 하나의 키보드, CPU, 메모리, 모니터, 마우스, 하드디스크로 이루어져 있어 각각의 응용 프로그램이 이 장치들을 서로 독차지하려 한다. 이러한 문제를 해결하려면 자원을 관리하는 강력한 중재자가 필요하다. 이 중재자(운영체제)는 누구에게 먼저 키보드를 주어야 할지, 누구에게 먼저 모니터를 주어야 할지 등을 결정하고, 악의적인 응용 프로그램으로부터 컴퓨터 자원을 보호하는 역할도 담당한다.

 

Q) 운영체제는 자원을 어떻게 관리하는가?

A) 초창기의 컴퓨터는 CPU와 메모리, 키보드, 플로피디스크, 모니터 정도의 단순한 구성이었으나 기술이 발달하면서 메모리 크기가 커지고 하드디스크, 마우스, 사운드카드, 그래픽 카드, 네트워크 카드, 터치패드와 같은 다양한 주변장치가 등장하게 되었다. 이렇게 컴퓨터에 부착된 모든 장치를 컴퓨터 자원(Computer Resource)이라고 한다. 운영체제는 사용자가 직접 자원에 접근하는 것을 막음으로써 자원을 보호하고 관리한다. 예를 들어 사용자가 하드디스크에 데이터를 저장하려는 경우, 사용자는 하드디스크의 특정 위치에 데이터를 저장할 수 없으며, 운영체제에 부탁하면 운영체제가 알아서 적당한 위치에 저장한다. 만약 사용자가 하드디스크에 데이터를 저장할 수 있다면 악의적인 사용자가 데이터를 지우거나 덮어쓰는 일이 발생할 수도 있다. 이를 방지하기 위해 운영체제는 응용 프로그램과 사용자에게 모든 자원을 숨긴다.

 

Q) 사용자는 숨어 있는 자원을 어떻게 이용할 수 있는가?

A) 운영체제는 사용자가 자원에 직접 접근하지 못하도록 하는 대신 자원을 이용할 수 있는 여러 가지 방법을 제공한다. 사용자가 컴퓨터를 사용할 수 있게 해주고 그 결과를 알려주는 것을 인터페이스(Interface)라고 한다. 운영체제는 사용자가 컴퓨터를 보다 쉽게 사용할 수 있도록 다양한 인터페이스를 제공함으로써 컴퓨터 자원을 보호함과 동시에 사용자의 편의를 도모한다.

 

* 결론

운영체제는 사용자에게 인터페이스를 제공하고 응용 프로그램에게 컴퓨터 자원을 골고루 배분해준다. 또한 적당한 시점에 응용 프로그램으로부터 자원을 회수하고, 악의적인 응용 프로그램으로부터 컴퓨터를 보호하기도 한다. 즉, 운영체제는 각각의 응용 프로그램이 활동할 수 있는 환경을 제공하고, 응용 프로그램이 필요로 하는 컴퓨터 자원을 나누어주며, 응용 프로그램으로부터 컴퓨터 자원을 보호하는 강력한 '통치자' 역할을 한다. 

 

- 펌웨어(Firmware) : 운영체제는 우리가 사용하는 각종 소프트웨어 중 하나이다. 게임이나 문서 편집기 같은 소프트웨어가 특정 목적을 위해 존재한다면, 운영체제는 컴퓨터에 있는 하드웨어(자원)를 조정하고 관리하기 위해 존재한다. 그런데 운영체제는 하드웨어를 조정하고 관리하는 역할을 하므로 하드웨어의 도움 없이 작동하기가 어렵기 때문에 운영체제를 소프트웨어와 하드웨어의 결합 형태인 펌웨어라고 부르기도 한다.