운영체제(Operating System)란?

Dunno·2021년 7월 6일
0

AIFFEL

목록 보기
1/2

운영체제

운영체제의 정의

  • 컴퓨터와 하드웨어 바로 위에 설치되어 다양한 하드웨어 장치들과 더불어 소프트웨어를 관리하는 시스템
  • 하드웨어를 활용할 수 있도록 펌웨어나 소프트웨어로 만들어진 프로그램
  • 컴퓨터 자원들인 프로세서, 기억장치, 파일 및 정보, 네트워크 및 보호 등을 효율적으로 관리할 수 있는 프로그램의 집합

+) 펌웨어란?
하드웨어를 제어하는 마이크로 프로그램으로 소프트웨어와 하드웨어의 특성을 모두 가진 소프트웨어이지만 하드웨어와 밀접한 관계를 갖고 있어 응용 소프트웨어와 구분된다.

  • 좁은 의미의 운영체제 - 커널
    - 운영체제의 핵심 부분으로 메모리에 상주하는 부분, 전공에서 말하는 운영체제
  • 넓은 의미의 운영체제
    - 커널 뿐만 아니라 각종 주변 시스템 유틸리티를 포함한 개념

운영체제의 목적

  • 컴퓨터 시스템의 처리량, 신뢰성을 최대화 한다.
  • 컴퓨터 시스템의 반환시간, 응답시간, 처리시간, 대기시간, 경과시간을 최소화한다.
  • 컴퓨터를 구성하고 있는 자원을 효율적으로 운영하고 제어한다.
  • 사용자와 컴퓨터 시스템과의 인터페이스를 제공한다.
  • 제한된 자원(CPU, 메모리 등)을 효율적으로 공유하기 위해 스케줄링 한다.
  • 데이터를 공유한다.
  • 주변 장치를 관리한다.
  • 시스템의 이식성(호환성)을 높인다.

운영체제의 분류

1. 동시 작업 가능 여부로 분류

  • 단일 작업 (single tasking) : 한 번에 하나의 작업만 처리 예) MS-DOS 프롬프트 상에서는 한 명령의 수행을 끝내기 전에 다른 명령을 수행시킬 수 없음

  • 다중 작업 (multi tasking) : 동시에 두 개 이상의 작업 처리 예) UNIX, MS Windows 등에서는 한 명령의 수행이 끝나기 전에 다른 명령이나 프로그램을 수행할 수 있음

2. 사용자의 수로 분류

  • 단일 사용자 (single user) MS-DOS, MS Windows

  • 다중 사용자 (multi user) UNIX, NT server : 여러 개의 계정, 동시 접속

3. 처리 방식으로 분류

  • 일괄처리 방식 (batch processing) : 작업이 주어질 때, 바로 바로 처리하는 것이 아니라 모아서 한꺼번에 일괄처리 하는 것을 말함. 현대에는 찾아보기 어렵다.

  • 시분할 방식 (time sharing) : 여러 작업이 수행이 될 때 컴퓨터 처리 능력을 일정한 시간 단위로 분할하여 사용. 일괄 시스템에 비해 짧은 응답 시간을 가진다. 각각 사용자가 interactive한 방식으로, 사용자는 거의 실시간에 가깝게 느끼게 됨. 대부분의 운영체제가 여기에 속한다.

  • 실시간 방식 (Realtime OS) : 시분할과 실시간 둘다 빨라 보이지만, 실제 개념적으로는 상당히 다르다. 실시간 시스템은 데드라인이 있어서 정해진 시간 안에 반드시 결과가 나오는 것을 보장해주는 시스템이다. 시분할 방식은 일반적인 범용 컴퓨터에서 사용되며, 실시간 방식은 특수한 목적을 가진 시스템에서 그 작업이 반드시 정해진 시간안에 처리되도록 하는 방식이다. 예를 들면, 원자로/공장 제어, 미사일 제어, 반도체 장비, 로보트 제어 등이 있다.

  • 실시간 시스템의 개념 확장 : Hard realtime system (경성 실시간 시스템), Soft realtime system (연성 실시간 시스템) 이 있다. 기존의 실시간 시스템보다는 완화가 된 개념으로, 데드라인을 정확히 지키지 않아도 치명적이지 않은 경우에 사용된다. 실시간 TV 시스템은 실시간으로 결과를 보여주어야 하지만, 조금 끊김 현상이 발생한다고 해서 치명적인 결과를 일으키진 않는 것과 같다.

운영체제의 예

1. 유닉스 UNIX

  • 대형 컴퓨터를 위해 만들어짐, 기본적으로 멀티태스킹이 가능하고, 여러 사용자를 위해 만들어짐

  • 처음에는 기계어에 가까운 언어인 어셈블리어로 만들었는데, 너무 어려워서 C언어(고급언어) 개발하게 됨

  • 높은 이식성, 최소한의 커널 구조, 복잡한 시스템에 맞게 확장 용이, 소스코드 공개, 프로그램 개발에 용이

  • 공개 소프트웨어 정신에 입각해서 나온 운영체제 : Linux -> 소스코드 공개, 누구나 가져다가 자유롭게 사용이 가능하다. (안드로이드 운영체제 커널로 리눅스가 사용되고 있다.)

2. DOS (Disk Operating System)

  • 개인 컴퓨터를 위해 만들어짐, 단일 사용자용 운영체제

  • 초창기에는 매우 용량이 작고, 단일 프로그램만 지원이 가능했다.

3. MS Windows

  • MS사의 다중 작업용 GUI기반 운영체제

  • Plug and Play, 네트워크 환경 강화

  • DOS용 응용 프로그램과 호환성 제공

  • 불안정성, -> 현재는 많이 해소 됨

  • 풍부한 자원 소프트웨어

  • 점차 여러가지 형태로 발전을 하고 있다.

0개의 댓글