o-s

Services deleted or modified in Windows 2000 that were in Windows NT 4

February 9, 2008

Services deleted or modified in Windows 2000 that were in Windows NT 4

  • Process Manager creates and deletes processes and also tracks process objects and thread objects.
  • Local Procedure Call Facility using a client/server relationship provides a communications mechanism between the applications and the Environmental subsystem.

Services added or modified in Windows 2000 that were not in Windows NT 4

  • Plug and Play Manager
  • Power Manager
  • IPC Manager – This includes the Local Procedure Call (LPC) facility that was included with Windows NT, and also adds a Remote Procedure Call (RPC) facility
  • Microkernel – Schedules threads, handles interrupts, and talks to the HAL. It enhances the Windows NT Process Manager and handles some of its functions.
  • The process has a virtual memory address space, information (such as a base priority), and an affinity for one or more processors.
  • Threads are the unit of execution scheduled by the kernel’s dispatcher.
  • Each thread has its own state, including a priority, processor affinity, and accounting information.
  • A thread can be one of six states:  ready, standby, running, waiting, transition, and terminated.
  • The dispatcher uses a 32-level priority scheme to determine the order of thread execution.  Priorities are divided into two classes…
    • The real-time class contains threads with priorities ranging from 16 to 32.
    • The variable class contains threads having priorities from 0 to 15.
  • Characteristics of NT’s priority strategy.
    • Trends to give very good response times to interactive threads that are using the mouse and windows.
    • Enables I/O-bound threads to keep the I/O devices busy.
    • Complete-bound threads soak up the spare CPU cycles in the background.
  • Scheduling can occur when a thread enters the ready or wait state, when a thread terminates, or when an application changes a thread’s priority or processor affinity.
  • Real-time threads are given preferential access to the CPU; but NT does not guarantee that a real-time thread will start to execute within any particular time limit.

Process is started via the CreateProcess routine which loads any dynamic link libraries that are used by the process, and creates a primary thread.

  • Additional threads can be created by the CreateThread function.
  • Every dynamic link library or executable file that is loaded into the address space of a process is identified by an instance handle.
  • Scheduling in Win32 utilizes four priority classes:
    • IDLE_PRIORITY_CLASS (priority level 4)
    • NORMAL_PRIORITY_CLASS (level8 — typical for most processes
    • HIGH_PRIORITY_CLASS (level 13)
    • REALTIME_PRIORITY_CLASS (level 24)
  • To provide performance levels needed for interactive programs, NT has a special scheduling rule for processes in the NORMAL_PRIORITY_CLASS.
    • NT distinguishes between the foreground process that is currently selected on the screen, and the background processes that are not currently selected.
    • When a process moves into the foreground, NT increases the scheduling quantum by some factor, typically 3.
  • The kernel dynamically adjusts the priority of a thread depending on whether it is I/O-bound or CPU-bound.
  • To synchronize the concurrent access to shared objects by threads, the kernel provides synchronization objects, such as semaphores and mutexes.
    • In addition, threads can synchronize by using the WaitForSingleObject or WaitForMultipleObjects functions.
    • Another method of synchronization in the Win32 API is the critical section.

https://www.bestitdocuments.com/Samples