Briefly explain process management in windows 2000., Operating System

Assignment Help:

Briefly explain process management in Windows 2000.

The Windows 2000 process manager provides for deleting, creating and using threads and processes. It has no knowledge about process hierarchies or parent-child relationships those refinements are left to the particular environmental subsystem that owns the process.

In Windows 2000 a process is an implementing instance of an application and a thread is a unit of code that is able to be scheduled by the operating system. Therefore a process contains one or more threads.

A process is started when several other process calls the CreateProcess routine. This routine loads several dynamic link libraries that are used by the process and creates a primary thread. An additional thread is able to be created by the CreateThread function.

An instance of process creation in the win32 environment is as follows. When a Win32 application calls CreateProcess a message is mail to the Win32 subsystem which calls the process manager to create a process. The process manger calls the object (entity) manager to create a process object, and afterward returns the object handle to Win32. Win32 calls the process manager once more to create a thread for the process and finally Win32 return handles to the new process and thread.       

Every dynamic executable file or link library that is loaded into the address space of a process is identified by an instance handle. The value of the instance handle is essentially the virtual address where the file is loaded. An application is able to get the handle to a module by passing the name of the module to GetModuleHandle.

Win32 uses 4 priority classes:

IDLE_PRIORITY_CLASS (priority level 4)

NORMAL_PRIORITY_CLASS (priority level 8)

HIGH_PRIORITY_CLASS (priority level 13)

REALTIME_PRIORITY_CLASS (priority level 24)

Processes are usually members of NORMAL_PRIORITY_CLASS. The priority class of a process be able to be changed with the SetPriorityClass function or by an argument being passed to the START command.

A thread starts with an initial priority determined by its class, but the priority is able to be changed by the SetThreadPriority function. This function acquires an argument that specifies a priority relative to the base priority of its class:

  • THREAD_PRIORITY_LOWEST: base-2
  • THREAD_PRIORITY_BELOW_NORMAL: base-1
  • THREAD_PRIORITY_NORMAL: base+0
  • THREAD_PRIORITY_ABOVE_NORMAL: base+1
  • THREAD_PRIORITY_HIGHEST: base+2

 

Again, the kernel has got 2 priority classes: 16-31 for the real-time class also 0-15 for the variable-priority class.

THREAD_PRIORITY_IDLE place the priority to 16 for real-time threads and to 1 for variable-priority threads.

THREAD_PRIORITY_TIME_CRITCAL sets the priority to 31 for real-time threads as well as 15 for variable-priority threads.

The Win32 API provides a process to disable this adjustment, via SetThreadPriorityBoost and SetProcessPiorityBoost functions.

To coordinate the current access to shared objects by threads the kernel supplies synchronization objects such as semaphores and mutexes. Additionally, synchronization of threads is able to be achieved by using the WaitForMultipleObjects functions.


Related Discussions:- Briefly explain process management in windows 2000.

Address operator and pointers, We are use to using variables within C witho...

We are use to using variables within C without thinking about where they are stored. Most variables are dynamic i.e. can change, therefore they are stored in Ram, unlike a program

Control the access of the three global variables, Give a brief introduction...

Give a brief introduction about the operation of your program and show that you understand the idea behind threads and mutual exclusion variable. Why do we need to use mutual exclu

Independent process, what is independent process? distinguished between ind...

what is independent process? distinguished between independent process and co-operating process

Research proposal, what topic i choose for os research proposal

what topic i choose for os research proposal

Semispace, Semispace works by maintaining two disjoint areas from which mem...

Semispace works by maintaining two disjoint areas from which memory can be allocated. These areas are called the from-space and the to-space. At ?rst, the algorithm allocates memor

Permanently starves cpu-bound programs, Q. Presume that a scheduling algori...

Q. Presume that a scheduling algorithm at the level of short-term CPU scheduling favours those processes that have used the least processor time in the recent past. Why this algori

Implementation of modern memory management system , Central to implementati...

Central to implementation of a modern memory management system is the page replacement algorithm. Modern virtual memory systems break memory up into pages and map (via a page table

Operating system, What criteria are important in choosing a file organisati...

What criteria are important in choosing a file organisation?

Explain segmentation hardware?, Explain segmentation hardware? We defin...

Explain segmentation hardware? We define an completion to map two-dimensional user-defined addresses into one-dimensional physical addresses. This mapping is affected by means

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd