본문은 Operating System Concepts Edition 8th를 기반으로 작성했습니다. 시스템 구조에 대한 기본적인 지식의 공부를 목적으로 작성하였으니, 잘못된 부분이 있다면 코멘트로 말씀해주시면 감사하겠습니다.

운영체제란?

운영체제(operating system)은 컴퓨터 하드웨어를 관리하는 프로그램이다.
운영체제는 또한 응용 프로그램을 위한 기반을 제공하며, 컴퓨터 사용자와 
컴퓨터 하드웨어 사이에서 중재자 역할을 한다.

운영체제의 목적은 사용자가 프로그램을 실행할 수 있는 환경을 제공하는 것이다. 이 환경에서 사용자는 프로그램을 편리하고 효율적으로 실행할 수 있다. 운영체제는 컴퓨터 하드웨어를 관리하는 소프트웨어이다. 하드웨어는 컴퓨터 시스템의 정확한 동작을 보장하고 사용자 프로그램이 시스템의 정상적인 동작을 방해하는 것을 막을 수 있는 적절한 메커니즘을 제공해야한다.

운영체제의 놀라운 점은 이러한 일들을 실행하는 데 대단히 다양한 방법이 존재한다는 것이다. 대형 컴퓨터의 운영체제는 주로 하드웨어의 이용을 최적화하는데 주안을 두고 있다. 퍼스널 컴퓨터 운영체제는 복잡한 게임, 비즈니스 응용, 그리고 이들 중간에 위치하는 모든 응용을 지원한다.

휴대용 컴퓨터 운영체제는 사용자가 프로그램을 실행하기 위해 컴퓨터와 쉽게 인터페이스할 수 있는 환경을 제공하기 위해 설계되었다.

운영체제가 할 일(What Operating System Do)

컴퓨터 시스템은 대개 네 가지 구성요소인 하드웨어, 운영체제, 응용 프로그램 및 사용자로 구분할 수 있다.

하드웨어는 중앙처리장치(CPU), 메모리 및 입출력(I/O) 장치로 구성되어 기본 계산용 자원을 제공한다.

응용 프로그램인 워드프로세서, 스프레드시트, 컴파일러, 그리고 웹 브라우저 등은 사용자의 계산 문제를 해결하기 위해 이들 자원이 어떻게 사용될 지를 정의한다.

운영체제는 하드웨어를 제어하고 다양한 사용자를 위해 다양한 응용 프로그램간의 하드웨어 사용을 조정한다.

또한, 컴퓨터 시스템은 하드웨어, 소프트웨어 및 데이터로 구성된다고 볼 수 있다. 운영체제는 컴퓨터 시스템이 동작할 때 이들 자원을 적절하게 사용할 수 있는 방법을 제공한다. 운영체제는 정부(government)와 유사하다. 정부처럼 그 자체로는 유용한 기능을 실행하지는 못하지만, 단순히 다른 프로그램이 유용한 작업을 할 수 있는 환경을 제공한다.

		컴퓨터 시스템 구성요소에 대한 개략적 구성도
        

관점에 따른 이해.

사용자 관점(User View)

컴퓨터에 대한 사용자의 관점은 사용되는 인터페이스에 따라 달라진다. 대부분의 컴퓨터 사용자는 모니터, 키보드 마우스 및 시스템 유니트로 구성된 PC 앞에서 작업을 한다. 이러한 시스템은 한 사용자가 자원을 독점하도록 설계되었으며, 목표는 사용자가 실행하는 작업(또는 놀이)을 최대화 하는 것이다.

이러한 경우에 운영체제는 성능에 대해 약간의 고려를 하고 주로 사용의 용이성을 위해 설계되지만, 다양한 하드웨어와 소프트웨어 자원이 어떻게 공유되느냐 하는 자원의 이용 측면에는 전혀 신경을 쓰지 않는다. 이런 시스템들은 다수 사용자의 요구사항을 만족시키기보다는 한 사용자가 사용하기에 적합하도록 최적화한다.

다른 경우 사용자는 대형 컴퓨터나 미니 컴퓨터에 연결된 터미널에 앉아 있는 경우도 있다. 다른 사용자들은 동일한 컴퓨터를 다른 터미널을 통해 접근하고 있다. 이들 사용자들은 자원을 공유하며 정보를 교환할 수 있다. 이 경우 운영체제는 자원 이용을 극대화하도록 설계된다. 가용한 CPU 시간, 메모리 및 입출력장치 등 모든 자원이 효율적으로 사용되고, 사용자는 자신의 몫 이상은 차지할 수 없다.

위에 글이 어떤 의미로 번역이 된건지 이해가 안되서 검색도 해보고 스스로 생각을 해봤습니다.
터미널에 앉아있는 경우라는 것은 인터넷 환경에 접속된 경우와 비슷한 의미를 가질 것 같고,
업로드와 다운로드가 가능한 환경속에서 우리 운영체제는 가지고 있는 자원을 가장 효율적으로
사용하도록 설계가 된 것 같습니다.

가용한 CPU 시간, 메모리 및 입출력장치 등 모든 자원이 효율적으로 사용되고, 사용자는
자신의 몫 이상은 차지할 수 없다는 것은 우리가 가지고있는 메모리의 용량 이상은 가질 수
없는 것을 말하는 것이 아닌가 싶습니다.

블로거의 개인적인 의견이고, 정답은 아니니 확신은 가지지 않으셨으면 좋겠습니다.

또 다른 경우 사용자는 다른 워크스테이션과 서버의 네트워크에 연결된 워크스테이션에 앉아 있다. 이들 사용자들은 자신이 맘대로 할 수 없는 전용 자원을 갖지만 이들은 또한 네트워킹과 서버-파일, 계산 및 프린터 서버를 공유한다. 따라사 운영체제는 개인의 사용 용이성과 자원 이용 간에 적절한 조화를 이루도록 설계된다.

최근 다양한 휴대용 컴퓨터들이 이용되고 있다. 이들 장치의 대부분은 개인 사용자들을 위한 독립형 장치들이다. 일부는 회선으로 직접 또는 무선 모뎀이나 네트워킹을 통해 네트워크에 연결된다. 전력과 속도, 인터페이스이 제약 때문에 이들은 원격 연산의 실행이 비교적 적다. 이 장치들의 운영체제는 주로 개인적 유용성을 위해 설계되지만, 배터리 수명 대비 성능 또한 중요한 고려사항이다.

시스템 관점(System View)

컴퓨터의 관점에서 운영체제는 하드웨어와 가장 친밀한 프로그램이다. 따라서 우리는 운영체제를 자원 할당자(resource allocator) 로 볼 수 있다. 컴퓨터 시스템은 문제를 해결하기 위해 요구되는 여러 가지 자원들(하드웨어와 소프트웨어) 즉, CPU 시간, 메모리 공간, 파일 저장 공간, 입출력장치 등을 가진다. 운영체제는 이들 자원의 관리자로서 동작한다.

자원에 대한 서로 상충될 수도 있는 많은 요청이 있기 때문에 운영체제는 컴퓨터 시스템을 효율적이고 공정하게 운영할 수 있도록 어느 프로그램과 사용자에게 자원을 할당할 지를 결정해야 한다. 자원 할당은 메인프레임이나 미니컴퓨터에 동시에 접근하는 사용자들이 많은 경우에 특히 중요하다.

미니컴퓨터(minicomputer)는 대형 컴퓨터인 메인프레임과 비슷한 역할을 하되, 
그 크기와 성능을 간소화한 컴퓨터이다. 최초의 미니컴퓨터는 1964년 DEC가 출시한 PDP-8이다.
DEC(digital Equipment Corporation)가 생산한 미니컴퓨터의 도입으로 변하기 시작하였다. 
DEC 미니컴퓨터는 메인프레임보다 훨씬 저렴한 가격으로 강력한 장비를 제공하는데, 
이러한 미니컴퓨터는 하나의 거대한 메인프레임에서 시분할을 처리하기 보다는 개별 부서나 
사업단위의 특정 요구에 맞춤화된 분산 컴퓨팅을 가능하게 했다.

운영체제에 대한 다소 다른 관점은 여러 가지 입출력 장치와 사용자 프로그램을 제어할 필요성을 강조한다. 운영체제는 제어 프로그램(Control program)이다. 제어 프로그램은 컴퓨터의 부적절한 사용을 방지하기 위해 사용자 프로그램의 실행을 제어한다. 운영체제는 특히 입출력장치의 제어와 작동에 관심을 가진다.

운영체제의 정의

일반적으로, 운영체제에 대한 완벽한 정의는 없다. 운영체제가 존재하는 이유는 운영체제가 컴퓨터 시스템을 유용하게 만드는 과정에서 발생하는 문제점을 해결하기 위한 합리적인 방법을 제공하기 때문이다.

컴퓨터 시스템의 근본 목적은 사용자 프로그램을 실행하고, 사용자 문제의 해결을 보다 쉽게 해주는 데 있다. 이러한 목적을 위해 컴퓨터 하드웨어가 제작된다. 순수 하드웨어로는 목적 달성이 쉽지 않기 때문에, 응용 프로그램이 개발되었다.

이들 다양한 프로그램들은 입출력 장치의 통제와 같은 공통적인 연산을 필요로 한다. 여기에 자원을 제어하고 할당하는 기능을 하나의 소프트웨어로 통합한 것이 운영체제이다.

보다 일반적인 정의에 의하면, 운영체제는 컴퓨터에서 항상 실행되는 프로그램으로 커널이라 불린다.

커널과 대비하여 두 유형의 다른 프로그램이 존재한다. 
시스템 프로그램은 운영체제와 연관되어 있으나 커널의 일부분이 아닌 프로그램을 의미하며, 
응용 프로그램은 시스템의 운영과는 상관이 없는 다른 모든 프로그램을 의미한다.

무엇이 운영체제를 구성하는지는 점점 중요해지고 있다. 1998년에 미국 법무부는 Micro-soft에 대해 소송을 제기하였는데, 그 요점은 Microsoft가 자신의 운영체제에 너무 많은 기능을 포함시킴으로써 응용 업체들의 경쟁을 막았다는 것이었다. 소송 결과 Microsoft는 타사의 경쟁을 제한하기 위하여 자사 운영체제의 독점적 위치를 이용하였다고 하여 유죄 판결을 받았다.

마치며

이번 글은 운영체제가 무엇이고 어떠한 일을 하는 지에 대해서 정리를 해봤습니다. 물론 책에 있는 내용이 대다수이기도 하고 제가 따로 추가한 부분은 많지 않습니다. 제 지식보다 책이 가진 내용을 좀 더 읽기 쉽게 정리 했습니다. 다음 포스팅은 컴퓨터 시스템의 구성과 시스템의 구조에 대한 내용을 작성하겠습니다.

글의 마지막에 운영체제의 중요성이 점점 커지고 있다고 하며, 마이크로소프트사의 독점금지에 대한 법률위반으로 유죄 판결을 받은 내용이 적혀있는데, 실리콘 밸리의 공룡기업들에 대한 내용들과 어쩌면 구글이 저희의 삶에 가까이 다가올 수 있었던 계기가 되었을 지도 모를 내용들이 있습니다.

http://www.dailysmart.co.kr/news/articleView.html?idxno=927

하재식 교수님의 글이 적혀있는 링크를 걸어두겠습니다! 운영체제로 머리가 아프셨다면 쉬어가는 시간으로 위에 포스트를 한번 읽어보시는 걸 추천드립니다.

감사합니다!

profile
https://github.com/VVSOGI

0개의 댓글