운영체제 Chapter 2. 운영체제의 소개

Jene Hojin Choi·2022년 4월 27일
1

Operating System

목록 보기
2/4
post-thumbnail

아래 내용은 운영체제 | 그림으로 배우는 구조와 원리 를 읽고 정리한 내용입니다.

Chapter 2. 운영체제의 소개

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

1. 운영 체제의 개념

운영체제: 사용자가 컴퓨터를 쉽게 다룰 수 있도록 해주는 인터페이스

컴퓨터의 자원을 관리하는 측면에서의 운영체제의 역할
1. 조정자
2. 자원 할당자나 관리자

  • 각 응용 프로그램에 필요한 자원을 올바른 순서로 할당
  • 컴퓨터 시스템을 공정하고 효율적으로 운영하기 위해 자원을 할당하는 방법을 결정
  1. 응용 프로그램과 입출력장치 제어자
  • 컴퓨터 시스템을 부적절하게 사용하거나 오류가 발생하는 것을 방지하기 위해 하드웨어의 사용을 조정하고 응용 프로그램의 실행을 제어함
  • 입출력장치를 동작시키고 통제

2. 운영체제의 발전 목적

운영체제의 발전 목적

  • 편리성
    • 사용자에게 편리한 환경 제공
  • 효율성
    • 시스템 성능 향상
      • 처리량 항상
      • 지연, 응답 시간 단축
      • 신뢰도 향상
      • 사용 가능도 향상
  • 제어 서비스 향상
    • 입출력장치의 동작 관리 및 제어
    • 시스템 오류 예방

02. 운영체제의 기능

  • 자원 관리
    • 자원: 컴퓨터 시스템의 메모리, 프로세스, 장치, 파일 등의 구성 요소
    • 메모리 관리
      • 메인 메모리 관리
        • 메모리의 어느 부분을 사용하고 누가 사용하는지 점검
        • 메모리에 저장할 프로세스 결정
        • 메모리를 할당하고 회수하는 방법 결정
      • 보조 메모리 관리
        • 빈 여유 공간 관리
        • 새로운 파일을 작성할 때 저장 장소 할당
        • 메모리 접근 요청 스케줄링
        • 파일을 생성하고 삭제
    • 프로세스 관리
      • 프로세스와 스레드를 스케줄링
      • 사용자 프로세스와 시스템 프로세스를 생성하고 제거
      • 프로세스를 중지하고 재수행
      • 프로세스 동기화 방법 제공
      • 프로세스 통신 방법 제공
      • 교착 상태(deadlock)를 방지하는 방법 제공
    • 주변 장치 관리
      • 임시 저장 시스템 기능 제공
      • 일반 장치용 드라이버 인터페이스 제공
      • 특정 장치 드라이버 제공
    • 파일 관리
      - 파일/디렉터리 생성, 삭제
      • 보조기억장치에 있는 파일을 맵핑
      • 안전한(비휘발성) 저장장치에 파일을 저장
  • 시스템 관리
    - 시스템 보호 (사용자 권한 부여)
    • 네트워킹 (통신)
    • 명령 해석기

    03. 운영체제의 발전 과정과 유형

    1. 운영체제의 발전 과정

  • 1940년대: 운영체제 없음. 작업별 순차 처리
  • 1950년대: 일괄 처리 시스템
    • 단점: 준비 작업들의 유형이 동일해야함, 작업에 모든 유형의 입력 불가능
    • 개선을 위해 버퍼링, 스풀링 등장
  • 1960년대: 다중 프로그래밍, 시분할, 다중 처리, 실시간 시스템
  • 1970년대 초반: 다중 모드, 범용 시스템
  • 1970년대 중반 ~ 1990년대: 분산 처리 시스템, 병렬 계산과 분산 계산
    • 가상화 기술 확산
      • 서버 가상화: 물리적 서버 하나에 가상 서버를 여러개 구성
      • 클라우드 컴퓨팅: 서버 가상화를 이용하여 사용자에게 컴퓨팅 자원, 스토리지, 소프트웨어 등을 서비스 형태로 제공

2. 운영체제의 유형

  • 다중 프로그래밍 시스템
    • 프로세서가 유휴 상태일 때 실행 중인 둘 이상의 작업이 프로세서를 전환하여 사용할 수 있도록 동작
  • 시분할 시스템
    • 프로세서에 적재된 여러 프로그램을 교대로 실행하면서, 각 프로그램에 일정한 프로세서 사용 시간 또는 규정 시간량을 할당
    • 여러 사용자에게 짧은 간격으로 프로세스를 번갈아가며 할당
  • 다중 처리 시스템
    • 단일 컴퓨터 시스템 내에서 둘 이상의 프로세서를 사용하여 동시에 둘 이상의 프로세스를 지원함
  • 실시간 처리 시스템
    • 온라인 상태로 입력 및 업데이트 된 정보 요구를 처리한후 디스플레이에 응답하는 시스템에 소요되는 시간을 반응시간으로 함
    • 데이터 흐름 혹은 프로세서 연산에 엄격한 시간 요구가 있을 때 사용
  • 분산 처리 시스템
    • 시스템마다 독립적인 운영체제와 메모리로 운영하며 필요할 때 통신

04. 운영체제의 서비스

  • 부팅 서비스
  • 사용자 서비스
    • 사용자 인터페이스 제공
    • 프로그램 실행
    • 입출력 동작 수행
    • 파일 시스템 조작
    • 통신 (네트워크)
    • 오류 탐지
  • 시스템 서비스
    • 자원 할당
    • 계정
    • 보호와 보안
  • 시스템 호출

05. 운영체제의 구조

  • 단일 구조 운영체제
  • 계층 구조 운영체제
    • 비슷한 기능을 수행하는 요소를 그룹화하여 계층적으로 구성
    • 모듈화
  • 마이크로 커널 운영 체제
    • 하드웨어 초기화, 메모리 관리, 프로세스 관리, 프로세스 간 통신, 협력을 하는 동기화 기능 등 기본 기능만 실행
    • 대부분의 운영체제 구성 요소는 사용자 영역의 서버 (커널 외부)로 옮겨서 구현!

0개의 댓글