Unformatted text preview:

Windows XP: An OverviewOverviewProcesses & ThreadsSlide 4Slide 5Slide 6Slide 7Thread SchedulingSlide 9Slide 10Slide 11Registry and MemorySlide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20File System Architecture and ManagementSlide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Inter-Process CommunicationSlide 30Slide 31Slide 32Slide 33Slide 34Slide 35Slide 36Questions?References1Windows XP: An Windows XP: An OverviewOverviewBrett O’NeillBrett O’NeillCSE 8343 – Group A6CSE 8343 – Group A62OverviewOverviewPrograms, Processes, Jobs and Programs, Processes, Jobs and ThreadsThreadsRegistry and MemoryRegistry and MemoryFile System Architecture and File System Architecture and ManagementManagementInter-Process CommunicationInter-Process CommunicationQuestions?Questions?ReferencesReferences3Processes & ThreadsProcesses & ThreadsWindows XP process architecture is the Windows XP process architecture is the same as Windows 2000 process architecturesame as Windows 2000 process architectureThere are 4 units of work – There are 4 units of work – Processes, Processes, Threads, Jobs and Programs.Threads, Jobs and Programs. Simple Simple definitions:definitions:ProgramProgram – A static set of instructions – A static set of instructionsProcessProcess – A container for a set of threads that – A container for a set of threads that execute an instance of a programexecute an instance of a programJobJob – A group of processes that can be – A group of processes that can be manipulated as a single unitmanipulated as a single unitThread Thread – A container for the set of instructions – A container for the set of instructions to be executed and the contents of machine to be executed and the contents of machine registers that define processor stateregisters that define processor state4Processes & ThreadsProcesses & ThreadsEach process includes a private Each process includes a private virtual address space, an executable virtual address space, an executable program, a list of open handles to program, a list of open handles to various system resources, a security various system resources, a security context, a unique identifier, and at context, a unique identifier, and at least one thread.least one thread.5Processes & ThreadsProcesses & ThreadsFields in a Fields in a Windows XP Windows XP Executive Process Executive Process (EPROCESS) (EPROCESS) Block:Block:6Processes & ThreadsProcesses & ThreadsEach thread contains a set of Each thread contains a set of instructions to execute, the contents instructions to execute, the contents of machine registers that define the of machine registers that define the processor state while the thread is processor state while the thread is running, and two stacks – one for running, and two stacks – one for User mode and one for Kernel mode.User mode and one for Kernel mode.7Processes & ThreadsProcesses & ThreadsFields in a Fields in a Windows XP Windows XP Executive Thread Executive Thread (ETHREAD) Block:(ETHREAD) Block:8Thread SchedulingThread SchedulingPriority-driven, preemptive scheduling is Priority-driven, preemptive scheduling is used.used.Priorities levels are determined by both Priorities levels are determined by both the process and the thread.the process and the thread.Processes have 4 priority levels:Processes have 4 priority levels:Idle – Screen savers & other display updatesIdle – Screen savers & other display updatesNormal – The default priority classNormal – The default priority classHigh – Receive most of the CPU’s timeHigh – Receive most of the CPU’s timeReal Time – Kernel processesReal Time – Kernel processes9Thread SchedulingThread SchedulingThe process’s priority The process’s priority class sets a range of class sets a range of priority values for its priority values for its threads. For example, threads. For example, Real Time processes Real Time processes will always have a will always have a value from 16-31.value from 16-31.Process Priority Process Priority Classes with Relative Classes with Relative Thread Priorities:Thread Priorities:10Thread SchedulingThread SchedulingThreads run for a length of time known as a Threads run for a length of time known as a quantumquantum..Quantum values vary from thread to Quantum values vary from thread to thread.thread.Threads do not necessarily finish their Threads do not necessarily finish their quantum, because the system is quantum, because the system is preemptive. If another thread with a higher preemptive. If another thread with a higher priority becomes ready, it will run.priority becomes ready, it will run.However if all threads are the same However if all threads are the same priority, they will run in a round-robin priority, they will run in a round-robin fashion.fashion.11Thread SchedulingThread SchedulingThread scheduling code is distributed Thread scheduling code is distributed throughout the kernel. It is collectively throughout the kernel. It is collectively known as the known as the dispatcherdispatcher..The dispatcher can be triggered by:The dispatcher can be triggered by:A thread becoming ready to executeA thread becoming ready to executeA thread leaving the running stateA thread leaving the running stateA threads priority changingA threads priority changingThread granularityThread granularity: Processes are : Processes are disregarded when scheduling threads – if disregarded when scheduling threads – if Process A has 20 threads and Process B has Process A has 20 threads and Process B has 1 thread, each received 1/211 thread, each received 1/21stst of CPU time. of CPU time.12Registry and MemoryRegistry and MemoryBoot time improvements:Boot time improvements:Simple Boot Flag (SBF) is a 3-bit flag in Simple Boot Flag (SBF) is a 3-bit flag in CMOS BIOS. The 3 bits indicate if the CMOS BIOS. The 3 bits indicate if the system is Plug and Play, if the last boot was system is Plug and Play, if the last boot was successful, and if diagnostics need to run.successful, and if diagnostics need to run.The boot loader uses parallel pre-fetching The boot loader uses parallel pre-fetching of drivers, boot code and Registry items. of drivers, boot code and Registry items. Driver loading is prioritized during startup.Driver loading is prioritized during startup.13Registry and MemoryRegistry and MemoryBoot time


View Full Document
Download Windows XP An Overview
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Windows XP An Overview and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Windows XP An Overview 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?