2. 운영체제 개요 (3)

728x90
반응형

출처 : https://www.youtube.com/watch?v=knF9lzHA3LI&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN&index=4

 

 

운영체제의 구조는 2가지로 구성되어있다.

 

  • 커널(Kernel : 알맹이, 핵심)
    • OS의 핵심 부분 (메모리 상주 : 계속 빈번하게 사용되므로 메모리에 상주되어있음)
      • 가장 빈번하게 사용되는 기능들을 담당
        • 시스템 관리 (프로세서, 메모리, 등) 등
    • 동의어
      • 핵(neucleus), 관리자(supervisor) 프로그램, 상주 프로그램(resident program), 제어 프로그램(control program) 등

 

  • 유틸리티(Utility) : 운영체제에서 커널을 제외한 부분
    • 비상주 프로그램
    • UI 등 서비스 프로그램

 

 

운영체제의 구조는 위 그림과 같다.

 

하드웨어가 있고, 그 하드웨어를 관리하는 커널이 존재한다. 그리고 커널에게 요청메시지를 전송하는 통로 역할을 하는 system call이 있고, 그 위에 유틸리티가 존재한다. 

 

 

 

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

 

  • 장점
    • 커널 내 모듈간 직접 통신
      • 효율적 자원 관리 및 사용 (커널 안에 있는 기능들 사이에 요청 메시지를 주고받을 때 바로 요청이 가능해서 빠르게 해결 가능)
  • 단점
    • 커널의 거대화(기능이 추가 될수록 점점 커널이 커짐)
      • 오류 및 버그, 추가 기능 구현 등 유지보수가 어려움
      • 동일 메모리에 모든 기능이 있어, 한 모듈의 문제가 전체 시스템에 영향을 미침 (ex. 악성 코드 등)

 

 

계층 구조 운영체제 : 커널과 운영체제 기능들을 계층적으로 분리한 구조

 

  • 장점
    • 모듈화
      • 계층간 검증 및 수정 용의
    • 설계 및 구현의 단순화
  • 단점
    • 단일구조 대비 성능 저하
      • 원하는 기능 수행을 위해 여러 계층을 거쳐야 함

 

 

마이크로 커널 구조

 

  • 커널의 크기 최소화
    • 커널에는 필수적인 기능만 넣고 나머지 기능은 사용자 영역에서 수행시키는 구조이다.

 

 

운영체제의 역할은 다양한 리소스의 관리이다. 리소스에는 하드웨어 리소스(프로세스, 프로세서, 메모리 등)와 소프트웨어 리소스(파일, 입출력)이 있다.

 

 

프로세스 관리

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

 

프로세서 관리

 

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

 

메모리 관리

 

  • 주 기억장치(DRAM)
    • 작업을 위한 프로그램 및 데이터를 올려 놓는 공간
  • Multi-user, Multi-tasking 시스템
    • 여러 사용자 혹은 프로세스가 메모리를 동시에 써야 할 때 어떻게 메모리를 할당할지 혹은 다쓰면 회수할지
    • 메모리 여유 공간 관리
    • 각 프로세스의 할당 메모리 영역 접근 보호 (접근하면 안되는 프로세스가 메모리의 접근할 때 막기)
  • 메모리 할당 방법(Scheme)
    • 전체 적재
      • 장점 : 구현이 간단
      • 단점 : 제한적 공간
    • 일부 적재 (Virtual Memory Concept)
      • 프로그램 및 데이터의 일부만 적재
      • 장점 : 메모리의 효율적 활용
      • 단점 : 보조기억 장치 접근 필요

 

파일 관리

 

  • 파일 : 논리적 데이터 저장 단위

 

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

 

 

입출력은 프로세스와 프로세서가 직접 입출력을 할 수 없고 반드시 운영체제를 거쳐서 입출력을 실행해야 한다.

 

 

728x90
반응형

'Study > 운영체제' 카테고리의 다른 글

3. 프로세스 관리 (2)  (0) 2023.11.03
운영체제 3. 프로세스 관리 (1)  (0) 2023.11.02
2. 운영체제 개요 (2)  (1) 2023.11.01
2. 운영체제 개요 (1)  (0) 2023.10.31
1. 컴퓨터 시스템 개요  (0) 2023.10.31