Вы находитесь на странице: 1из 43

Lehrstuhl für Informatik 4

Kommunikation und verteilte Systeme

Chapter 2: Basics
Chapter 3: Multimedia Systems – Communication Aspects and Services
Chapter 4: Multimedia Systems
– Storage Aspects
• Optical Storage Media
4.2: Multimedia File Systems
• Multimedia File Systems
• Traditional File Systems
• Multimedia Database
• Multimedia File Systems
Systems
• Disk Scheduling in
Chapter 5: Multimedia Usage Traditional and Multimedia
File Systems
• Data Structuring
• System Architecture

Chapter 4.2: Multimedia File Systems Page 1


Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Why Multimedia File Systems?

Heterogeneous data types including digital audio, animations and video…


• Consuming enormous storage space
• Media are delay-sensitive: when user plays out or records a time dependent
multimedia data object, the system must consume or produce at a constant data rate
• High demands to access to hard disc
→ A new multimedia enabled file system is needed in two means:
 Organization of media content on the server
 Scheduling strategies for access to the data

Chapter 4.2: Multimedia File Systems Page 2


Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Disk Layout
The layout of a disk determines
• the way in which content is addressed
• how much storage space on the media is actually addressable and usable
• the density of stored content on the media
Tracks and sectors
• A hard disk consists of one or more heads
• A hard disk is divided into tracks
and further into sectors (512 Byte)
• The same track on all heads is called cylinder
• Storage of a file is done in terms of sectors
• Unused space of a sector is wasted
• Easy mapping of file location information
to head movement and disc rotation
• Constant angular velocity (CAV),
i.e. same access time to inner/outer tracks
• Access to a sector by a movable disk arm
Chapter 4.2: Multimedia File Systems Page 3
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Disk Layout

Zone Bit Recording


• In the “normal” way, a sector at an outer radius has
the same (sector) data amount, but more raw
capacity. In principle, by this space is lost.
• Current approach for solution is zone bit recording
• Different read/write speeds, depending on the
radius, allowing uniform sector size
• Place more popular media (movies)
on an outer track to reduce average seek time,
less popular media on an inner track. This saves
disk arm movements.

Now: how to place files on such a disc?


Chapter 4.2: Multimedia File Systems Page 4
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Traditional File Systems

The file system manages the data organization on a disk and consists of:
1. Files: program codes, data
2. Directory Structure: Organizes files (usually in a tree structure) and provides
information, e.g.
-rwxr-xr-x 1 root other 55160 Jul7 2004 gcc*
Files root
Traditional Files:
Directory
• Executables of programs
• Numeric data
• Text
• Objects etc.
Goals:
• Provide a comfortable interface for file access
• Make efficient use of storage medium (in terms
of space and also of access time to sectors)

Chapter 4.2: Multimedia File Systems Page 5


Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Use of Storage Medium

Important: reduce read and write times by


• fewer seek operations
• lower rotational delay or latency
• high actual data transfer rate (can not be improved by placement)
Method: store data in a specific pattern
• Divide file in blocks (can be bytes, or of larger size)
• Store blocks in certain patterns
• Larger block size
• Fewer seek operations
• Smaller number of requests
• But higher loss of storage space due to internal fragmentation (last block used only
50% on its sector on the average)

Chapter 4.2: Multimedia File Systems Page 6


Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Traditional File Systems - File Structure

How to place the records of a file?

Contiguous Placement

1st file 2nd file 3rd file

Non-contiguous Placement

1st file
2nd file
3rd file

Chapter 4.2: Multimedia File Systems Page 7


Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Performance Consideration of File Structure


Contiguous Placement:
• Disk access time for reading and writing is minimized
• Major disadvantage: file creation, deletion and size modification makes this
sequential storing difficult

Non-Contiguous Placement (two main approaches):


1. Linked Allocation:
• Using pointers for (first block is 1)
addressing the next block (next block is 2)
• Fine for sequential access beginning pointer
• Random access is costly
• Long seek operations during playback 1 2 3 4 5 6 7 8
2. Indexed Allocation:
• Links are stored in an index-block 1
2
• Complex 3
• Performance depends on the index 8
1 2 3 4 5 6 7 8 6
structure and size of the file
Chapter 4.2: Multimedia File Systems Page 8
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Traditional File Systems: Disk Management


Disk access is slow and costly - major bottleneck
Techniques reducing overall disk access time:
• Block caches Interleaved Storage
 Keep blocks in memory for future use
 Reduces the number of disk access
• Reduce disk arm motion Non-interleaved Storage
 Blocks to be accessed in sequence are
placed on the same cylinder
 Reduces the time for one disk access
 Take rotation into account by placing Heads may read
consecutive blocks in an interleaved in parallel
manner
• Placement of mapping tables
 Mapping tables are placed
in the middle of the disk
 Tables and the corresponding
blocks are placed on the same cylinder
Chapter 4.2: Multimedia File Systems Page 9
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Traditional File Systems: Disk Scheduling

In traditional file systems, efficient usage of storage capacity is the main goal. The total
time to service a request to a file in such a system consist of:
• Seek time, head positioning to appropriate track (diameter)

Delay
• Latency (rotation time), time to find the block in the track
• Actual data transfer time
Technique to reduce delay:
• Seek operation → Scheduling algorithms
• Latency → File allocation methods
Next, we will consider strategies for minimizing the seek time, i.e. for the positioning time
of the head to the appropriate track. Tracks are numbered 0, ..., N - 1. Here, 0 is the
innermost and N - 1 the outermost track.

Chapter 4.2: Multimedia File Systems Page 10


Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Disk Scheduling: First-Come-First-Served (FCFS)


Serve requests in order of arrival
133
0 13 31 51 63 69 108 130 173 198
Queue
i
(51)
108 i

successive requests
i+1 173 i+1
31 i+2
130
i+2 13
133

order of
63
69

+ Easy to implement Overall movement counted in number of


+ Fair algorithm tracks visited for FCFS (in an example
- Not optimal → High average seek time scenario): 673
Chapter 4.2: Multimedia File Systems Page 11
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Disk Scheduling: Shortest-Seek-Time First (SSFT)


SSFT = Serve “nearest“ request
133
0 13 31 51 63 69 108 130 173

Queue
(51)
108
173
31
SSTF movement: 243 130
13
133
63
Optimal overall 69
movement: 198

+ Substantial improvement over FCFS


- Still not optimal
- Starvation
Chapter (of some
4.2: Multimedia Filetracks
Systemsif there is always a track with shorter seek time available)
Page 12
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Disk Scheduling: SCAN

• SCAN = serve requests in one direction; then reverse the movement


• Move from one end to the other, serving each request on the way
69 133
0 13 31 51 63 108 130 173 198
Queue

Head Start (51)


108
173
31
130
13
Overall movement 133
SCAN: 224 63
69

Chapter 4.2: Multimedia File Systems Page 13


Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Disk Scheduling: Circular-SCAN (C-SCAN)


C-SCAN is similar to SCAN but returns immediately to the beginning if the end is reached;
one idle head movement from one edge to the other between two consecutive scans
0 13 31 51 63 69 108 130133 173 198
Queue
(51)
108
173
31
130
13
133
63
69
Overall Movement
C-SCAN: 376

+ Fair service
- More uniform waiting time
- Performance not as good as SCAN
+Chapter
Middle4.2: Multimedia
tracks a better service than edge tracks (such as with SCAN or withPage
File Systems
don’t get 14
SSTF)
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Multimedia File System

Requirements of continuous data:


• File size:
 Highly structured data units (e.g. video and associated audio)
→ New organization policies of the data on disk
 Efficient usage of limited storage is necessary
• Multiple data stream:
 For example: retrieval of a movie requires the processing and synchronization
of audio and video data
• File access:
 High, continuous throughput
 Short maximum (not average) response times
• Real-time characteristic:
 Stream play-out in constant, gap-free rate → additional buffers

Chapter 4.2: Multimedia File Systems Page 15


Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Real-Time Characteristics: Buffers


Reading Playback
R(t) Buffer is
emptied R(t)

#samples
C(t, t0) = rC ·(t- t0)

B(t, t0) = R(t) - C(t, t0)

0 tr t t0 t
tw = minimal starting time without gaps
R(t) = Total number of samples read up to time t C(t, t0) = Number of consumed
tr : Reading is completed samples up to time t
t0 : Playback starts rC = Rate of consumed samples

Consumption order and physical placement are known


→ Optimal for buffer requirements and throughput
We want to have a playback to
begin as early as possible and a
R(t) ≥ C(t, t0) for all t is Buffer needed if play-out
small buffer size
required for a gap-free playback is started at time t0:
B(t, t0) := R(t) - C(t, t0) Problem: Find minimum buffer
size such that buffer never gets
Chapter 4.2: Multimedia File Systems empty Page 16
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Real-Time Characteristics: Buffers

“The earlier the first sample is played out, the less buffer requirement”

Theorem 1:
The solution using the minimum start time for playback

#samples
R(t)
also requires the least buffer space at any point in time.

Proof: B(t, t0)


Let tw be a given solution of the minimum start time. We t0 tr
have for any possible playback without gaps: t

⎧R ( t ) if t < y
B( t , y ) = ⎨
⎩ R ( t ) − rC ⋅ ( t − y ) if t ≥ y it follows for gap-free playout:
R( t ) − rC ⋅ t + rC ⋅ y ≥ 0

This must also hold for y = tw and since tw is the minimum starting time we have:
rC ⋅ t W ≤ rC ⋅ y and B(t, tw) ≤ B(t, y)
Chapter 4.2: Multimedia File Systems Page 17
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Real-Time Characteristics: Buffers


Theorem 2:
The minimum value for t0 is as follows: consider B(t,0) R(t)
1. If B(t,0) ≥ 0 for 0 ≤ t ≤ tr → t0 = 0 is the solution
2. -m := min(B(t,0)) at time tmin → B(tmin, 0) = -m B(t, t0)
3. m is the number of missing buffers if we would t0 tr
begin immediately, i.e. at time t = 0, with the play-out t
Then the start time ti of a gap free play-out is the
intersection of rC·t – m with the t-axis. R(t)
Or alternatively ti is given by the t-axis value
where R(t) and B(t, 0) + m intersect
B(t, 0) + m
Proof:
1. If B(t,0) is a solution, then it must be optimal -m
t0 B(t, 0) t
according to Theorem 1 ti
2. rC·t – m is the highest (i.e. earliest starting) linear curve which is below R(t)
for all t. At the intersection point of R(t) and B(t, 0) + m we have the
necessary buffers, namely m, for the first time available in order to make a
gap-free play-out
Chapter 4.2: Multimedia File Systems Page 18
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Real-Time Characteristics: Buffers

• Usually we read samples in sector units of e.g.


Number of samples read
512 bytes t Number of samples usable
• A sector contains in addition to the data
various other information such as error play-out curve without
correction codes. Thus the data of the sector usable samples
is valid only when all the bytes of it have been
ti without
received. sector reading
• As a consequence, R(t) is a staircase function play-out with
• The minimum play-out curve is the parallel to usable samples
rC·t which meets the staircase only at one (or # samples
Sector Size
more) lower edges
ti with sector reading

Chapter 4.2: Multimedia File Systems Page 19


Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

“Multimedia” Disk Scheduling Algorithms

G S+G

6 Milliseconds for 3 blocks of data


→ play back rate: 0.5 ms/block
Restrictions of data placement
How to place media blocks? e.g.
Parameters G=3
rD = 2
• The size of a media block (granularity parameter G) rC = 0,5
• # blocks: separation between successive blocks results in…
(scattering parameter S) playback duration (S+G)/2 ≤ G/0.5
Continuity requirement S +G G S+G ≤ 12
≤ S≤9
rD data transfer rate from disk rD rC
rC playback rate
i.e. time to skip over a gap and to read the
next media block is smaller than or equal
to the duration of the playback
Chapter 4.2: Multimedia File Systems Page 20
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Disk Scheduling Algorithms

To fulfill the requirements of multimedia data, scheduling has another focus than in
traditional file systems:
• Goals in Traditional File Systems:
 Reduce cost of seek time (effective utilization of disk arm)
 Achieve fair throughput
 Provide fair disk access
 Achieve short average response times
• Goals in Multimedia File Systems are different:
 Meet deadlines of all time-critical tasks
 Keep the necessary buffer space requirements low
 Find balance between time constraints and efficiency

Chapter 4.2: Multimedia File Systems Page 21


Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Disk Scheduling: Earliest Deadline First (EDF)


3 24 track no.
In EDF the block with the nearest
t deadline
deadline is read first.
3 30
Equal deadlines → FCFS
2 16

3 50

2 42

1 45

1 12 1 12 1 45 2 42 3 50 2 16 3 30

2 40 2 40 1 12 1 45 2 42 3 50 2 16
1 22 2 40 2 40 2 40 2 42 3 50
1 22

22 12 45 40 42 16

• Poor throughput due to excessive seek time. Only deadlines are taken into account, but
not track number.
Chapter
• Very4.2: Multimedia
similar File Systems
to FCFS: Page 22
inefficient. Does not reflect the geographical position of tracks.
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Disk Scheduling: SCAN-EDF

SCAN-EDF is a combination of:


• Deadline scheduling (as in EDF earlier deadlines are served first)
• Scanning (tasks with same deadline are served according to the actual scan direction)
Problem: SCAN (i.e. use of scanning directions for tie break among equal deadlines) does
not make much sense if too many different deadlines exist
Thus:
• It has to be enforced that many requests have the same deadline
• In order to do so, all requests are grouped in a few groups which can be scanned
together
• We require that deadlines Di are multiples of a common period p → Di ∈ {1, 2, 3, ...}
• Then deadlines with the same period can be grouped and served together by SCAN

Chapter 4.2: Multimedia File Systems Page 23


Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Disk Scheduling: SCAN-EDF

Implementation of SCAN-EDF by Perturbation of deadlines (in order to apply EDF)


• Let Di the deadline of task i and Ni be the track number (0 ≤ Ni < Nmax , e.g. Nmax = 100)
• Assume that Di ∈ »
• Modify Di towards Di’ (Di’ = perturbed deadline)
Di’ = Di + f(Ni)
• f(Ni) converts the track number of i into a small perturbation of the deadline such that
for equal deadlines the scanning is automatically applied
If we choose (for example) f ( Ni ) = Ni
N max
⇒ 0 ≤ f(N ) <1
i

• Thus if the deadline for a task on track 42 is equal to 3 then the perturbed deadline is
3 + 100
42
= 3,42
• This deadline is given to the task at arrival time

Chapter 4.2: Multimedia File Systems Page 24


Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Disk Scheduling: SCAN-EDF

t Perturbed Deadline Track number


2.16 16

3.50 50 2.16 16
3.50 50
2.42 42 3.50 50
2.42 42
1.45 45 2.42 42 2.42 42

2.40 40 2.40 40 16
1.12 12 1.45 45
2.40 40 1.45 45
2.40 40 1.12 12 40
deadline 2, i.e. ∈ [2:3]
2.40 40 1.22 22
1.22 22 45
1.22 22
22
deadline 1, i.e. ∈ [1:2]
12
• Optimization only applies for requests with
• Among the same deadline SCAN is applied the same deadline before the comma
• Request with the earliest deadline is served • Increase this probability by grouping the
• Chapter
Sensible4.2:only
Multimedia File Systems
for a large number of requests requests Page 25
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Disk Scheduling: EDF, SCAN-EDF

0 10 20 30 40 50

SCAN-EDF EDF
Deadlines

Chapter 4.2: Multimedia File Systems Page 26


Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Disk Scheduling

A small variation of “deadline perturbation“:


• The actual deadline given to the task is refined by:
 Taking into account the actual movement of the head at arrival time (i.e. upwards
from 0 to Nmax - 1 or downwards from Nmax - 1 to 0)
 Considering the actual position N of the head
• The perturbed deadline for a task which resides on track Ni is given by: Di’ = Di + f(Ni)
where: ⎧ Ni − N
⎪ N if Ni ≥ N and "head moves upwards"
⎪ max
⎪ Nmax − Ni
⎪ N if Ni < N and "head moves upwards"

f ( Ni ) = ⎨
max

⎪ Ni if Ni > N and "head moves downwards"


⎪ Nmax

⎪ N − Ni if Ni ≤ N and "head moves downwards"

⎩ Nmax

• This allows to serve new requests as soon as possible


Chapter 4.2: Multimedia File Systems Page 27
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Group Sweeping Scheduling (GSS)


3.4 24
3.3 30
Deadline 1.1 2.0 16
Deadline 3.3
3.3 50
1.2 12 Deadline 2.0
2.2 42
2.0 16 3.4 24
1.4 45 1.2 45
2.2 42 3.3 30
1.1 22 1.4 12
2.4 40 3.3 50
Group 1 SCAN 2.4 40
12, 22, 45 1.1 22 Group 2 SCAN Group 3 SCAN
(ascending order)
42, 40, 16 24, 30, 50
[in next cycle: descending order] Cycle
(descending order) (ascending order)
t
• Requests are served in cycles in a round-robin manner
• In one cycle requests are divided into groups. A group is served according to SCAN
• Service in a group may be in ascending or in descending order depending on the
other groups
Chapter
• Thus4.2: Multimedia File
a smoothing Systems
buffer may be needed (to assure continuity) Page 28
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Group Sweeping Scheduling (GSS)

• A particular stream can be


 the first one in its group in a given cycle, but
 the last one in its group in the next cycle
• This happens if the scan order is reversed, i.e. if we have an odd number of groups
• Thus we need a smoothing buffer in order to achieve continuity of play-out
• GSS is a trade-off between optimization of buffer space and arm movements

Chapter 4.2: Multimedia File Systems Page 29


Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Group Sweeping Scheduling (GSS) - Mixed Strategy

• The „mixed strategy“ is a compromise between


 Shortest seek (“greedy“)
 Balanced strategy
• Data retrieved from disk are placed into buffers. Different queues are used for
different data streams.
• “Shortest seek” serves the stream whose data block is nearest
• “Balanced” serves the stream which has the lowest utilization of buffers (since this
stream risks to run out of data)

Chapter 4.2: Multimedia File Systems Page 30


Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Group Sweeping Scheduling (GSS) - Mixed Strategy

• Filling status of buffers indicate when to switch from SSTF to “Balanced“ and vice
versa
1
• “Urgency“ criterion: Urgency = ∑
( all streams i ) Fullness i

• Fullness i = small → Urgency = high


Chapter 4.2: Multimedia File→Systems
Balanced strategy should be used Page 31
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Storage Devices: Data Structuring

• Continuous data are characterized by consecutive, time-dependent logical data units.


• Basic data unit:
 Video - frame (single video image)
 Audio - sample
• The design of data structure is guided by two requirements:
 Time continuum of media: Media units convey their meaning only when they are
presented continuously
 Synchronization between media: Temporal coordination of different media
components is necessary
• Continuity Requirement
→ Define a continuously recorded sequence of media units (video, audio or both) as a
Strand. Strands must be partitioned into blocks and stored on the disk.
• For providing direct access to any of the media blocks of the strand a hierarchical index
structure is used
• A strand will generally include headers and other information (e.g. about compression)

Chapter 4.2: Multimedia File Systems Page 32


Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Storage Devices: Data Structuring

Components of a strand:
• Media Blocks (MB): placed according to a placement model
• Primary Blocks (PB): contain a sequence of (MB, disk-location) pairs
• Secondary Blocks (SB): contains pointers to PB
• Header Block (HB): root of the strand (pointers to all SB, recording length, rate)

HB

SB SB

HB MB ... MB PB ... MB MB PB SB ... SB

SB SB

Chapter 4.2: Multimedia File Systems Page 33


Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Storage Devices: Data Structuring


Multimedia Rope: all media strands which constitute a logical entity (e.g. video and
associated audio of a movie)

Audio Synchronization Video


Requirement

Requirement
Strand 1 Strand 1

Continuity
Audio Synchronization Video
Strand 2 Requirement Strand 2

• At the time of recording, temporal relationships among strands (may be recorded at


different sites/times) will be represented by RTS = Relative Time Stamp
• During playback all media units must be played regarding RTS in relation to the other
strands
Chapter 4.2: Multimedia File Systems Page 34
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Data Structure of a Multimedia Rope


MultimediaRopeID Unique ID
Creator Identification of the creator
Length
Length of the rope
PlayAccess
EditAccess
List of [ List of users or group ID
List of [
MediaStrandID Unique ID of media strand
<StrandIntervalStart, Strand interval, in media units
StrandIntervalEnd>
Media type
Medium of the strand
EncodingFormat Strand encoding format: MPEG, JPEG, etc
MediaRecordingRate Rate of recording, in media units/s
StorageGranularity Media granularity, in media units/s
List of [
Media unit and its corresponding RTS
<MediaUnitID, RTS>
] (RTS = Relative Time Stamps)
MaximumAsynchrony Tolerable asynchrony threshold
]
List of [ Discrete synchronization points
RTSvalue Identities of synchronization points
]
]

Chapter 4.2: Multimedia File Systems Page 35


Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Storage Devices: Data Structuring


• Editing operations on ropes manipulate pointers to strands
• Intervals of strands can be shared by different ropes
• Strands that are not referenced by any rope can be deleted, and storage can be
reclaimed
Rope1 Rope2

Audio Audio

Video Video

INSERT
Rope1 Rope2
Audio Audio

Video Video

Chapter 4.2: Multimedia File Systems Page 36


Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Storage Devices: Data Structuring


Rope1 Rope2

Audio Audio

Video Video

REPLACE
Rope1 Rope2
Audio Audio

Video Video

Operations
• INSERT [baseRope, position, media, withRope, withInterval]
• REPLACE [baseRope, position, media, withRope, withInterval]
• SUBSTRING [baseRope, media, interval]
• CONCATENATE [mmRopeID1, mmRopeID2]
Chapter 4.2: Multimedia
• DELETE [baseRope,File Systems
media, interval] Page 37
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Storage Devices: Data Structuring

• Further operations:
 RECORD [media][requestID, mmRpeID]
Records a multimedia rope represented by “mmRopeID“ which consists of
several media strands until a STOP operation is issued
 PLAY [mmRopeID, interval, media] requestID
 STOP [requestID]

Chapter 4.2: Multimedia File Systems Page 38


Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

Multimedia File System Architecture

• Multimedia Systems must coexist with the conventional Non-Real-


Time Environment (NRTE) data processing
→ Many operating systems provide extensions to support
multimedia application Real Time Environment (RTE)
• Application itself never really touches the data
→ Take the shortest possible path from source to the sink

Chapter 4.2: Multimedia File Systems Page 39


Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

System Architecture

deals with all data that have


NRTE no timing requirements
• RTE schedules the processes according to the
Application(s) timing requirements
• Stream Handlers manage the RTE data flow in
control events accordance with the control operations of the
NRTE
Stream Control Interface(s) • Applications access stream handlers by
establishing (creating) sessions

Stream Management System(s)

Stream Handler Stream Handler


Source Sink

RTE

Chapter 4.2: Multimedia File Systems Page 40


Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

System Architecture - UNIX-based Systems

NRTE
Applications
• Applications make use of systems
calls in the NRTE
user • Extensions to the operating system
space Operating System (i.e. RTE) are part of the kernel space
kernel
space e.g. Traditional
Scheduler

e.g. Deadline
Scheduler

RTE

Chapter 4.2: Multimedia File Systems Page 41


Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

System Architecture - IBM OS/2


• Multimedia Presentation Manager/2 (MMPM/2)
 Part of IBM’s Operating System/2 (OS/2)
 Well-suited for multimedia supporting preemptive multitasking, priority scheduling,
demand-paged virtual memory storage, etc.
• Media Control Interface (device independent programming interface)
 Open, close, status of device (for all devices)
 Play, record, resume, stop (playback, record)
 Set cue point (allows for synchronization)
 Get table of contents of a CD-ROM (device-specific command)
• Stream Programming Interface
 Implementation of data streaming and synchronization
 Access to the SyncStream Manager (coordinates and manages the buffers)
• Ease of use several levels
 Style guide for applications, unified graphical interfaces
 Application developers and device providers can integrate their own I/O processes,
stream handlers, etc.
Chapter 4.2: Multimedia File Systems Page 42
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme

System Architecture - IBM OS/2


OS/2 Multimedia Presentation Manager/2

Media Control Interface


Media Device Manager

Non Real Time


Environment (NRTE) Media Driver
Real Time
Environment (RTE)
Stream Programming Interface

Source Sink
Stream Sync/Stream Stream
Handler Manager Handler

Stream Manager Helpers


Source HW Sink HW
Device Device
Driver Driver
Stream Data Buffers
Chapter 4.2: Multimedia File Systems Page 43

Вам также может понравиться