Amanda Johnson Hannah Young Josh Taylor Rich Carroll Troy Gladhill Saunders Roesser.

Slides:



Advertisements
Similar presentations
Threads, SMP, and Microkernels
Advertisements

An Overview Of Windows NT System Student: Yifan Yang Student ID:
OS/2 Warp Chris Ashworth Cameron Davis John Weatherley.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
Computer Systems/Operating Systems - Class 8
Review: Chapters 1 – Chapter 1: OS is a layer between user and hardware to make life easier for user and use hardware efficiently Control program.
Operating Systems (OS) Threads, SMP, and Microkernel, Unix Kernel
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
Case Study: Windows 2000 Part I Will Richards CPSC 550 Spring 2001.
Introduction to Operating Systems – Windows process and thread management In this lecture we will cover Threads and processes in Windows Thread priority.
1 Concurrency: Deadlock and Starvation Chapter 6.
Threads, SMP, and Microkernels
1 Threads Chapter 4 Reading: 4.1,4.4, Process Characteristics l Unit of resource ownership - process is allocated: n a virtual address space to.
Chapter 51 Threads Chapter 5. 2 Process Characteristics  Concept of Process has two facets.  A Process is: A Unit of resource ownership:  a virtual.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Chapter 8 Windows Outline Programming Windows 2000 System structure Processes and threads in Windows 2000 Memory management The Windows 2000 file.
Operating System A program that controls the execution of application programs An interface between applications and hardware 1.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
Operating System 4 THREADS, SMP AND MICROKERNELS
1 Previous lecture review n Out of basic scheduling techniques none is a clear winner: u FCFS - simple but unfair u RR - more overhead than FCFS may not.
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
CS 153 Design of Operating Systems Spring 2015 Lecture 11: Scheduling & Deadlock.
2001 Networking Operating Systems (CO32010) 1. Operating Systems 2. Processes and scheduling 3.
Windows 2000 Course Summary Computing Department, Lancaster University, UK.
Processes and Threads Processes have two characteristics: – Resource ownership - process includes a virtual address space to hold the process image – Scheduling/execution.
Microsoft Windows 2000 Daniel Hummell Ryan McKenica Valerie Grinblat.
CE Operating Systems Lecture 11 Windows – Object manager and process management.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
1 Announcements The fixing the bug part of Lab 4’s assignment 2 is now considered extra credit. Comments for the code should be on the parts you wrote.
Operating Systems CSE 411 Multi-processor Operating Systems Multi-processor Operating Systems Dec Lecture 30 Instructor: Bhuvan Urgaonkar.
Operating Systems CSE 411 Kernel synchronization, deadlocks Kernel synchronization, deadlocks Dec Lecture 31 Instructor: Bhuvan Urgaonkar.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
1 Threads, SMP, and Microkernels Chapter 4. 2 Process Resource ownership: process includes a virtual address space to hold the process image (fig 3.16)
CSE 451: Operating Systems Section 5 Midterm review.
Processes and Process Control 1. Processes and Process Control 2. Definitions of a Process 3. Systems state vs. Process State 4. A 2 State Process Model.
1 Threads, SMP, and Microkernels Chapter Multithreading Operating system supports multiple threads of execution within a single process MS-DOS.
Windows 2000 Michael Blinn Ben Hejl Jane McHugh Matthew VanMater.
System Components ● There are three main protected modules of the System  The Hardware Abstraction Layer ● A virtual machine to configure all devices.
CSE 153 Design of Operating Systems Winter 2015 Midterm Review.
What is an Operating System? Various systems and their pros and cons –E.g. multi-tasking vs. Batch OS definitions –Resource allocator –Control program.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 3.
Slides created by: Professor Ian G. Harris Operating Systems  Allow the processor to perform several tasks at virtually the same time Ex. Web Controlled.
Chapter 4 Threads, SMP, and Microkernels Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E.
The VMS Operating System CS 351: Operating Systems Spring 2001 Section 1 Chad Cruys, Joshua Krug, William Menke, Matt Stehle, Kenneth Ward.
Copyright © Curt Hill More on Operating Systems Continuation of Introduction.
Threads, SMP, and Microkernels Chapter 4. Processes and Threads Operating systems use processes for two purposes - Resource allocation and resource ownership.
Process Management Deadlocks.
Operating System (OS) QUESTIONS AND ANSWERS
Andy Wang COP 5611 Advanced Operating Systems
Chapter 3: Windows7 Part 2.
Threads, SMP, and Microkernels
Chapter 3: Windows7 Part 2.
Chapter 2: The Linux System Part 3
Operating Systems.
Lecture 4- Threads, SMP, and Microkernels
Lecture 2 Part 2 Process Synchronization
Operating Systems : Overview
Threads Chapter 4.
Concurrency: Mutual Exclusion and Process Synchronization
Major Topics in Operating Systems
Operating Systems : Overview
Operating Systems : Overview
February 5, 2004 Adrienne Noble
Operating Systems : Overview
The VMS Operating System
Operating System Overview
CSE 153 Design of Operating Systems Winter 2019
Michael Blinn Ben Hejl Jane McHugh Matthew VanMater
Presentation transcript:

Amanda Johnson Hannah Young Josh Taylor Rich Carroll Troy Gladhill Saunders Roesser

Windows 2000 Flavors Windows 2000 Professional Windows 2000 Server Windows 2000 Advanced Server Windows 2000 Datacenter Server

History Built Upon Windows NT 4.0 Combined Features of Windows 9x and NT

.Coms that Use Windows 2000 Barnesandnoble.com Data Return InfoSpace.com Reel.com CBSMarketWatch.com Nasdaq.com Digex MSNBC.com Buy.com THINQ

Windows 2000 Features File Protection Driver Certification Full 32 Bit OS Reduction in reboots Internet Integration Latest Hardware Support SMP 4 gig Ram (Pro) NTFS Multiple Users IIS Internet Connection Sharing

Processor Modes User Mode –Environmental subsystems –Integral subsystems Kernel Mode –The Executive –Device Drivers –Microkernel –HAL (Hardware Abstraction Layer)

Processing Scheme Windows 2000 is a “multi-threaded, multi- tasking operating system capable of running on computer systems with multiple microprocessors.” Symmetric multiprocessing

Processes and Threads Process: one instance of a running application and all the memory and other resources associated with it. Thread: one path of execution through the application's code. Multiple threads per process? –In Windows 2000, a process may contain one or many threads

Scheduling Threads Interrupts (Preemption): used to evenly distribute time amongst the different applications that are running concurrently. Concurrency: creates the illusion that the threads are running in parallel for machines with one processor. Symmetric Multi-Processing (SMP): used for machines with multiple processors

Consideration for Scheduling execution priority: Priority 31 reserved for extremely critical tasks (ex. real-time applications) Priority 0 used for certain idle-time tasks that are performed only when nothing else is going on. Most threads run at priority levels from 7 to 11.

Priority Rules High-priority threads are always executed before low-priority threads. Threads with low priority never preempt threads with high priority. If two or more threads have the same priority, the one that has been executed least recently is executed next.

Watching Threads in Action System Monitor: included in Windows 2000 O/S, displays the number of threads currently running on the system. Why is the count over 10 when nothing is running other than System Monitor? –The Windows operating system uses threads itself for things like fault handling etc.

When Threads Cause Problems Two problems –Starvation occurs when one or more threads in an application are blocked from gaining access to a resource and thus cannot make progress. –Deadlock occurs when two or more threads are waiting on a condition that cannot be satisfied. (The ultimate form of starvation.)

Dealing with Deadlock in Windows 2000 Mutual exclusion: designed to guarantee that certain sections of code (critical sections) will not be executed by more than one process simultaneously. Spinlocks: mutual exclusion mechanism that stall the processor until a lock is achieved for a critical section.

Avoidance Aid for Programmers DLDETECT.EXE –a Win32-based application that can be used to effectively analyze and design multithreaded applications and to help you detect and eliminate deadlock from your program.

Allowable States Process States –No information was available about Windows 2000 Process States Thread States –One of six different states: Ready Standby Running Waiting Transition Terminated

Thread States

Mutual Exclusion and Synchronization Family of objects Two levels –Kernel –User mode threads

Mutual Exclusion and Synchronization: Kernel Must protect global data structures during critical sections Uses two techniques –change IRQL –spinlocks Spinlocks only for multiprocessor hardware –require ownership

Mutual Exclusion and Synchronization: User Level Require more synchronization object types Spinlocks not adequate Thread requests access to object Waits

Mutual Exclusion and Synchronization: Object Types Critical section Mutex Semaphore Event Timer

Memory Management Virtual memory system –Memory Manager Paging –Demand-paging algorithm

File System NTFS – Primary File System Support for: Fat16, Fat32, CDFS, NFS, UDF

File System Features Disk Quota Support Distributed File System Distributed Link Tracking Distributed Authoring and Versioning Indexing Encrypting File System Removable Storage and Remote Storage Disk Management User/Group Permissions

Process Management Data Structures Kernel Process Process ID Quota Block Exception LPC Debugging LPC Access Token Handle Table Device Map PEB W32PROCESS

Memory Management Data Structures Virtual Address Space Descriptor Working Set Information Virtual Memory Information

Scheduling Designed to be highly responsive Makes use of a priority-driven preemptive scheduler with a flexible system of priority levels Priorities in Win2K are organized into two classes: –Real Time - for threads requiring immediate attention –Variable Each class consists of 16 priority levels –Real Time – 16 through 32 –Variable – 0 through 15

Priorities

Scheduling Continued Threads of lower priority are preempted so the higher priority threads can have access to the processor when they are ready In the real time class, where all threads have a fixed priority that never changes, threads of equal priority are in a round-robin queue In the variable priority class, a thread’s priority begins at some initial assigned value and then may change, up or down, during the thread’s lifetime –FIFO queue at each priority level, but a process may migrate to one of the other queues within the variable priority class

Scheduling Continued Variable Class –If a thread is interrupted because it has used up its current time quantum, the Win2K executive lowers its priority –If a thread is interrupted to wait on an I/O event, the Win2K executive raises its priority –Interactive threads tend to have the highest priorities within the variable priority class

Multiprocessor Scheduling In a multiprocessor system with N processors, the (N-1) highest priority threads are always active, running exclusively on the (N-1) extra processors The remaining, lower-priority, threads share the single remaining processor However, if a thread is ready to execute but the only available processors are not in its processor affinity set, then that thread is forced to wait and the executive schedules the next available thread