CS/OS

2. 운영체제 개요(3) - 운영체제의 구조, 기능

🥭맹2 2021. 3. 14. 11:34

운영체제란?

컴퓨터 하드웨어를 효율적으로 관리해서 사용자 혹은 응용프로그램에게 서비스를 제공하는 것

운영체제의 구조

운영체제는 커널, 유틸리티로 구성되어 있습니다.

1. 커널(Kernel)

하드웨어 관리, 운영체제 핵심 기능

  • OS의 핵심 부분 (메모리 상주)
    • 가장 빈번하게 사용되는 기능을 담당
      • 시스템 관리(Processor, memory, Etc 등 ..)
  • 동의어
    • 핵(neucleus), 관리자(supervisor)프로그램, 상주 프로그램(resident program), 제어 프로그램(control program) 등

2. 유틸리티 (Utility)

운영체제에서 커널을 제외한 나머지 부분

  • 비상주 프로그램
  • UI 등 서비스 프로그램

OS + application 구조

  • system calls : 커널한테 뭔가를 요청하는 통로
  • utilities까지가 OS
  • applications 범위까지는 우리가 쓰는 프로그램

운영체제의 다양한 구조

1. 단일 구조

운영체제 기능을 하나의 거대한 커널로 모아놓은 것 -> 단일 구조

단일 구조

1. 장점

  • 커널 내 모듈간 직접 통신
    • 빠르게 처리 가능 -> 효율적 자원 관리 및 사용

단일 구조의 장점: 직접 통신을 통해 빠르고 효율적인 자원 관리 가능

2. 단점

  • 커널의 거대화
    • 오류 및 버그, 추가 기능 구현 등 유지보수가 어려움
    • 동일 메모리에 모든 기능이 있어, 한 모듈의 문제가 전체 시스템에 영향(예, 악성 코드 등)

2. 계층 구조

현대 운영체제

계층 구조

1. 장점

  • 모듈화 : 기능별로 따로따로 만든 것
    • 계층간 검증 및 수정 용이
  • 설계 및 구현의 단순화

2. 단점

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

3. 마이크로 커널 구조

커널이 점점 커지니까 문제가 됨 -> 커널에는 필수 기능만 담고 나머지는 사용자 영역에서 하자

마이크로 커널 구조

  • 커널의 크기 최소화
    • 필수 기능만 포함
    • 기타 기능은 사용자 영역에서 수행

운영체제의 기능

다양한 리소스 관리

  1. 프로세스(Process) 관리
  2. 프로세서(Processor) 관리
  3. 메모리(Memory) 관리
  4. 파일(File) 관리
  5. 입출력(I/O) 관리
  6. 보조 기억 장치 및 기타 주변장치 관리 등

1. Process Management

  • 프로세스 (Process)
    • 커널에 등록된 실행 단위 (실행 중인 프로그램)
    • 사용자 요청 / 프로그램의 수행 주체 (entity)
  • OS의 프로세스 관리 기능
    • 생성/삭제, 상태 관리
    • 자원할당
    • 프로세스 간 통신 및 동기화(synchronization)
    • 교착상태(deadlock) 해결
  • 프로세스 정보 관리
    • PCB(Process Control Block)

2. Processor Management

  • 중앙 처리 장치(CPU)
    • 프로그램을 실행하는 핵심 자원
  • 프로세스 스케줄링(Scheduling)
    • 시스템 내의 프로세스 처리 순서 결정
  • 프로세서 할당 관리
    • 프로세스들에 대한 프로세서 할당
      • 한 번에 하나의 프로세스만 사용 가능

3. Memory Management

  • 주기억장치

    • 작업을 위한 프로그램 및 데이터를 올려 놓는 공간
  • Multi-user, Multi-tasking 시스템

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

    • 전체 적재

      • 장점 : 구현이 간단 / 단점 : 제한적 공간
    • 일부 적재 (virtual memory concept)

      • 프로그램 및 데이터의 일부만 적재

      • 장점 : 메모리의 효율적 활용 / 단점 : 보조기억 장치 접근 필요

4. File Management

  • 파일 : 논리적 데이터 저장 단위
  • 사용자 및 시스템의 파일 관리
  • 디렉토리(directory) 구조 지원
  • 파일 관리 기능
    • 파일 및 디렉토리 생성/삭제
    • 파일 접근 및 조작
    • 파일을 물리적 저장 공간으로 사상(mapping)
    • 백업 등

5. I/O Management

입출력 과정

  • 입출력(I/O) 과정

    • OS를 반드시 거쳐야 함

입출력 과정(2)

6. Others

  • Disk
  • Networking
  • Security and Protection system
  • Command interpreter system
  • System call interface
    • 응용 프로그램과 OS 사이의 인터페이스
    • OS가 응용프로그램에 제공하는 서비스