자격증/리눅스마스터 1급

[리눅스마스터1급] 1-1-1) 운영체제의 개요

MoonWol 2025. 2. 7. 17:05

 

1. 리눅스의 특징 및 장단점


  1. 운영체제의 정의
  2. 사용자 인터페이스 제공, 하드웨어 관리, 프로그래밍 인터페이스 제공
  3. 운영체제의 목적
    • 처리능력(Throughput) 향상
    • 반환 시간(Turnaround Time) 최소화
    • 신뢰도(Reliability) 향상
    • 사용 가능도(Availability) 향상
  4. 운영체제의 역할
    • 하드웨어 관리, 1하드웨어 多사용자 기능 제공
    • 자원 스케줄링
    • 시스템 호출(system call) 제공
    • 오류 복구 기능, 파일 관리 및 데이터베이스 기능, 네트워크 기능, 사용자 인터페이스

2. 운영체제의 구조와 기능


  1. 운영체제의 구조
    사용자 → 응용 프로그램, 셸, GUI, 배치 → system call → 커널 서비스(파일 시스템, 프로세스 등) → 하드웨어 추상 계층 (HAL: Hardware Abstract Layer) → 하드웨어

 

 

 

2. 운영체제의 기능

  • 리소스 관리, 자원 스케줄링
  • 하드웨어 관리, 네트워크 제어, 데이터 관리
  • 자원 공유 기능, 자원 보호 기능
  • 오류 검사, 오류 복구 기능
  • 가상화 기능

 

 

3. 운영체제의 운용 기법


일괄 처리 → 다중 프로그래밍 / 다중 처리 → 시분할 → 다중 모드 → 분산 네트워크 → 모바일 및 임베디드

3.1 운영체제 운용 기법의 종류

  1. 일괄 처리 시스템(Batch Processing System)
  2. 다중 프로그래밍 시스템(Multi Programming System)
    • 일괄 처리 시스템에서 CPU는 입출력 중일 때 idle 상태
    • → 이때 다른 작업을 할당하여 CPU 사용률과 처리량 향상
  3. 시분할 시스템(Time Sharing System)
    • time slice(time quantum)을 정해두고 이 시간 만료되면 대기 큐에서 다음 작업 실행
    • 다중 프로그래밍보다 CPU 사용률, 처리량 향상
  4. 다중 처리 시스템(Multi-Processing System) = 병렬 처리 시스템(Parallel Processing System)
    • 여러 개의 CPU를 통해 동시에 여러 작업
    • 비대칭적 다중처리 vs. 대칭적 다중 처리
  5. 실시간 처리 시스템(Real Time Processing System)
    • 요구한 시간 안에 수행해야 하는 시간적 제약을 가지는 운용 방식
    • 경성 실시간 처리 시스템 vs. 연성 실시간 처리 시스템
    • (Hard real time processing system vs. Soft real time processing system)
  6. 다중 모드 시스템(Multi-Mode System)
    • 일괄 처리, 다중 프로그래밍, 시분할, 다중 처리, 실시간 처리 시스템을 모두 혼용
  7. 분산 처리 시스템(Distribute Processing System)
    • 독립적인 시스템 간 통신망 연결 → 작업 분산 → 시스템간 자원 공유하여 처리량, 응답시간, 가용량 극대화
    • 독립적 시스템 ⇒ 각 시스템은 개별 프로세서, 하드웨어 자원, 운영체제를 가짐
    • 약결합 방식(Loosely-Coupled)
    • 가상화 기술을 통해 가상화 시스템 간 또는 가상화 시스템과 물리적 시스템 간의 분산 처리 형태로 진화

3.2 운영체제 운영기법의 발전

한 번에 하나의 작업을 처리하는 일괄 처리 시스템에서 지역적으로 분산된 여러 시스템이 동시에 여러 작업을 처리할 수 있는 분산 처리 시스템으로 발전

 

 

 

4. 운영체제의 사례


4.1 데스크톱 및 서버 운영체제

  1. 윈도우(Windows)
  2. macOS
  3. 리눅스(Linux)
  4. 유닉스(UNIX)

4.2 모바일 및 임베디드 운영체제

  1. 안드로이드(Android)
    • 리눅스 커널과 네이티브 환경에서 구동하는 C/C++ 라이브러리와 안드로이드 런타임을 기반으로 하여 동작하는 애플리케이션 프레임워크와 이를 사용하는 애플리케이션으로 구성됨
    • 스마트폰 및 모바일 기기를 위한 미들웨어, 사용자 인터페이스, 웹 브라우저, 이메일 클라이언트, 메시지(SMS, MMS) 등의 표준 응용 프로그램을 포함하고 있는 일종의 소프트웨어 스택
    • 기존의 가상머신이었던 달빅(Dalbik)을 더 이상 채용하지 않고 안드로이드 런타임이라는 새로운 가상머신을 제공
    • ⇒ 이를 기반으로 자바와 코틀린으로 개발된 애플리케이션을 별도의 프로세스에서 실행하는 구조
  2. iOS, watchOS, iPadOS, tvOS
  3. 타이젠(Tizen)
    • 인텔과 삼성의 주도로 리눅스 재단, MeeGo 개발자가 합류하여 개발한 리눅스 기반 오픈소스 모바일, 웨어러블, IVI 기기용 운영체제
    • 타이젠폰은 사실상 중단
    • 삼성전자는 모바일 분야가 아닌 스마트 TV 및 스마트 워치에 타이젠을 탑재하여 플랫폼 확산에 집중
  4. 임베디드 리눅스(Embedded Linux)

4.3 IoT(Internet of Things) 운영체제

  1. Linux
    • Android Things
    • Ubuntu Core
  2. Windows IoT
  3. RTOS
    • FreeRTOS
    • VxWorks
    • QNX
  4. 경량 OS
    • Contiki
      • 한정된 메모리, 저전력, 무선통신, IoT 디바이스에 초점을 둔 BSD 라이선스를 갖는 오픈소스 네트워크 운영체제
      • 스마트 도시의 여러 시설에 적용됨(거리의 조명 제어, 사운드 모니터링, 방사선 모니터링, 각종 알람 시스템)
    • TinyOS
      • 세게에서 가장 큰 센서 네트워크 커뮤니티를 갖는 UC 버클리에서 개발한 센서 네트워크형 무료 운영체제
      • 다양한 하드웨어, MAC 프로토콜, 네트워크 프로토콜, 센서 인터페이스의 소스를 완전 공개하여 지속적으로 플랫폼이 발전
    • RIOT
      • IoT를 겨냥한 실시간 운영체제
      • 리눅스가 접근하기에는 어려운 8, 16, 32bit 플랫폼을 타겟으로 함
        • 특히 32bit 플랫폼의 경우 RAM이 20KB 이하의 매우 작은 하드웨어

 

 


PDF 파일을 원하시는 분은 댓글에 메일 남겨주세요!