Download presentation
Presentation is loading. Please wait.
1
멀티미디어 운영체제 (Multimedia Operating System)
Lecture #10 멀티미디어 운영체제 (Multimedia Operating System)
2
강의 내용 멀티미디어 운영체제 개요 자원관리 QoS 관리 프로세스 관리 시스템 메모리 관리 파일 시스템 관리 동기화
3
멀티미디어 운영체제(1) 기존 운영체제의 역할 (Application) 사용자와 컴퓨터 사이의 인터페이스 제공 사용자
프로그램 작성 및 실행 컴퓨터 하드웨어에 대한 접근 인터페이스 시스템 에러 탐지 및 처리 컴퓨터 시스템의 자원 관리 컴퓨터 시스템의 효율적인 관리 다중 사용자 환경에서의 사용자 요구 지원 사용자 (Application) 운영체제 Hardware
4
멀티미디어 운영체제(2) 멀티미디어 컴퓨터 시스템의 기능 시간 제약 조건을 갖는 연속 매체 처리
비디오, 오디오 등 사용자의 상호 작용(Interactive Operations) 지원 VCR 동작: 재생, 정지, 멈춤 등 멀티미디어 데이터 처리를 지원하기 위해서는 운영체제의 복잡한 자원관리 및 스케줄링 기능이 요구된다
5
멀티미디어 운영체제(3) 멀티미디어 데이터의 특징
대부분의 멀티미디어 데이터는 연성 실시간(Soft Real-Time) 데이터 이다 연성 실시간 시스템(Soft Real-Time System) 경성 실시간 시스템(Hard Real-Time System) 자원 예약(Resource Reservation)을 요구 멀티미디어 데이터는 주기적(periodic) 이다 초당 30 프레임 비디오는 33.3 ms 단위로 프레임을 스케줄링 멀티미디어 데이터는 대역폭이 일정하지 않다 MPEG의 I, B, P 프레임은 크기가 각각 다르다 비디오 데이터와 오디오 데이터의 요구 대역폭이 다르다
6
멀티미디어 운영체제(4) 멀티미디어 운영체제의 요구 사항 실시간 스케줄링 신속한 인터럽트 처리 스트림 방식의 입출력
디스크에서 네트워크 인터페이스 장치로의 데이터 직접 전송(Zero-Copy Architecture) 연속 매체의 입출력이 효율적인 파일 시스템 등
7
멀티미디어 운영체제(5) 멀티미디어 운영체제의 특징 : 분석 관점 자원 관리 프로세스 관리 시스템 메모리 관리
파일 시스템 관리 멀티미디어 데이터 동기화
8
자원 관리 (1) 멀티미디어 응용 멀티미디어 데이터 서비스를 위한 자원 관리 전자 상거래 또는 인터넷 쇼핑 등
작은 멀티미디어 객체에 대한 빈번한 접근 주문형 비디오(VOD) 등 큰 멀티미디어 객체에 대한 장시간의 접근 멀티미디어 데이터 서비스를 위한 자원 관리 멀티미디어 데이터의 연속적이고 다중적인 서비스를 위해서는 복잡한 자원 관리 기능을 요구 CPU, 디스크 대역폭, 버퍼 그리고 네트워크 자원에 대한 충분한 자원 예약(Resource Reservation) 새로운 서비스 요구에 대한 허용 제어(Admission Control)
9
자원 관리 (2) 멀티미디어 시스템 자원 특성에 따른 분류 능동(Active) 자원 수동(Passive) 자원
CPU, 네트워크 어댑터(Network Adapter) 등 멀티미디어 서비스를 제공하기 위해 사용하는 자원 여러 프로세스가 경쟁적으로 사용 수동(Passive) 자원 메모리 버퍼, 파일 시스템, 통신 대역폭 등 멀티미디어 데이터 처리를 위해 필요로 하는 자원 버퍼 등은 적절히 관리하지 않으면 사용자 서비스 질 저하를 초래
10
자원 관리 (3) 멀티미디어 시스템 자원 프로세스간의 공유 여부에 따른 분류 독점(Exclusive) 자원
프로세스간의 공유가 불가능하며 어느 한 순간에 한 프로세스가 독점적으로 사용 일반적으로 능동적인 자원에 해당 공유(Shared) 자원 여러 프로세스간의 공유 가능한 자원 수동적인 자원에 해당 논리적 채널(Logical Channel) : 멀티미디어 데이터 서비스를 위해 필요한 자원의 집합
11
자원 관리 (4) 논리적 채널(Logical Channel)
주문형 비디오 시스템에서 서버와 사용자 사이에 논리적 채널이 존재 : 그림 5.1 연속적인 비디오 스트림을 서비스하기 위해 필요로 하는 CPU, 디스크 대역폭, 버퍼 그리고 네트워크 대역폭 등 자원들의 집합 서버 시스템의 논리적 채널 수는 제한적 다수의 사용자가 논리적 채널을 공유 사용자 요구의 일괄 처리(Batching of requests) 인기 있는 멀티미디어 데이터에 대한 사용자 접근의 편기성 (Skewness) 멀티미디어 시스템 자원의 효율적인 사용
12
QoS(Quality of Service) (1)
멀티미디어 데이터의 서비스 질 멀티미디어 서비스에 대한 멀티미디어 응용 또는 사용자의 다양한 요구 조건을 표현 예: 최상의 화질, 보통 화질, 축소 화질 등 멀티미디어 시스템이 멀티미디어 데이터에 대한 처리 정도를 나타내는 매개변수 QoS의 내부적인 매개 변수: 처리량(Throughput) 지역 지연(Local Delay) 및 전역 지연(Global Delay) 지터(Jitter) 신뢰성(Reliability)
13
QoS(Quality of Service) (2)
자원의 할당과 관리 클라이언트(사용자)와 자원 관리자 사이의 상호작용 (Interaction)을 통하여 이루어진다 클라이언트는 QoS를 통해 필요한 요구조건을 제시함으로써 시스템 자원의 예약 및 할당을 요구 자원 관리자는 다음 과정을 통해 자원을 관리 자원의 활용도를 검사 활용도를 근거로 자원 예약의 승인 여부를 결정
14
QoS(Quality of Service) (3)
분산 멀티미디어 시스템의 자원 할당 과정 1) 스케줄링 가능성 검사(Schedulability Test) 클라이언트가 제시한 QoS 요구조건을 서비스 가능한 지를 검사 자원의 현재 상태 및 용량을 검사 2) QoS 계산 제공할 수 있는 가장 좋은 성능을 계산 3) 자원 예약 자원 예약 요구에 대한 거절 또는 승인 QoS 협상(Negotiation) 4) 자원 스케줄링 자원 관리자가 보장한 QoS에 따라 스케줄링
15
QoS(Quality of Service) (4)
자원 예약 방법 낙관적(Optimistic) 예약 통계적(statistical) 예약 : 평균 부하에 따라 자원을 예약하는 정책 예: MPEG 비디오를 서비스할 때에 프레임에 따라 크기가 다르지만 평균 프레임을 기준으로 디스크 및 네트워크 대역폭을 할당 자원의 활용도는 매우 높다 과부하 발생 가능이 존재 과부하 방지를 위한 모니터 기능이 필요
16
QoS(Quality of Service) (5)
자원 예약 방법(계속) 비관적(Pessimistic) 예약 보장(Guaranteed) 또는 결정적(Deterministic) 예약 최악의 경우를 예상하여 자원을 예약하는 정책 예: MPEG 비디오를 서비스할 때에 가장 큰 크기를 가진 I-프레임을 기준으로 디스크 및 네트워크 대역폭을 할당 자원의 낭비를 초래 주어진 QoS에 따른 서비스를 보장
17
프로세스 관리 (1) 멀티미디어 운영체제에서의 CPU 스케줄러
기 능 연속적인 데이터 스트림에 대한 마감시간 보장 기존의 일반적인 태스크의 처리 다중 프로세스 스케줄링 + 실시간 프로세스 스케줄링 스케줄링 목표: 비실시간 프로세스의 기아(starvation) 현상 방지 실시간 프로세스의 우선순위 역전(priority inversion) 현상 방지
18
프로세스 관리 (2) 연속 매체 스케줄링 시분할 시스템(Time Sharing System)의 스케줄링 연속 매체의 스케줄링
최적의 처리량 / 효율성 / 공정성을 목표 연속 매체의 스케줄링 실시간 스케줄링 연속 매체 처리 프로세스들이 마감 시간을 만족하도록 스케줄링 연성 실시간 스케줄링 선점 (preemptable) 스케줄링 비선점 스케줄링 방식은 우선순위 역전 현상과 마감 시간 실패의 경우가 발생한다 선점 및 비선점 스케줄링 방식의 비교 : 그림 5.2
19
프로세스 관리 (3) 실시간 스케줄링 알고리즘 EDF(Earliest Deadline First) 알고리즘
준비된 프로세스 중에서 가장 마감 시간이 빠른 프로세스를 선택하는 알고리즘 최적의 스케줄링을 동적으로 생성하는 선점 방식 우선 순위 기반의 스케줄링 마감 시간이 빠른 프로세스는 높은 우선순위, 느린 프로세스는 낮은 우선순위 부여 CPU 활용도가 최대 100% 지원 연속 매체 스케줄링에서는 빈번한 우선순위 재조정 문제가 발생 필요한 우선순위를 몇 개로 제한하여 사용
20
프로세스 관리 (4) 실시간 스케줄링 알고리즘(계속) RM(Rate Monotonic) 알고리즘
프로세스의 서비스 요구율(request rate)을 바탕으로 우선순위를 결정하는 알고리즘 가장 짧은 주기를 가진 프로세스가 우선순위가 가장 높으며, 가장 긴 주기를 가진 프로세스가 우선순위가 가장 낮다 특징: 정적인 알고리즘 우선순위를 기반의 선점 방식 최적의 스케줄링을 제공 주기적인 작업 스케줄링에 적합 실시간 스케줄링에 적합
21
프로세스 관리 (5) 실시간 스케줄링 알고리즘(계속) EDF와 RM의 비교 문맥 교환 횟수(Context Switches)
RM > EDF 예제: 그림 5.4 마감 시간 실패율(Deadline Miss Rate) RM = EDF 프로세서 효율성(Processor Utilization) EDF(Max: 100%) > RM(Max: 69%) EDF 알고리즘은 동적 스케줄링 정책
22
시스템 메모리 관리 (1) 멀티미디어 시스템 메모리 관리 멀티미디어 시스템의 메모리 관리에 대한 요구 사항:
비디오, 오디오 등 연속 매체의 실시간 서비스 VCR 기능 지원 : Fast Forward, Fast Rewind 등 기존 시스템의 메모리 관리 기법 가상 기억 장치(Virtual Memory) 기본 개념: 요구 페이징(Demand Paging) 기법 요구 페이징에 따른 Page Fault는 연속 매체의 마감시간 제약 조건을 만족하지 못하게 한다 멀티미디어 시스템의 메모리 관리 기법으로 적용하기 어렵다
23
시스템 메모리 관리 (2) 멀티미디어 시스템의 가상 기억 장치 특성 예약 & 락킹 기반 요구 페이징
구현이 간단하고 용이하여야 한다 안전하여야 한다 락킹(locking)할 메모리에 대해 협상 가능하여야 한다 필요한 메모리 크기를 알지 못해도 페이지 폴트가 발생하지 않아야 한다 예약 & 락킹 기반 요구 페이징 참조된 페이지는 항상 주기억 장치에 적재되어 있다 필요한 주기억 장치는 미리 예약 할당되어야 한다 주기억장치 할당은 최대로 필요한 페이지를 미리 계산하여 할당하고 한 주기에 필요한 디스크 대역폭을 계산하여 디스크에 요구하여야 한다
24
시스템 메모리 관리 (3) 멀티미디어 시스템의 가상 기억 장치 멀티미디어 프로세스의 가상 기억 공간 pp 281, 그림 5.8
코드 세그먼트(Code Segment) 정적 데이터 세그먼트(Static Data Segment) 동적 데이터 세그먼트(Dynamic Data Segment) 연속 매체의 VBR(Variable Bit Rate) 특성 동적인 QoS(Quality of Service) 시스템 스택 세그먼트(System Stack Segment)
25
시스템 메모리 관리 (4) 멀티미디어 시스템의 가상 기억 장치 가상 기억 장치의 구성
메모리 예약 시스템(Memory Reservation System) 연속 매체의 연속적인 서비스를 위해 락킹할 페이지를 미리 예약하고 할당한다 메모리 락킹 시스템(Memory Locking System) 디스크로 부터 검색된 페이지 프레임을 다음 사이클이 끝날 때까지 락킹(locking) 또는 피닝(Pinning)하여 페이지 폴트가 발생하지 않도록 한다
26
시스템 메모리 관리 (5) 멀티미디어 시스템의 가상 기억 장치 메모리 예약 시스템 메모리 예약 기능 메모리 예약 페이지 반입
페이지 등록 알림 기능 락킹한 페이지 수가 예약한 페이지 수를 초과하면 알려주는 기능 락킹한 페이지 수를 줄이거나 예약 페이지 수를 늘여야 한다 메모리 관리 기능의 안전을 보장
27
시스템 메모리 관리 (6) 멀티미디어 시스템의 가상 기억 장치 메모리 락킹 시스템 페이지 교체 기법 점진적인 페이지 락킹 기법
연속 매체을 위한 페이지 프레임은 다음 사이클이 종료할 때까지 락킹되어야 한다 실시간 멀티미디어 프로세스가 사용하는 페이지만 락킹한다 비실시간 프로세스를 위한 페이지는 기존 방식을 적용한다 페이지 교체 기법 최적합(Best-Fit) 교체 최초 적합(First-Fit) 교체 LRU(Least Recently Used) 교체 : 부적합
28
파일 시스템 관리 (1) 파일 시스템의 역할 멀티미디어 파일 시스템에 대한 요구 사항
저장 장치에 대한 접근 제어와 효율적인 관리 파일의 생성, 저장 및 검색 기능 제공 멀티미디어 파일 시스템에 대한 요구 사항 실시간 파일 접근 재생을 위한 마감 시간 제약 조건을 만족하여야 한다 다양한 크기의 파일에 대한 저장 적은 용량의 텍스트 파일과 대용량의 멀티미디어 파일을 제한된 용량에 효율적으로 저장 다양한 매체 파일에 대한 동기화된 접근 분산 환경에서 다양한 매체 파일에 대해 실시간으로 동기화하여 접근할 수 있어야 한다
29
파일 시스템 관리 (2) 멀티미디어 파일 시스템의 구현 접근법 디스크 스케줄링과 버퍼를 활용한 방법
기존의 디스크 제어 메커니즘을 이용 실시간 디스크 스케줄링 알고리즘 효율적인 버퍼 관리 기법 연속 매체에 대한 구조의 최적화 디스크 배열 등과 같은 고용량, 고 대역폭의 저장 장치를 활용 데이터 스트라이핑과 같이 연속 매체의 특징을 고려한 데이터 배치 기법을 적용
30
파일 시스템 관리 (3) 멀티미디어 데이터 배치 기법
디스크와 같은 저장 장치에 멀티미디어 데이터를 저장할 때에 연속 매체의 특징을 고려하여 배치하여야 한다 연속 배치 기법 비디오와 같은 연속 매체는 대용량의 데이터를 연속적으로 접근하므로 연속된 저장 공간에 저장 인터리브(interleaved) 배치 기법 다양한 매체에 대한 동기화된 접근이 요구되므로 각 매체의 n 번째 블록을 디스크의 인접한 공간에 배치 데이터 스트라이핑 기법 디스크 배열과 같은 다중 디스크 장치에서 높은 대역폭 확보를 위한 매체 데이터의 분산 배치
31
파일 시스템 관리 (4) 멀티미디어 데이터 배치 기법 멀티미디어 파일을 위한 디스크 블록의 크기
기존 파일 시스템의 디스크 블록의 크기: 512 바이트 작은 디스크 블록 크기 디스크 접근 회수가 증가 응답시간이 커진다 큰 디스크 블록 크기 멀티미디어 데이터의 경우 큰 디스크 블록 크기가 유리 일반적으로 32 Kbytes ~ 256 Kbytes 적용 기존 텍스트 파일에 대해서는 비효율적인 디스크 접근 내부적 단편화 문제 외부적 단편화 문제
32
파일 시스템 관리 (5) 버퍼 관리 기법 프리패칭(Prefetching) 기법 버퍼링(Buffering) 기법
연속 매체에 대한 연속적인 접근 경향 데이터를 필요한 시점보다 미리 버퍼에 읽어 두어 실시간성을 만족하도록 하는 기법 버퍼링(Buffering) 기법 연속 매체에 대한 사용자의 접근 편기성 접근 가능성이 높은 멀티미디어 데이터를 일정 시간 버퍼에 둠으로써 저장 장치에 대한 접근 회수를 줄이는 기법 버퍼 용량이 큰 경우 : 버퍼의 비효율적인 이용 버퍼 용량이 작은 경우: 지터(jitter) 등의 현상 발생
33
파일 시스템 관리 (6) 실시간 디스크 스케줄링 기법 멀티미디어 시스템의 디스크 스케줄링 알고리즘:
실시간 태스크의 마감시간 준수 효율적인 버퍼 관리 동시에 지원되는 스트림의 최대화 비실시간 태스크의 기아 방지 기존 시스템의 디스크 스케줄링 알고리즘: 탐색시간(seek time)의 축소 처리량의 증가 공정한 디스크 접근 보장
34
파일 시스템 관리 (7) 실시간 디스크 스케줄링 기법 EDF(Earliest Deadline First) 기법
가장 빠른 마감시간을 가진 디스크 접근 요청을 먼저 처리하는 기법 실시간 디스크 접근이 가능 과다한 탐색 시간 오버헤드 선점 스케줄링에 의한 오버헤드 멀티미디어 파일 시스템에 적용하기 곤란 예제: pp 272, 예제 5.2
35
파일 시스템 관리 (8) 실시간 디스크 스케줄링 기법 SCAN-EDF 기법 스케줄링 알고리즘:
SCAN 방향으로 요구가 없으면 SCAN 방향을 바꿔 서비스한다 SCAN 기법의 탐색 시간 최적화 + EDF 기법의 마감시간 보장 동일한 또는 유사한 디스크 접근 요청이 많은 경우에 성능이 향상 예제: pp 273, 예제 5.3
36
파일 시스템 관리 (9) 실시간 디스크 스케줄링 기법 GSS(Grouped Sweeping Scheduling) 기법
n개의 디스크 접근 요구를 g 개의 그룹으로 나누고 그룹 간에는 고정된 순서로 서비스하고 그룹 내에서는 SCAN 방식으로 서비스하는 기법 일반적으로 그룹 간에는 EDF 방식을 적용한다 g=n 이면 EDF 기법 g=1 이면 SCAN 기법 예제: pp 277, 예제 5.4
37
동기화 (1) 멀티미디어 동기화 멀티미디어 데이터를 구성하는 매체간의 시간적인 또는 공간적인 종속관계를 설정하고 맞추는 과정
예: 입술 동기화(Lip Synchronization) 슬라이드 쇼(Slide Show) CAI 코스웨어 가라오케 시스템에서의 음악과 텍스트 간의 동기화 멀티미디어 시스템의 모든 구성요소에서 미디어 간의 동기화가 지원되어야 한다 운영체제, 네트워크, 응용 프로그램에서의 동기화 사용자의 상호작용(interactivity)가 많은 경우 분산 환경에서 소스와 싱크가 분리된 경우
38
동기화 (2) 동기화 개념 멀티미디어 동기화는 미디어 간의 종속 관계를 지원하는 과정이다 미디어 간의 관계
시간 관계 : 비디오와 오디오의 관계 Lip Synchronization 공간 관계 : 미디어 간의 배치 관계 전자출판에서의 배치 프레임 내용 관계 : 내용에 의한 종속 관계 스프레트 쉬트와 차트사의 관계
39
동기화 (3) 객체내 및 객체간의 동기화 객체내의 동기화(Intramedia Synchronization)
하나의 매체 내의 구성 요소들간의 시간 관계 구성 요소의 재생 마감 시간을 지키기 위한 기법 전송 스케줄링 버퍼 관리 등 객체간의 동기화(Intermedia Synchronization) 멀티미디어 데이터를 구성하는 매체들간의 시간 관계 Lip Sync 프리젠테이션 쇼의 시간적인 동기화
40
동기화 (4) 동기화 모델 4 계층의 동기화 모델을 적용 pp 298, 그림 5.15 매체층 스트림층 객체층 명세층
41
동기화 (5) 동기화 명세 멀티미디어 데이터를 구성하는 객체들간의 시간 종속을 정의 시간 간격 기반 명세 축 기반 명세
제어 흐름 기반 명세 Petri-Net, OCPN, XOCPN 등
Similar presentations