[#2] 운영체제의 개요 -1-

Fuji ㅣ 2022. 7. 16. 18:34

학습 목표 
- 운영체제의 필요성과 정의, 역할, 목표를 이해한다.
- 초창기부터 현재까지 운영체제의 발전 과정을 살펴본다.
- 현대의 컴퓨팅 환경을 파악한다.

 

 


목차

  • 일상생활 속의 운영체제
  • 운영체제의 필요성
  • 운영체제의 역할
  • 운영체제의 목표

 


일상생활 속의 운영체제

운영체제를 의미하는 특징은 아래 두 가지이다.

 

  • 운영체제란 OS(Operating System)을 뜻하는 소프트웨어의 일종이다.
  • 운영체제는 모바일과 노트북을 켤 때 가장 처음으로 시작되는 소프트웨어이다.

 

운영체제의 종류개인용 컴퓨터대형 컴퓨터용으로 구분할 수 있다.

 

개인용 컴퓨터 대형 컴퓨터
Windows UNIX
MacOS LINUX

 

  • 모바일 운영체제 
    스마트폰에서 사용되는 운영체제 (ex. 안드로이드, iOS)
  • 임베디드 운영체제 (=임베디드 시스템)
    CPU성능이 낮고 메모리 크기가 작은 시스템에 사용하는 운영체제 (ex. MP3 player, Navagation, PMP, 전자사전, TV)
운영체제가 없는 기기의 단점

 

  1. 완성된 제품의 기능을 새로 추가하기 어렵다.
  2. 무선통신 기술을 탑재하기 어렵다.
  3. 앱 서비스등 다양한 서비스를 채택하기 어렵다.

 


 

운영체제의 필요성

운영체제의 등장 배경

초기의 컴퓨터는 정해진 계산만 수행했었으나, 아키텍처의 성능 향상으로 여러 작업을 동시에 할 수 있는 환경이 조성되면서 기계의 작업 환경에 대해 규칙성을 갖고 관리하기 위해 운영체제가 탄생했다.

 

  • 컴퓨터는 운영체제가 없어도 작동하는가?
    세계 최초의 컴퓨터 애니악(ENIAC, Electronic Numercal Intergrator And Calculator)은 가능했다. 애니악은 프로그래밍이 가능하기 때문에 계산기가 아닌 컴퓨터라 불렸다. 진공관과 진공관을 전선으로 연결하여 회로를 구성하고 전선의 연결 방향을 변경함으로써 프로그래밍 효과를 냈다.
  • 운영체제가 있는 기계와 없는 기계의 차이점은?
    스마트폰과 일반 전화기의 차이를 떠올리면 된다. 운영체제가 탑재되면 다양한 기능을 필요에 따라 추가하기 용이하다.
  • 운영체제가 중요한 이유는?
    성능 향상뿐 아니라 자원 관리(resource management) 역할을 하기 때문에 중요하다.
    엑셀, 파워포인터, 게임 등 응용 프로그램을 실행할 때 운영체제가 없다면 서로 메모리를 독차지하려 하거나 다른 응용프로그램의 영역을 침범하게된다. 이럴때 메모리와 같은 자원을 관리해주는 중재자가 필요하다. 여기서 중재자는 운영체제가 맡는다.
  • 운영체제가 자원을 관리하는 방법은?
    사용자가 메모리에 접근하는걸 차단하면서 자원을 보호하고 관리한다. 사용자의 메모리 접근을 차단하는 이유는 메모리 관리가 굉장히 복잡하기 때문에 실수를 하면 컴퓨터가 고장날 수 있기 때문이다. 흔히 레스토랑에 비유되며 운영체제는 요리사가 되고 사용자는 손님에 비유된다. 손님이 음식을 주문하듯이 사용자가 운영체제에 메모리를 요청하고 운영체제가 해당 메모리를 사용자에게 전달하는 식으로 관리한다.  
  • 사용자가 자원에 접근하는 방법은?
    운영체제는 사용자에게 데이터에 접근할 수 있는 여러가지 방법을 제공한다. 예를 들어, 사용자가 데이터의 저장을 원하면 운영체제는 하드디스크의 적당한 장소에 저장하고 번호표를 사용자에게 돌려준다. 사용자는 자신의 데이터가 어디에 위치해있는지 구체적인 위치는 알 수 없지만 해당 번호표를 통해 데이터를 꺼내거나 지울 수 있다. 이처럼 운영체제가 사용자에게 컴퓨터를 사용할 수 있도록 해주고 그 결과를 알려주는 것 인터페이스(interface)라고 한다.
- 컴퓨터 자원(computer resource)
초창기 컴퓨터는 CPU와 메모리, 키보드, 플로피디스크, 모니터 정도였지만 기술의 발달로 하드디스크, SSD, 마우스, 사운드카드, 그래픽카드, 네트워크카드, 터치패드와 같은 다양한 주변장치가 등장하게 되었는데 이같이 컴퓨터에 부착된 모든 장치컴퓨터 자원(computer resource)이라고 한다.
- 펌웨어(firmware)
운영체제는 우리가 사용하는 소프트웨어 중 하나이다. 운영체제는 응용 프로그램을 관리함과 동시에 하드웨어를 조정하고 관리하는 역할도 한다. 즉, 하드웨어의 도움 없이는 제대로 동작하기 어려우므로 소프트웨어와 하드웨어의 결합 형태를 의미하는 펌웨어(firmware)라고 부르기도 한다.

 

 

질문과 답변
  1. 컴퓨터는 운영체제가 없어도 작동하는가?
  2. 운영체제가 있는 기계와 없는 기계는 어떤 차이가 있는가?
  3. 운영체제는 성능을 향상하는 데에만 필요한가?
  4. 운영체제는 자원을 어떻게 관리하는가?
  5. 사용자는 숨어 있는 자원을 어떻게 이용할 수 있는가?
더보기
  1. 컴퓨터는 운영체제가 없어도 작동하지만 여러가지 제약이 따른다. 기능을 추가하거나 네트워크 기능 및 앱서비스를 운용하기 어렵다.
  2. 운영체제가 있는 기계는 다양한 응용 프로그램이나 앱을 설치하여 사용할 수 있고 성능 향상을 위한 새로운 기능을 쉽게 추가할 수 있다.
  3. 운영체제는 하드웨어의 자원 관리를 하는 역할도 한다. 또한 사용자가 안전하게 데이터를 사용할 수 있도록 인터페이스를 제공한다.
  4. 사용자가 데이터에 접근하는 것을 차단하면서 자원을 보호 및 관리한다.
  5. 운영체제가 제공하는 인터페이스를 통해 자원에 접근해 사용할 수 있다.

 


 

운영체제의 정의

운영체제사용자에게 편리한 인터페이스를 제공하고 컴퓨터 시스템의 자원을 효율적으로 관리하는 소프트웨어이다. 흔히 요리사 모형에 빗대서 사용자와 운영체제, 그리고 하드웨어의 관계를 나타낸다. 

 

  • 운영체제(주방장)
    사용자에게 요청받은 데이터(요리)를 가져오거나 저장하는 등 하드웨어에 직접 관여해서 자원을 관리한다.
  • 사용자(손님)
    인터페이스(키오스크같은 주문기계)를 통해 운영체제(주방장)에게 데이터 저장을 요청하거나 사용 요청을 한다.
  • 하드웨어(주방)
    운영체제가 직접 접근해서 데이터를 저장하거나 연산할 수 있는 장치들이다. CPU, GPU, 하드디스크가 여기에 해당한다.
- 인터페이스
인터페이스는 자동차의 핸들 및 계기판과 같다. 자동차는 엔진과 바퀴로 움직이지만 운전자가 핸들로 조종하고 계기판을 통해 주행 상황을 인지한다. 마찬가지로 컴퓨터는 CPU와 메모리로 명령을 처리하지만 사용자가 키보드나 마우스로 자료를 입력하고 출력 결과를 얻는다.

 


운영체제의 역할

운영체제의 역할을 정리하자면 다음과 같다.

 

  • 자원 관리
    컴퓨터에서 문서 작성, 음악 감상, 인터넷 서핑등 사용시 하드웨어 자원을 사용하게 되는데 이러한 자원을 응용프로그램에 나누어주어 사용자가 원활하게 작업할 수 있도록 돕는다.
  • 자원 보호
    악의적인 프로그램이나 미숙한 사용자로 부터 데이터가 손실되지 않도록 보호한다.
  • 하드웨어 인터페이스 제공
    사용자가 하드웨어를 사용할 수 있도록 인터페이스를 제공한다. 
  • 사용자 인터페이스 제공
    사용자가 운영체제를 편리하게 사용할 수 있도록 GUI(Graphic User Interface)와 같은 기능을 제공한다. 
- 드라이버(driver)
하드웨어 인터페이스 지원은 드라이버를 컴퓨터에 설치해야 가능하다. 드라이버는 하드웨어 장치와 상호작용하기 위해 만들어진 컴퓨터 프로그램으로 장치 드라이버, 디바이스 드라이버, 장치 제어기, 소프트웨어 드라이버라고도 부른다. 드라이버는 운영체제를 설치하면서 자동으로 설치되지만 일부 드라이버는 따로 설치해야하는 경우도 있다. (ex. 그래픽카드 드라이버 등)

 


운영체제의 목표

운영체제가 지향하는 목표는 아래와 같다.

 

  • 효율성 (자원 관리)
    - 운영체제의 목표는 효율적으로 자원을 관리하는 것
    - 적은 자원을 사용하여 결과를 빨리 보여주는 것
  • 안정성 (자원 보호)
    - 이전으로 복구할 수 있는 결함 포용(fault tolerant) 기능을 수행해야한다.
    - 데이터를 안전하게 보호할 수 있게 보안 기능을 제공해야한다.
  • 확장성 (하드웨어 인터페이스 제공)
    - 운영체제는 다양한 시스템 자원을 추가하거나 제거하기 편리해야 한다.
    - 꽂으면 바로 실행할 수 있는 Plug & Play 기능을 제공해야 한다.
  • 편리성 (사용자 인터페이스 제공)
    - 사용자가 편리하게 작업할 수 있도록 운영체제 환경을 제공해야한다.
    - 대표적으로 GUI 환경이 있다.
- 편리성과 효율성
편리성에서 참고할 점은 편리성을 증진시키기 위해 GUI를 채택하게 되면 성능 하락이 따라올 수 있다는 점이다. 그래서 일부 운영체제는 GUI를 배제하고 텍스트만 사용할 수 있는 환경을 제공하면서 효율성을 올리고 있다. 하지만 텍스트로만 작업이 가능한 환경이면 운영체제를 사용하는데에 있어서 사용자가 일부 불편을 감수해야한다. 따라서 운영체제는 응용 프로그램과 사용자에게 다양한 편리성을 제공하되 자원 낭비 요소가 적게끔 하는 차선책을 항상 고려하는게 중요하다.

 

 


'운영체제' 카테고리의 다른 글

[#6] 컴퓨터 구조와 성능 향상 -2  (0) 2022.07.23
[#5] 컴퓨터 구조와 성능 향상 -1  (0) 2022.07.23
[#4] 운영체제의 개요 -3-  (0) 2022.07.23
[#3] 운영체제의 개요 -2-  (0) 2022.07.18
[#1] 운영체제 공부 시작  (0) 2022.07.16