A multiprocessor computer “can simultaneously execute as many threads as there are processors on the computer”. The available processor time is divided by the operating system “among the processes or threads that need it”. The system works in the following way that it divides the processor time, among the threads, in slices. “The currently executing thread is suspended when its time slice elapses, allowing another thread to run”. The context of the thread which is suspended is saved. The context of the resume thread is restored in the queue. “The length of the time slice depends on the operating system and the processor”. This is actually the case on multiprocessor systems, where the executable threads are distributed among the available processors. “All management of threads is done through the System.Threading.Thread class, which represents a managed thread” (Panchal 1).
Three modern thread management systems for multiprocessor are: Windows NT, Presto, and Multilisp. According to Custer, Windows NT is an operating system designed to support Microsoft Windows applications on uniprocessors, shared memory multiprocessors, and distributed systems. Windows NT supports multiple threads within an address space. Its thread management functions are implemented in the Windows NT kernel. Since NT’s underlying thread implementation is shared by all parallel programs, system services such as debuggers and performance monitors can be economically provided. Windows NT’s scheduler uses a priority-based one-level scheduling discipline (qtd. inAnderson16).
These are just excerpts of essays please access the order form for custom essays, research papers, term papers, thesis, dissertations, book reports and case studies.