Windows NT and Real-Time? Reading: “Inside Microsoft Windows 2000”, (Solomon, Russinovich, Microsoft Programming Series) “Real-Time Systems and Microsoft.

Slides:



Advertisements
Similar presentations
Processes and Threads Chapter 3 and 4 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College,
Advertisements

Threads, SMP, and Microkernels
MHK200 Module 1: Introduction to Windows CE. MHK200 Overivew Windows CE Design Goals Windows CE Architecture Supported Technologies, Libraries, and Tools.
李盈賢.  Start a process with a specific priority class  Methods: 1)Cmd: start /’priority’ ‘filename’ 2)Create a shortcut.
The Process Control Block From: A Process Control Block (PCB, also called Task Control Block or Task Struct) is.
 A quantum is the amount of time a thread gets to run before Windows checks.  Length: Windows 2000 / XP: 2 clock intervals Windows Server systems: 12.
Computer Systems/Operating Systems - Class 8
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
Chapter 13 Embedded Systems
Figure 1.1 Interaction between applications and the operating system.
1 I/O Management in Representative Operating Systems.
1 Chapter 13 Embedded Systems Embedded Systems Characteristics of Embedded Operating Systems.
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.
CSE 451: Operating Systems Winter 2010 Module 15 I/O Mark Zbikowski Gary Kimura.
1 Instant replay  The semester was split into roughly four parts. —The 1st quarter covered instruction set architectures—the connection between software.
Chapter 8 Windows Outline Programming Windows 2000 System structure Processes and threads in Windows 2000 Memory management The Windows 2000 file.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Unit OS3: Concurrency 3.5. Lab Slides & Lab Manual.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 14, 2005 Operating System.
Kernel, processes and threads Windows and Linux. Windows Architecture Operating system design Modified microkernel Layered Components HAL Interacts with.
Real Time Operating Systems Lecture 10 David Andrews
Unit OS9: Real-Time and Embedded Systems
Windows 2000 Course Summary Computing Department, Lancaster University, UK.
Windows 2000 System Mechanisms Computing Department, Lancaster University, UK.
Operating Systems Lecture 7 OS Potpourri Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard. Zhiqing Liu School of Software.
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
NT Kernel CS Spring Overview Interrupts and Exceptions: Trap Handler Interrupt Request Levels and IRT DPC’s, and APC’s System Service Dispatching.
I/O Computer Organization II 1 Interconnecting Components Need interconnections between – CPU, memory, I/O controllers Bus: shared communication channel.
Scheduling Lecture 6. What is Scheduling? An O/S often has many pending tasks. –Threads, async callbacks, device input. The order may matter. –Policy,
Copyright ©: University of Illinois CS 241 Staff1 Threads Systems Concepts.
Chapter 2 Processes and Threads Introduction 2.2 Processes A Process is the execution of a Program More specifically… – A process is a program.
1 Threads, SMP, and Microkernels Chapter Multithreading Operating system supports multiple threads of execution within a single process MS-DOS.
3. System Mechanisms ■ Trap Dispatching - Trap : A Processor`s mechanism for capturing an executing thread an exception or an interrupt occurs and transferring.
Intel Research & Development ETA: Experience with an IA processor as a Packet Processing Engine HP Labs Computer Systems Colloquium August 2003 Greg Regnier.
System Components ● There are three main protected modules of the System  The Hardware Abstraction Layer ● A virtual machine to configure all devices.
Operating Systems: Internals and Design Principles
1/9/ :46 1 Priority Model Real-time class Idle Above Normal Normal Below Normal Lowest Highest 31 Time-critical Dynamic classes.
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Unit OS3: Concurrency 3.3. Advanced Windows Synchronization.
3.2. Windows Trap Dispatching, Interrupts, Synchronization
System Programming Basics Cha#2 H.M.Bilal. Operating Systems An operating system is the software on a computer that manages the way different programs.
The VMS Operating System CS 351: Operating Systems Spring 2001 Section 1 Chad Cruys, Joshua Krug, William Menke, Matt Stehle, Kenneth Ward.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
Threads, SMP, and Microkernels Chapter 4. Processes and Threads Operating systems use processes for two purposes - Resource allocation and resource ownership.
Find – used to find files corresponding to a certain criteria find starting_dir matching_criteria [options] Examples: find /usr –name startx find /usr.
Advanced Operating Systems CS6025 Spring 2016 Processes and Threads (Chapter 2)
Processes and Threads Chapter 3 and 4 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College,
Windows 95 & 98 Steve Boyle Mike Forster Maggie Hamill Nancy O’Brien.
OPERATING SYSTEMS CS3502 Fall 2017
Unit OS9: Real-Time and Embedded Systems
Unit OS4: Scheduling and Dispatch
Unit OS2: Operating System Principles
CS490 Windows Internals Quiz 2 09/27/2013.
Real-time Software Design
Chapter 3: Windows7 Part 1.
Chapter 3: Windows7 Part 2.
Main Memory Background Swapping Contiguous Allocation Paging
Chapter 3: Windows7 Part 2.
Chapter 8: Memory management
Outline Module 1 and 2 dealt with processes, scheduling and synchronization Next two modules will deal with memory and storage Processes require data to.
3.3. Advanced Windows Synchronization
CSE 451: Operating Systems Spring 2008 Module 15 I/O
Threads Chapter 4.
CSE 451: Operating Systems Spring 2007 Module 15 I/O
EE 472 – Embedded Systems Dr. Shwetak Patel.
Thomas E. Anderson, Brian N. Bershad,
Lecture 3: Main Memory.
OPERATING SYSTEMS MEMORY MANAGEMENT BY DR.V.R.ELANGOVAN.
CS Introduction to Operating Systems
Presentation transcript:

Windows NT and Real-Time? Reading: “Inside Microsoft Windows 2000”, (Solomon, Russinovich, Microsoft Programming Series) “Real-Time Systems and Microsoft Windows NT” (MSDN Library) “Windows XP with RTX - The off-the-shelf platform for Integrated Communication Equipment” (

Priorities in Windows NT/2000

Device Drivers in Windows NT/2000 NT/2000 device drivers run entirely within the system process and have access to all hardware through the HAL. A typical device driver will have several components: Initialization routine This routine initializes hardware and sets up data structures used by the driver at startup time. Interrupt service routine (ISR) This routine handles an interrupt on the device that the device driver controls. Deferred processing call (DPC) One or more DPCs handle non–time- critical processing for the driver. System thread Some, but not all, drivers will have a system thread for very low- priority work.

Priority Levels vs. Interrupt Levels 31: High 30: Power Fail 29: Inter-Processor Interrupt 28: Clock 27: Profile 26: Device n 3: Device 1 2 DPC/dispatch 1: APC 0: Passive Hardware Interrupts Software Interrupts Thread Priorities 0-31 The HAL maps hardware- interrupt numbers to IRQLs. IRQLs are not the same as IRQs in x86. Scheduling priority is attribute of thread, while IRQL is attribute of an interrupt source. Lazy IRQL management for slow PICs. Code running at DPC/dispatch level or above can’t wait on object if so would necessitate scheduler to invoke another thread.

Memory Management Paging I/O occurs at a lower priority level than the real-time priority process levels. Paging within the real-time process is still free to occur, but this really ensures that background virtual memory management won't interfere with processing at real-time priorities. Windows NT permits an application to lock itself into memory so that it is not affected by paging within its own process. This allows even very large processes (such as raster image processing, where some processes are over 100MB) to lock all their memory down into physical memory and avoid the overhead of paging, while allowing the rest of the system to function normally. Windows NT memory management allows for memory mapping, which permits multiple processes—even device drivers and user applications—to share the same physical memory. This results in very fast data transfers between cooperating processes or between a driver and an application. Memory mapping can be used to dramatically enhance real-time performance.

Windows 2000/NT and Real-Time Processing Windows 2000/NT does not prioritize device IRQs in controllable way. User-level applications execute only when a processor’s IRQL is at passive level. System’s devices and device drivers – not the OS – ultimately determine the worst-case delay. This is a problem with off-the-shelf hardware and drivers. System designer must bound the length of device’s ISR and DPC in the worst case. Embedded versions of Windows NT/2000 provide control over memory footprint etc, but are not real-time capable. Extensions of real-time kernels can be provided through custom extensions of the HAL.

VenturCom RTX Architecture