Multimedia Class Scheduler Service

Last updated

Multimedia Class Scheduler Service (MMCSS) is a Windows service that allows multimedia applications to get prioritized access to CPU for time-sensitive processing (such as multimedia applications) as well as prioritized disc access to ensure that the process is not starved of data to process. The MMCSS service monitors the CPU load and dynamically adjusts priority so that the application can use as much CPU time as possible without denying CPU to lower priority applications. [1] MMCSS uses heuristics to determine the relative priority required for the task the thread is performing and dynamically adjusts priority based on that. [1] A thread must invoke MMCSS explicitly to use its services by calling the AvSetMmMaxThreadCharacteristics() [2] or AvSetMmThreadCharacteristics() [3] APIs.

Contents

MMCSS is used by the multimedia applications in Windows Vista, including Windows Media Player and Windows Media Center to provide glitch-free audio playback.

Problems

This service has been implicated in poor networking performance while multimedia is playing. [4] [5] In response to this, Microsoft has included a configurable option [6] in Windows Vista Service Pack 1 and later where users can specify the network throttling index value for the Multimedia Class Scheduling Service so that network performance and audio/video playback quality can be balanced according to how users configure it.

See also

Related Research Articles

Windows Media Player software

Windows Media Player (WMP) is a media player and media library application developed by Microsoft that is used for playing audio, video and viewing images on personal computers running the Microsoft Windows operating system, as well as on Pocket PC and Windows Mobile-based devices. Editions of Windows Media Player were also released for classic Mac OS, Mac OS X and Solaris but development of these has since been discontinued.

QNX Unix-like, real-time, embedded operating system

QNX is a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market. QNX was one of the first commercially successful microkernel operating systems. As of 2020, it is used in a variety of devices including cars and mobile phones.

In computing, scheduling is the method by which work is assigned to resources that complete the work. The work may be virtual computation elements such as threads, processes or data flows, which are in turn scheduled onto hardware resources such as processors, network links or expansion cards.

DirectShow

DirectShow, codename Quartz, is a multimedia framework and API produced by Microsoft for software developers to perform various operations with media files or streams. It is the replacement for Microsoft's earlier Video for Windows technology. Based on the Microsoft Windows Component Object Model (COM) framework, DirectShow provides a common interface for media across various programming languages, and is an extensible, filter-based framework that can render or record media files on demand at the request of the user or developer. The DirectShow development tools and documentation were originally distributed as part of the DirectX SDK. Currently, they are distributed as part of the Windows SDK.

System Idle Process contains ⩾1 kernel threads (run when no other runnable thread can be scheduled on a CPU); in a multiprocessor system - 1 idle thread associated with each CPU core; for a system with hyperthreading enabled - an idle thread for each logical processor

In Windows NT operating systems, the System Idle Process contains one or more kernel threads which run when no other runnable thread can be scheduled on a CPU. In a multiprocessor system, there is one idle thread associated with each CPU core. For a system with hyperthreading enabled, there is an idle thread for each logical processor.

Windows Vista personal computer operating system by Microsoft released in 2006

Windows Vista is an operating system produced by Microsoft as a member of the Windows NT family of operating systems for use on personal computers. Development was completed on November 8, 2006, and over the following three months, it was released in stages to computer hardware and software manufacturers, business customers and retail channels. On January 30, 2007, it was released worldwide and was made available for purchase and download from the Windows Marketplace; it is the first release of Windows to be made available through a digital distribution platform. The release of Windows Vista came more than five years after the introduction of its predecessor, Windows XP, the longest time span between successive releases of Microsoft Windows desktop operating systems.

Windows XP introduced many features not found in previous versions of Windows.

Compared with previous versions of Microsoft Windows, new features of Windows Vista are numerous, covering most aspects of the operating system. They include new technical features, new aspects of security and safety, new networking features, new I/O technologies, and additional management features.

Task Manager (Windows) task manager application included with the Windows NT family of operating systems

Task Manager, previously known as Windows Task Manager, is a task manager, system monitor, and startup manager included with Microsoft Windows systems. It provides information about computer performance and running software, including name of running processes, CPU load, commit charge, I/O details, logged-in users, and Windows services. Task Manager can also be used to set process priorities, processor affinity, start and stop services, and forcibly terminate processes.

Windows NT processor scheduling refers to the process by which Windows NT determines which job (task) should be run on the computer processor at which time. Without scheduling, the processor would give attention to jobs based on when they arrived in the queue, which is usually not optimal. As part of the scheduling, the processor gives a priority level to different processes running on the machine. When two processes are requesting service at the same time, the processor performs the jobs for the one with the higher priority.

This article describes audio APIs and components in Microsoft Windows which are now obsolete or deprecated.

Windows Vista introduced a number of new I/O functions to the Microsoft Windows line of operating systems. They are intended to shorten the time taken to boot the system, improve the responsiveness of the system, and improve the reliability of data storage.

Media Foundation (MF) is a COM-based multimedia framework pipeline and infrastructure platform for digital media in Windows Vista, Windows 7, Windows 8, Windows 8.1 and Windows 10. It is the intended replacement for Microsoft DirectShow, Windows Media SDK, DirectX Media Objects (DMOs) and all other so-called "legacy" multimedia APIs such as Audio Compression Manager (ACM) and Video for Windows (VfW). The existing DirectShow technology is intended to be replaced by Media Foundation step-by-step, starting with a few features. For some time there will be a co-existence of Media Foundation and DirectShow. Media Foundation will not be available for previous Windows versions, including Windows XP.

Windows Vista has many significant new features compared with previous Microsoft Windows versions, covering most aspects of the operating system.

Windows Vista contains a range of new technologies and features that are intended to help network administrators and power users better manage their systems. Notable changes include a complete replacement of the "Windows Setup" process, completely rewritten deployment mechanisms, support for per-application Remote Desktop sessions, new diagnostic and health monitoring tools, and a range of new Group Policy settings covering many of the features new to Windows Vista.

In computing, Microsoft's Windows Vista and Windows Server 2008 introduced in 2007/2008 a new networking stack named Next Generation TCP/IP stack, to improve on the previous stack in several ways. The stack includes native implementation of IPv6, as well as a complete overhaul of IPv4. The new TCP/IP stack uses a new method to store configuration settings that enables more dynamic control and does not require a computer restart after a change in settings. The new stack, implemented as a dual-stack model, depends on a strong host-model and features an infrastructure to enable more modular components that one can dynamically insert and remove.

Windows Rally is a set of technologies from Microsoft intended to simplify the setup and maintenance of wired and wireless network-connected devices. They aim to increase reliability and security of connectivity for users who connect the devices to the Internet or to computers running Microsoft Windows. These technologies provide control of network Quality of Service (QoS) and diagnostics for data sharing, communications, and entertainment. Windows Rally technologies provide provisioning for the following devices:

Some of the new features included in Windows 7 are advancements in touch, speech and handwriting recognition, support for virtual hard disks, support for additional file formats, improved performance on multi-core processors, improved boot performance, and kernel improvements.

Process Lasso

Process Lasso is Windows process automation and optimization software developed by Jeremy Collake of Bitsum Technologies. It features a graphical user interface that allows for automating various process related tasks, and several novel algorithms to control how processes are run.

An Interrupt Request Level (IRQL) is a hardware-independent means with which Windows prioritizes interrupts that come from the system's processors. On processor architectures on which Windows runs, hardware generates signals that are sent to an interrupt controller. The interrupt controller sends an interrupt request to the CPU with a certain priority level, and the CPU sets a mask that causes any other interrupts with a lower priority to be put into a pending state, until the CPU releases control back to the interrupt controller. If a signal comes in at a higher priority, then the current interrupt will be put into a pending state; the CPU sets the interrupt mask to the priority and places any interrupts with a lower priority into a pending state until the CPU finishes handling the new, higher priority interrupt.

References

  1. 1 2 "Multimedia Class Scheduler Service".
  2. "AvSetMmMaxThreadCharacteristics Function (Windows)".
  3. "AvSetMmThreadCharacteristics Function (Windows)".
  4. Microsoft responds to Vista network performance issue
  5. Sysinternals blog "Vista Multimedia Playback and Network Throughput"
  6. Microsoft Knowledge base article 948066