An operating system (OS) is simply a program that manages the hardware components of a computer (Silberschatz, Gagne and Galvin). It acts as a middle man between the user and the hardware. Different operating system is developed for different types of system, from mainframes up to personal computers and embedded systems. Some of the most popular current operating systems in the market are Microsoft’s Windows, Linux and Mac OS. An operating system exhibits a great deal of complexity, thus, must be designed and constructed part-by-part.
From the I/O operations up to the user interface designs, an operating system is engineered with extreme fragility since a loophole in the design cannot be immediately fixed because of its intricacy. As of now, operating systems offer a vast range of services to the end users. Old OS before cannot support applications using mouse operations like a simple click and drag-and-drop. Present operating systems can now even support a wide selection of user-computer interaction such as far as a speech recognition facility. However, one of the most remarkable features of an operating system is its support on multimedia systems. 2.
Multimedia: A Working Definition Aside from the common “office-related” services offered by an OS (word processors, calculator and spreadsheets), most of today’s users are more concerned with their music and video files playing at its highest quality, with their DVD movies running smoothly and with their YouTube online streaming done with no hassle. Photos, audio and video files are all examples of multimedia file. The term multimedia, technically called as continuous media, describes a wide range of applications that are in popular use today (Silberschatz, Gagne and Galvin). Moorthy describes how multimedia is used today:
The last couple of years have seen an increase in multimedia content in almost every context – web pages (MPEG clips, Flash animations), desktop (Media Player, QuickTime, NetMeeting), consumer products (DVD players, Set-top Boxes, Interactive TV). These content-rich applications rely on extensive support by the operating system (OS) (Moorthy 1). Multimedia can be greatly manifested in the Internet, especially on the World Wide Web. Most contents of the embedded in web pages are multimedia. Multimedia, in a more technical perspective, is a combination of two or more categories of information having different transport signal characteristics.
Thus, a multimedia system is a system that involves generation, representation, storage, transmission, search and retrieval and delivery of multimedia information (Gupta). 3. Characteristics of Multimedia Data and System Silberschatz, Gagne and Galvin illustrate how a multimedia data behaves in the OS context: Multimedia data are stored in the file system just like any other data. The major difference between a regular file and a multimedia file is that the multimedia file must be accessed at a specific rat, whereas accessing the regular file requires no special timing.
… Multimedia data may be delivered to a client from a local file system or from a remote server (Silberschatz, Gagne and Galvin). In addition, they quoted the delivery of a multimedia data as a “local playback” when it is delivered from a local file system. On the other hand, the word “streaming” refers to multimedia files that comes from a remote server and accessed by a client via a network. Streaming can be done in two ways: via progressive download or real-time streaming (Silberschatz, Gagne and Galvin). Progressive download happens when a multimedia file is downloaded and kept in the client’s local storage.
During download and even without waiting the download to finish, the media that is being downloaded can be played concurrently. It is advantageous on media files in small sizes, like short video and audio clips. Meanwhile, real-time streaming refers to a situation when the multimedia file being accessed by the client is only played, not stored. Unlike the progressive download, it is more beneficial to large multimedia files like TV broadcasts. Real-time streaming is still further divided into two categories: live streaming and on-demand streaming. Live streaming is used to deliver a live event like a concert while it is occurring.
Conversely, on-demand streaming is utilized to transport media streams such as movies wherein the events are happening in real-time. Multimedia systems demand more resources than traditional applications (Silberschatz, Gagne and Galvin). Multimedia files are usually larger than the usual files (documents, text files, etc. ) in a computer. They also call for high data rates. When playing multimedia files, considerations regarding to their sensitivity to timing delays must not be overlooked. Clients viewing continuous media must expect delays or pauses during playback.
Consequently, operating systems must meet the specific rate and timing requirements needed by continuous media. These guarantees are often called as Quality-of-Service (QoS). Multimedia applications mostly rely on the support provided by operating systems. Thus, it is important for OS developers to create special services for multimedia system’s operations. Moorthy states the current trend of multimedia systems on OS: The hardware these days consist of fast processors, large and comparatively fast primary and secondary storage and good network bandwidth.
However, multimedia applications perform poorly. This is clearly indicated by the small window size of the video players on the desktops. Besides this, the OS’s do not support mechanisms to ensure guaranteed completion of a task before a certain deadline. To add to this, kernel operations such as page fault handling, cache miss, interrupts from I/O devices, critical sections and context switch overhead cause unpredictable runtime behavior. The key to good QoS therefore boils down to good resource allocation policies provided by the OS (Moorthy 1).
Operation system is viewed by applications on top of it as an abstraction of the hardware components of a computer. The OS layer is the one who manages all the resources that an application can utilize. Thus, an OS that improperly manages these resources can result to the application’s poor performance. Issues on multimedia systems are greatly concerned with how an operating system handles its resources. 4. Issues and Concepts Related to Multimedia System In order to provide QoS, several aspects of an operating system are influenced and “adjusted” such as CPU scheduling, disk scheduling and network management. 4. 1 Compression
Compression, as the term implies, is the process in which multimedia files are compressed from their original form to a much smaller form. It is highly necessary when the multimedia content is being played via a network. There’s a notion of compression ratio which indicates the ratio of the size of the original file to the compressed file size. Example is when a 1000-KB audio file is reduced or compressed into 200-KB, it can be concluded that it has a compression ratio of 5:1. Compressed media file are later decompressed prior to accession. Algorithms used to compress a multimedia file have upshots later when it is decompressed.
Lossy and loseless are the common compression. Some parts of the original file are lost during a lossy compression. On the contrary, loseless compression assures that the compressed data can be decompressed into its original form. Lossy compression can be only applied to certain file types like pictures, audio and video files. Apparently, loseless compression is needed for files that are needed to the restored to its original form such as documents and text files. An example of an algorithm is zipping. As of now, a long list of lossy compression methods for multimedia is commercially available to end-users (Silberschatz, Gagne and Galvin).
4. 2 CPU Scheduling Extensive research in CPU scheduling has been conducted in order to improve multimedia systems. CPU scheduling is one of the main issues that should be carefully examined since they play an important role in the QoS of multimedia systems. Multimedia systems require hard real-time scheduling. Hard real-time scheduling refers to the type of scheduling that assures that a critical task will be done with in a guaranteed span of time. It is of great importance since a QoS must be maintained. Another issue on CPU scheduling is the scheduling algorithm used in multimedia systems.
A scheduling algorithm can either use a static or dynamic priority. Static priority states that the “priority of a process remains unchanged if the scheduler assigns it a static priority. ” However, dynamic priority changes the process’ priority over time. Most systems use static priority in scheduling real-time processes since the static priority scheduler is simple compared to dynamic priority (Silberschatz, Gagne and Galvin). Examples of scheduling algorithms for multimedia systems are: earliest deadline first (EDF), lottery scheduling, hierarchical start-time fair scheduling and SMART.
Earliest deadline first is a primitive algorithm intended for hard real-time scheduling. It works like this: deadlines of all processes are recalculated and readjusted whenever a process is added or deleted from a set of executable processes. However, this algorithm may cause the starvation of a process since a process with the earliest deadline is always first to be carried out. On the other hand, lottery scheduling allows processes to hold on, as the name implies, lottery tickets containing a random value.
The process that holds the winning ticket is executed first. Thus, the more tickets that a process holds, the lesser it has to wait. An advantage of this algorithm is that it is simple, thus reducing the overhead. However, a shortcoming of this approach is its actual behavior cannot be predicted during runtime. In addition, it only uses a pseudo-random number generator, thus patterns can be traced (Moorthy 2). Hierarchical start-time fair scheduling consists of a “hierarchical tree of schedulers” and each node of the tree is different schedulers.
Each tree is available for every specific type of application. This mechanism is proven to be useful since not all application have equal scheduling needs: some are interactive (need small response time), batch (needs powerful computation) and time-bounded (need definite resource provision and completion over a period of time). Lastly, SMART, which stands for Scheduler for Multimedia and Real-Time Applications, is designed to replace the scheduler currently used in Solaris. The design primarily is centered on the user preference when it comes to load-shedding.
Decision making is not fixed and adjustments not only per runtime environment but also per user preference (Moorthy 3). 4. 3 Disk Scheduling Disk scheduling is another important issue in multimedia systems. Multimedia files have “timing deadlines” and “rate requirements”, two aspects that traditional files do not have. These two aspects are needed to maintain QoS. Silberschatz, Gagne and Galvin states that these two aspects often collide when it comes to optimizing disk scheduling for multimedia systems: Continuous-media files typically require very high disk-bandwidth rates to satisfy their data-rate requirements.
Because disks have relatively low transfer rates and relatively high latency rates, disk schedulers must reduce the latency times to ensure high bandwidth. However, reducing latency times may result in a scheduling policy that does not prioritize according to deadline (Silberschatz, Gagne and Galvin). They also discussed two disk scheduling algorithms for multimedia systems: earliest deadline first (EDF) and SCAN-EDF scheduling. Although the earliest deadline first (EDF) algorithm is considered as a CPU scheduling algorithm, however, it can be also used a disk scheduling algorithm.
In the disk scheduling context, EDF utilizes a queue to “order requests according to the time each request must be completed. ” On the other hand, SCAN-EDF scheduling is the combination of the EDF and SCAN algorithm. SCAN algorithm involves the movement of the disk arm from one direction across the disk, providing services to requests according to their immediacy to the present cylinder. Once the arm of the disk reaches the disk’s end, it begins to move in reverse. This algorithm reduces the seek times.
SCAN-EDF begins with the usual EDF ordering but services demands with the similar deadline using SCAN algorithm (Silberschatz, Gagne and Galvin). In general, multimedia systems works on vast amount of real-time data, thus, disk I/O can be extremely time bound. Algorithms for disk scheduling schemes for multimedia systems have only one goal in mind: to reduce the number of seek times and to optimize the performance for continuous data stream. 5. Conclusion As multimedia systems get more intricate, the operating system’s design that can cope with the increasing standard for QoS is also getting more complex.
Multimedia system imposes a list of demands for the operating system to comply such as high real-time storage and high data rates. Various services of an OS such as disk and CPU scheduling must be optimized in order to cope with the changes. Many researches have been developed for algorithms used in processing multimedia systems. Generally, multimedia systems are one of the significant parts of operating system design that must be engineered carefully. Once an OS’s multimedia system is not planned and implemented properly, it may bring disappointment to the end users of the system.
Works Cited Silberschatz, Abraham, Peter Baer Galvin and Greg Gagne. Operating System Concepts. USA: John Wiley and Sons, 2005. Regehr, John, Michael Jones and John Stankovic. Operating System Support for Multimedia: The Programming Model Matters. September 2000. Microsoft Research, Microsoft Corporation. 10 August 2010 < http://research. microsoft. com/en-us/um/people/mbj/papers/tr-2000-89. pdf>. Moorthy, Praveen. Operating System Support for Multimedia. 10 August 2010 < http://cseweb. ucsd. edu/classes/fa01/cse221/projects/group3. pdf>.
Courtney from Study Moose
Hi there, would you like to get such a paper? How about receiving a customized one? Check it out https://goo.gl/3TYhaX