1. 리눅스의 특징 및 장단점
- 운영체제의 정의
- 사용자 인터페이스 제공, 하드웨어 관리, 프로그래밍 인터페이스 제공
- 운영체제의 목적
- 처리능력(Throughput) 향상
- 반환 시간(Turnaround Time) 최소화
- 신뢰도(Reliability) 향상
- 사용 가능도(Availability) 향상
- 운영체제의 역할
- 하드웨어 관리, 1하드웨어 多사용자 기능 제공
- 자원 스케줄링
- 시스템 호출(system call) 제공
- 오류 복구 기능, 파일 관리 및 데이터베이스 기능, 네트워크 기능, 사용자 인터페이스
2. 운영체제의 구조와 기능
- 운영체제의 구조
사용자 → 응용 프로그램, 셸, GUI, 배치 → system call → 커널 서비스(파일 시스템, 프로세스 등) → 하드웨어 추상 계층 (HAL: Hardware Abstract Layer) → 하드웨어
2. 운영체제의 기능
- 리소스 관리, 자원 스케줄링
- 하드웨어 관리, 네트워크 제어, 데이터 관리
- 자원 공유 기능, 자원 보호 기능
- 오류 검사, 오류 복구 기능
- 가상화 기능
3. 운영체제의 운용 기법
일괄 처리 → 다중 프로그래밍 / 다중 처리 → 시분할 → 다중 모드 → 분산 네트워크 → 모바일 및 임베디드
3.1 운영체제 운용 기법의 종류
- 일괄 처리 시스템(Batch Processing System)
- 다중 프로그래밍 시스템(Multi Programming System)
- 일괄 처리 시스템에서 CPU는 입출력 중일 때 idle 상태
- → 이때 다른 작업을 할당하여 CPU 사용률과 처리량 향상
- 시분할 시스템(Time Sharing System)
- time slice(time quantum)을 정해두고 이 시간 만료되면 대기 큐에서 다음 작업 실행
- 다중 프로그래밍보다 CPU 사용률, 처리량 향상
- 다중 처리 시스템(Multi-Processing System) = 병렬 처리 시스템(Parallel Processing System)
- 여러 개의 CPU를 통해 동시에 여러 작업
- 비대칭적 다중처리 vs. 대칭적 다중 처리
- 실시간 처리 시스템(Real Time Processing System)
- 요구한 시간 안에 수행해야 하는 시간적 제약을 가지는 운용 방식
- 경성 실시간 처리 시스템 vs. 연성 실시간 처리 시스템
- (Hard real time processing system vs. Soft real time processing system)
- 다중 모드 시스템(Multi-Mode System)
- 일괄 처리, 다중 프로그래밍, 시분할, 다중 처리, 실시간 처리 시스템을 모두 혼용
- 분산 처리 시스템(Distribute Processing System)
- 독립적인 시스템 간 통신망 연결 → 작업 분산 → 시스템간 자원 공유하여 처리량, 응답시간, 가용량 극대화
- 독립적 시스템 ⇒ 각 시스템은 개별 프로세서, 하드웨어 자원, 운영체제를 가짐
- 약결합 방식(Loosely-Coupled)
- 가상화 기술을 통해 가상화 시스템 간 또는 가상화 시스템과 물리적 시스템 간의 분산 처리 형태로 진화
3.2 운영체제 운영기법의 발전
한 번에 하나의 작업을 처리하는 일괄 처리 시스템에서 지역적으로 분산된 여러 시스템이 동시에 여러 작업을 처리할 수 있는 분산 처리 시스템으로 발전
4. 운영체제의 사례
4.1 데스크톱 및 서버 운영체제
- 윈도우(Windows)
- macOS
- 리눅스(Linux)
- 유닉스(UNIX)
4.2 모바일 및 임베디드 운영체제
- 안드로이드(Android)
- 리눅스 커널과 네이티브 환경에서 구동하는 C/C++ 라이브러리와 안드로이드 런타임을 기반으로 하여 동작하는 애플리케이션 프레임워크와 이를 사용하는 애플리케이션으로 구성됨
- 스마트폰 및 모바일 기기를 위한 미들웨어, 사용자 인터페이스, 웹 브라우저, 이메일 클라이언트, 메시지(SMS, MMS) 등의 표준 응용 프로그램을 포함하고 있는 일종의 소프트웨어 스택
- 기존의 가상머신이었던 달빅(Dalbik)을 더 이상 채용하지 않고 안드로이드 런타임이라는 새로운 가상머신을 제공
- ⇒ 이를 기반으로 자바와 코틀린으로 개발된 애플리케이션을 별도의 프로세스에서 실행하는 구조
- iOS, watchOS, iPadOS, tvOS
- 타이젠(Tizen)
- 인텔과 삼성의 주도로 리눅스 재단, MeeGo 개발자가 합류하여 개발한 리눅스 기반 오픈소스 모바일, 웨어러블, IVI 기기용 운영체제
- 타이젠폰은 사실상 중단
- 삼성전자는 모바일 분야가 아닌 스마트 TV 및 스마트 워치에 타이젠을 탑재하여 플랫폼 확산에 집중
- 임베디드 리눅스(Embedded Linux)
4.3 IoT(Internet of Things) 운영체제
- Linux
- Android Things
- Ubuntu Core
- Windows IoT
- RTOS
- FreeRTOS
- VxWorks
- QNX
- 경량 OS
- Contiki
- 한정된 메모리, 저전력, 무선통신, IoT 디바이스에 초점을 둔 BSD 라이선스를 갖는 오픈소스 네트워크 운영체제
- 스마트 도시의 여러 시설에 적용됨(거리의 조명 제어, 사운드 모니터링, 방사선 모니터링, 각종 알람 시스템)
- TinyOS
- 세게에서 가장 큰 센서 네트워크 커뮤니티를 갖는 UC 버클리에서 개발한 센서 네트워크형 무료 운영체제
- 다양한 하드웨어, MAC 프로토콜, 네트워크 프로토콜, 센서 인터페이스의 소스를 완전 공개하여 지속적으로 플랫폼이 발전
- RIOT
- IoT를 겨냥한 실시간 운영체제
- 리눅스가 접근하기에는 어려운 8, 16, 32bit 플랫폼을 타겟으로 함
- 특히 32bit 플랫폼의 경우 RAM이 20KB 이하의 매우 작은 하드웨어
- Contiki
PDF 파일을 원하시는 분은 댓글에 메일 남겨주세요!
'자격증 > 리눅스마스터 1급' 카테고리의 다른 글
[리눅스마스터1급] 1-1-2) 리눅스의 기초 (2) | 2025.02.07 |
---|---|
[리눅스마스터1급] 리눅스마스터 1급 목차 (0) | 2025.02.07 |