[운영체제] Chapter2. 운영체제의 개념과 발전 목적

DongHyeon·2022년 7월 29일
0

운영체제

목록 보기
2/8

Chater2. 운영체제의 개념과 발전 목적


1 운영체제의 개념과 발전 목적


1-1 운영체제의 개념

  • 컴퓨터 시스템은 사용자, 소프트웨어, 하드웨어로 구성
  • 운영체제는 사용자가 하드웨어에 접근할 수 있는 유일한 수단
  • 운영체제는 사용자가 응용 프로그램을 실행할 수 있는 기반을 제공하여 컴퓨터를 편리하게 사용할 수 있도록 도와주고, 하드웨어를 효율적으로 사용할 수 있도록 다양한 기능을 제공하는 소프트웨어이다.

1-2 운영체제의 발전 목적

  • 운영체제는 3가지 목적으로 크게 나눌 수 있음
    • 편리성
      • 운영체제는 사용자가 프로그램을 효율적으로 실행할 수 있는 환경을 제공해야 한다.
      • 사용자와 컴퓨터 시스템이 정보 및 명령을 상호 교환할 수 있는 인터페이스를 제공해야 한다.
    • 효율성
      • 대형 컴퓨터 시스템에서 특히 중요
      • 처리량, 지연 및 응답시간, 신뢰도, 가동률 을 기준에 따라 평가
    • 제어 서비스 향상
      • 서비스를 방해하지 않고 새로운 기능을 도입하고 테스트할 수 있도록 발전해야 함
      • 입출력장치의 동작을 관리 및 제어하여 효율적으로 컴퓨터 자원을 할당

2 운영체제의 기능


2-1 자원관리

  • 컴퓨터 시스템의 메모리, 프로세스, 장치, 파일 등 구성 요소를 자원이라 함, 운영체제는 이 자원을 관리한다.

  • 메모리 관리

    • 메인 메모리 관리
      • 메인 메모리는 대게 프로세서가 직접 주소로 지정할 수 있는 유일한 메모리
      • 명령어가 메인 메모리에 있어야 프로세서가 명령어를 수행할 수 있으므로, 프로그램을 절대 주소로 맵핑하여 메인 메모리에 저장
      • 때문에 효율적으로 메모리를 사용할 수 있도록 하는 것이 중요
    • 보조기억장치 관리
      • 프로그램을 실행하려면 먼저 필요한 데이터와 함께 메인 메모리에 있어야 한다.
      • 메인 메모리는 공간이 제한되어 있어 모든 데이터와 프로그램을 계속 저장할 수 없으므로 보조기억장치를 이용한다.
  • 프로세스 관리

    • 프로세스는 실행 중인 프로그램으로 보통 일괄 처리 작업 하나가 프로세스가 되며, 시분할 사용자 프로그램도 하나의 프로세스가 된다.
    • 하나의 프로세스는 프로세서, 메모리, 파일, 입출력장치와 같은 자원이 있어야 업무를 수행할 수 있는데, 자원은 프로세스를 생성할 때 제공하거나 실행 중에 할당할 수 있음.
    • 시스템은 이 프로세스의 집합
  • 주변장치 관리

    • 운영체제는 특수 프로그램인 장치 드라이브를 사용하여 입출력장치와 상호작용
    • 장치 드라이버는 특정 하드웨어장치와 통신할 수 있는 인터페이스를 제공하므로 특정 하드웽어에 종속된 프로그램이다.
  • 파일 관리

    • 파일관리란 입출력 파일의 위치, 저장과 검색 관리를 의미
    • 운영체제는 데이터를 효율적으로 사용할 수 있도록 단일화된 저장 형태를 제공한다.

2-2 시스템 관리

  • 운영체제는 추가로 시스템 보호, 네트워킹, 명령 해석기 등 기능을 지원
  • 시스템 보호
    • 운영체제는 파일 사용 권한 부여, 데이터 암호화 등 서비스를 제공하여 데이터와 시스템을 보안한다.
    • 프로세스 간, 파일 공유 사이트 접속 시 다른 사용자의 프로그램에서 보호
  • 네트워킹
    • 프로세서가 통신을 할 때는 경로 설정, 접속 정책, 충돌, 보안 등 문제를 고려해야 하는데, 이를 운영체제가 관리
  • 명령 해석기
    • 운영체제에서 중요한 시스템 프로그램
    • 사용자나 프로그램에서 대화형으로 입력한 명령어를 이해하고 실행하는 사용자와 운영체제의 인터페이스
    • 사용자의 명령은 제어문으로 운영체제에 전달되는데, 이 전달을 명령해석기가 담당

3 운영체제의 발전 과정과 유형


3-1 운영체제의 발전 과정

  • 운영체제 없음 => 일괄 처리 시스템 => 다중 프로그래밍, 시분할, 다중 처리, 실시간 시스템 => 다중 모드, 범용 시스템 => 분산 처리 시스템, 병렬 계산과 분산 계산 => 모바일 및 임베디드, 가상화 및 클라우드 컴퓨팅


4 운영체제의 서비스

  • 부팅 서비스, 사용자 서비스, 시스템서비스, 시스템 호출 4가지 기능을 제공

4-1 부팅 서비스

  • 운영체제를 메인 메모리에 적재하는 과정을 부팅이라 함
  • 초기 운영체제와 달리 현재는 전체 혹은 부분적인 초기화 이후 컴퓨터를 작동
  • 초기화의 목적
    • 시스템 장치 초기화, 시간 설정, 명령 해석기 적재와 준비

4-2 사용자 서비스

  • 사용자 인터페이스 제공
    • 사용자가 보는 것은 사용자의 인터페이스 뿐임. 인터페이스는 사용자와 컴퓨터 간의 상호작용이 발생하는 공간(CLI, 메뉴, GUI 형태로 구현)
    • CLI
      • 텍스트 전용 인터페이스
      • 프롬프트에서 명령어를 입력하여 컴퓨터와 상호작용
    • 메뉴 인터페이스
      • 메뉴 등을 이용하여 시스템과 상호작용
      • iPad, 휴대폰, ATM 등
    • GUI
      • GUI는 윈도우 환경에서 사용자에게 정보와 작업을 표현하는 텍스트, 그래픽 아이콘, 위젯 등 그래픽 제어 요소를 사용하여 컴퓨터와 상호작용하는 유형

4-3 시스템 서비스

  • 자원 할당
    • 운영체제는 다수의 사용자나 작업을 동시에 실행할 때 운영체제가 자원을 각각 할당하도록 관리
  • 계정
    • 운영체제는 각 사용자가 어떤 컴퓨터 자원을 얼마나 많이 사용하는지 정보를 저장하고 추적한다.
  • 보호와 보안
    • 운영체제는 다중 사용자 컴퓨터 시스템에 저장된 정보 소유자의 사용을 제한
    • 여러 프로세스의 동시 실행을 허용하려면 각 프로세스를 서로의 활동에서 보호

4-4 시스템 호출

  • 실행 중인 프로그램과 운영체제 간의 인터페이스, API라고도 한다.
  • 사용자 프로그램은 시스템 호출을 하여 운영체제의 기능을 제공 받는다.
  • 운영체제가 제공하는 일반적인 시스템 호출에는 프로세스 제어, 파일 조작, 장치 관리, 정보 유지 등이 있음

5 운영체제의 구조

  • 단일 구조 운영체제
    • 운영체제 초기에 생겨난 가장 보편적인 형태
    • 작고 간단하면서 시스템 기능이 제한된 구조
    • 모듈이 효율적으로 분할되어 있지 않음
    • 대부분의 기능을 커널에 그룹화해서 구현하므로, 직접 통신하여 시스템 자원을 효율적으로 관리할 수 있다는 장점이 있음
    • 커널 크기가 상대적으로 커지면서 버그의 원인, 기타 오류 구분이 어렵고 기능 추가와 유지보수가 매우 어렵다. 또한, 하나의 부분에서 발생한 문제에 의해 시스템 전체에 심각한 영향을 줄 수 있음.
    • EX) 도스
  • 계층 구조 운영체제
    • 비슷한 기능을 수행하는 요소를 그룹화하여 계층적으로 구성
    • 각 계층은 인접한 상위나 하위에 있는 계층과 상호작용, 단일 구조보다는 성능이 떨어짐
    • 시스템 설계나 구현이 단순하고 시스템 검증과 오류 수정이 쉽다
  • 마이크로 커널 구조 운영체제
    • 커널에는 최소 기능만 포함시켜 크기를 대폭줄이고 기타 기능은 사용자 공간으로 옮겨 사용자 영역에서 수행하는 서버 구현 방법
    • 모듈화 정도가 높아 확장성, 이식성, 규모 확장성이 높지만, 모듈간에 통신이 빈번하게 발생해 성능이 떨어질 수 있음

0개의 댓글