[OS] Operating System Overview

연꽃·2021년 12월 4일
0

Computer Science

목록 보기
2/5

요약 정리

  • 운영체제(Operating System)의 역할
    - 유저에게 편리함을 제공
    - 하드웨어와 소프트웨어의 자원관리를 통해 효율성을 높인다.
    - 프로세스와 스레드를 관리한다.
    - 시스템을 보호한다.
  • 운영체제의 구분
    1. 동시 사용자수에 따라
      • Single-user system
      • Multi-user system
    2. 동시 실행 프로세스 수에 따라
      • Single-tasking system
      • Multi-tasking system (Multiprogramming system)
    3. 작업 수행 방식에 따라
      • Batch processing system
      • Time-sharing system
      • Distributed processing system
      • Real-time system
  • 운영체제의 구조
    1. 단일 구조
    2. 계층 구조
    3. 마이크로 커널 구조
  • 운영체지의 기능
    1. 프로세스(Process) 관리
    2. 프로세서(Processor) 관리
    3. 메모리(Memory0관리
    4. 파일(File)관리
    5. 입출력(I/O) 관리
    6. 보조기억장치및기타주변장치관리등

1. 운영체제의 역할

1.1 편리성
- CUI(Character user interface)
- GUI(Graphical User interface)
- EUCI(End-User Comfortable Interface)

1.2 효율성
- 하드웨어 리소스 관리
- 소프트웨어 리소스 관리

1.3 프로세스, 스레드 관리

1.4 시스템 보호

2. 컴퓨터 시스템의 구성

3. 운영체제의 구분

크게 동시 사용자 수, 동시 실행 프로세스 수, 작업수행 방식에 따라 운영체제를 구분할 수 있다.

3.1 동시 사용자 수

3.1.1 단일 사용자

  • 한 명의 사용자만 시스템 사용 가능
  • 개인용 장비(PC, mobile)등에 사용

3.1.2 다중 사용자

  • 동시에 여러 사용자들이 시스템 사용(소유 권환 관리 필요, 멀티테스킹 기능 필요)
  • 서버, 클러스터 장비 등에 사용

3.2 동시 실행 프로세스 수

3.2.1 단일작업

  • 시스템 내에 하나의 작업만 존재
  • 운영체제의 구조가 간단(예: MS-DOS)

3.2.2 다중작업

  • 동시에 여러 작업의 수행 가능(작업들 사이의 동시 수행, 동기화 등의 관리가 필요)
  • 운영체제의 기능 및 구조가 복잡(예: Unix/Linux, Windows 등)

3.3 작업 수행 방식

3.3.1 Batch processing system(일괄처리 시스템)

  • 모든 시스템을 중앙에서 관리 및 운영
  • 사용자의 요청 작업을 일정 시간에 모아 두었다가 한번에 처리

3.3.2 Time-sharing system(시분할 시스템)

  • 여러 사용자가 자원을 동시에 이용
  • 사용자 지향적

3.3.3 Distributed processing system(분산처리 스스템)

  • 네트워크를 기반으로 구축된 병렬처리 시스템
  • 물리적 분산, 통신망 이용한 상호 연결
  • 사용자는 분산운영체제를 통해 하나의 프로그램, 자원처럼 사용가능
  • 각 구성 요소들간의 독립성 유지, 공동작업 가능

3.3.4 Real-time system(실시간 시스템)

  • 작업 처리에 제한 시간을 갖는 시스템: 제한 시간 내에 서비스를 제공하는 것이 자원 활용 효율보다 중요
  • 작업의 종류로는 Hard real-time task, Soft real-time task, Non real-time task가 있다.

4. 운영체제의 구조

운영체제는 커널과 유틸리티로 이루어져 있다. 커널(Kernel)은 OS의 핵심 부분으로 메모리에 상주하며 가장 빈번하게 사용되는 기능들을 담당한다. 유틸리티(Utility)는 비상주 프로그램으로 UI등의 서비스 프로그램이 있다.

4.1 단일 구조


장점

  • 커널 내 모듈간 직접 통신 -> 효율적 자원 관리 및 사용

단점

  • 커널의 거대화 -> 오류, 추가 기능 구현 등 유지보수가 어려움. 한 모듈의 문제가 전체 시스템에 영향

4.2 계층 구조


장점

  • 모듈화 -> 계층간 검증 및 수정 용의
  • 설계 및 구현의 단순화

단점

  • 단일구조 대비 성능 저하 -> 원하는 기능 수행을 위해 여러 계층을 거쳐야 함

4.3 마이크로 커널 구조


커널의 크기 최소화

  • 필수 기능만 포함
  • 기타 기능은 사용자 영역에서 수행

5. 운영체제의 기능

5.1 Process Management

5.1.1 프로세스(Process)

  • 커널에 등록된 실행 단위(실행 중인 프로그램)
  • 사용자 요청/프로그램의 수행 주체(entity)

5.1.2 운영체제의 프로세스 관리 기능

  • 생성/삭제, 상태관리
  • 자원 할당
  • 프로세스 간 통신 및 동기화
  • 교착상태 해결

5.2. Processor Management

5.2.1 중앙처리장치(CPU)

  • 프로그램을 실행하는 핵심 자원

5.2.2 프로세스 스케쥴링

  • 시스템 내의 프로세스 처리 순서 결정

5.2.3 프로세서 할당 관리

  • 프로세스들에 대한 프로세서 할당(한 번에 하나의 프로세스만 사용 가능)

5.3 Memory Management

5.3.1 주기억장치

  • 작업을 위한 프로그램 및 데이터를 올려 놓는 공간

5.3.2 Multi-user, Multi-tasking 시스템

  • 프로세스에 대한 메모리 할당 및 회수
  • 메로리 여유 공간 관리
  • 각 프로세스의 할당 메모리 영역 접근 보호

5.4 File Management

  • 사용자 및 시스템의 파일 관리
  • 디렉토리 구조 지원
  • 파일 관리 기능

5.5 I/O Management

  • 입출력(I/O) 과정 - 반드시 OS를 거쳐야 함

5.6 Others

  • Disk
  • Networking
  • Security and Protection system
  • Command interpreter system
  • System call interface

참고 : 운영체제 강의(김덕수 교수님)

profile
우물에서 자라나는 중

0개의 댓글