#2 운영체제 개요

Judo·2021년 7월 15일
0
post-thumbnail

운영체제의 역할

  • 편리성
    • 사용자에게 편리한 환경 제공
    • User Interface
  • 효율성
    • 자원 관리 (HW, SW 관리)
  • 프로세스와 쓰레드 관리
  • 시스템 보호

운영체제의 구분

  • 동시 사용자 수
    • Single-user system: 한명의 사용자만 시스템 사용 가능
    • Multi-user system: 동시에 여러 사용들이 시스템 사용, 서버나 클러스터 장비
  • 동시 실행 프로세스 수
    • Single-tasking system: 시스템 내에 하나의 프로세스만 존재
    • Multi-tasking system: 동시에 여러 프로세스 수행 가능
  • 작업 수행 방식(사용자가 느끼는 사용 환경)
    • Batch processing system (일괄 처리)
      • 작업을 모아 두었다가 한번에 처리
    • Time-sharing system (시분할)
      • 여러 사용자가 시간을 나눠 자원을 사용
    • Distributed processing system (분산 처리)
      • 네트워크를 기반으로 구축된 병렬처리 시스템(병렬처리란 둘 이상의 프로세서 사용하는것)
      • 각각 운영체제 탑재한 다의 범용 시스템으로 구성
      • Cluster system(슈퍼 컴퓨터), client-server system
    • Real-time system (실시간)
      • 작업 처리에 제한 시간을 갖는 시스템
      • Hard real-time task
        • 발전소 제어, 무기 제어
      • Soft real-time task
        • 동영상 재생

운영체제의 구조

  • Kernel (커널)
    • OS의 핵심 부분으로 가장 빈번하게 사용되는 기능들을 담당하고 있으며 메모리에 상주한다.
  • Utility (유틸리티)
    • 운영체제에서 Kernel이 담당하고 있는 기능들을 제외한 부분을 담당하고 있다.
  • 사용자는 System call interface를 통해 운영체제에서 제공하는 기능을 사용한다.

  • 운영체제의 3가지 구조
    - 단일 구조
    - 커널 내 모듈간 직접 통신하기 때문에 효율적이라는 장점을 갖고 있지만, 커널이 거대해지고 오류나 버그, 추가 기능 구현이 어렵다는 단점이 존재한다.

  • 계층 구조
    - 모듈화를 통해 유지보수에 유리하지만 원하는 기능 수행을 위해 여러 계층을 거쳐야 하는 문제점이 있다.

  • 마이크로 커널 구조
    • 커널이 담당하는 역할을 최소화하는 방식이다.

운영체제의 기능

  • 프로세스 관리
  • 프로세서 관리
    • 프로세스 스케줄링: 시스템 내의 프로세스 처리 순서 결정
    • 프로세서 할당 관리: 프로세스들에 대한 프로세서 할당
  • 메모리 관리
  • 파일 관리
  • 입출력 관리
  • 보조 기억 장치 및 기타 주변 장치 관리 등

프로세서와 프로세스의 차이

프로세서는 컴퓨터 내에서 프로그램을 수행하는 하드웨어 유닛이다.
프로세스는 특정 목적을 수행하기 위해 나열된 작업의 목록입니다. 작업의 목록(과)이 파일로 저장되어 있으면 '프로그램', 메모리에 적재되어 실행 중 이거나 실행 대기 중일 땐 '프로세스' 라고 부릅니다.즉 프로세스는 프로세서에 의해 실행 중인 프로그램 이라고 정리할 수 있습니다.

  • 컴퓨터가 프로그램을 실행하는 과정
  1. 프로그램 실행
  2. 파일로 저장되어 있던 프로그램은 로더에 의해 메모리에 적재되고 처음 실행되어야 할 기계어 코드가 저장된 메모리 주소를 CPU IP(명령주소) 레지스터에 저장합니다.
  3. 프로세서는 IP 레지스터가 가리키고 있는 메모리 주소에서 처음 실행할 명령어를 가져와 IR(명령 레지스터)에 저장합니다.
  4. IR에 저장된 명령어를 실행하고 다음번에 실행할 명령어 주소를 IP에 저장한다.
  5. 3-4를 반복한다.

참고

profile
즐거운 코딩

0개의 댓글