Windows NT Real-Time Extensions better or worse?

Size: px
Start display at page:

Download "Windows NT Real-Time Extensions better or worse?"

Transcription

1 By Martin Timmerman, Chief-Editor of Real-Time Magazine, Bart Van Beneden Project Manager, Laurent Uhres, Software Engineer, Real-Time Consult. RTOS EVALUATION Windows NT Real-Time Extensions better or worse? This article presents an overview of the capabilities of the real-time extensions for Windows NT 4.0 as a real-time operating system (RTOS). The extensions that are covered are RTX 4.1 from VenturCom, INTime 1.20 from Radisys and Hyperkernel 4.3 from Imagination Systems. This paper is part of an evaluation project concerning real-time extensions for Windows NT 4.0. INTRODUCTION W indows NT 4.0 (NT) has been primarily designed as a general purpose operating system (GPOS). Still, there is a clear tendency in the industry to use Microsoft Windows OS technology in the dedicated systems market field, to get openness at every level. There are several reasons for this: The Win32 application programmer interface (API) is becoming a de facto standard for programmers. The graphic user interface is (GUI) popular, other operating systems tend to have a similar interface. A huge amount of third-party device drivers are available. Many integrated development interfaces (IDE) are available. These IDEs are very powerful. WINDOWS NT 4.0 AS A RTOS General requirements A RTOS can be defined as an operating system that responds in a predictable way to unpredictable external events. A detailed description of what makes a good RTOS is available on our web site (.be) ( To qualify as an RTOS, an operating system needs to have a minimum set of requirements. These requirements are necessary but nut sufficient: The operating system needs to be multithreaded and pre-emptable. The notion of thread priority has to exist. The operating system has to support predictable thread synchronization mechanisms. A mechanism for priority inheritance must be available. The OS behavior should be known and predictable (interrupt latencies, task switch latencies, driver latencies, etc). This means that there should be a maximum response time under all system load scenarios. NT obviously meets the first requirement. The second criteria is also met, but only a few priority levels are usable for real-time. The number of priority levels is too low to allow for a well designed real-time application (it is impossible to use methods like rate-monotonic scheduling with only a few thread priorities available). NT also doesn't have a mechanism for priority inheritance. Interrupt handling To minimize the time spent in the interrupt service routine (ISR), NT introduces the concept of deferred procedure calls (DPC). The priority of these DPCs is higher than the priority of user and system threads, but all DPCs run at the same priority. This makes that all DPCs are queued in FIFO order, and that the DPC of a high priority interrupt will only be executed when all the DPCs that were queued before it are finished executing. This leads to variable and unpredictable response times, which is incompatible with the fifth requirement. Memory management In NT, memory management is based on virtual memory mechanism. This implies memory space protection, address translation and swapping. Swapping is unacceptable for real-time applications. Memory pages can be locked in memory. However, Jeffrey Richter claims in his book [Richter95] that NT can unlock the pages of a process and swap them from memory to disk if it is inactive (we were not able to reproduce this). Conclusion Windows NT is not suitable for real-time applications. WINDOWS NT 4.0 REAL-TIME EXTENSIONS General solutions In the previous paragraph, we discussed briefly why NT is not appropriate for the use in real-time applications. There are four types of solutions to keep the advantages offered by NT and add real-time capabilities to the system. First of all, NT could be used as is. Although this may sound contradictory to the conclusion of the previous paragraph, several workarounds allow people to build a real-time system on NT. One way is to enhance the interrupt handling mechanism by intercepting interrupts. One vendor, LP-Elektronik, uses this method and intercepts the non-maskable interrupt (NMI). We do not encourage this procedure since it is not without risks. All the interrupts are disable during the NMI which means that all device drivers are delayed and no system call can be executed in the interrupt handler of the NMI. 11

2 MECHANISM RICHNESS INTIME 1.20 RTX 4.1 HYPERKERNEL 4.3 Task or thread management 41% 35% 41% Clock 71% 14% 29% Interval Timer 33% 83% 50% Fixed block size partition 0% 0% 0% Non-fixed block size partition 38% 54% 17% Interrupt Handling 63% 38% 38% Counting Semaphore 80% 80% 0% Binary Semaphore 0% 0% 0% Mutex 50% 75% 33% Conditional Variable 0% 0% 0% Event flags 0% 38% 0% Signals 0% 0% 0% Queue 44% 0% 19% Mailbox 0% 0% 0% AVERAGE PERCENTAGE: 30% 30% 16% Table 1 : API richness The second solution would be to implement a Win32 API library on a commercial RTOS. The drawbacks of this solutions is that standard NT applications cannot be executed anymore (unless a complete virtual NT machine is implemented) and the huge set of device drivers can't be used. Future expandability will also be difficult. The third idea is to make coexist NT and a RTOS on one processor. This is a solution pursued by many vendors, including those of the products investigated in this article. The final idea is to extend the previous to a multiprocessor environment. Here each operating system can run on a processor. A more detailed study on the different solutions can be found in the article [1] and [2]. Solutions discussed in this article The real-time extensions discussed in this article are based on the third category of solutions, i.e. NT and a RTOS (or at least part of it) coexist on one processor. There are two ways to accomplish this: To modify the Hardware Abstraction Layer (HAL) by intercepting interrupts and including a small scheduler or RTOS. To run NT as one of the tasks on top of a (supervisor) RTOS. The HAL has to be modified or at least intercepted. These HAL modifications such as manipulating the clock or rewriting the interrupt processing mechanism represent an unprecedented and unproved use of the HAL. Interception of the HAL is also possible via Intel processor tricks. These implementations are therefore only available on Intel based machines. RTX 4.1 from VenturCom, Inc. RTX 4.1 is very close to NT. The architecture is based on a nucleus integrated in the NT kernel. This way, every RTX process runs as an NT kernel device driver, which makes that the processes are not protected from each other. This may result in faster context switches, but in terms of security, great care is needed. To debug kernel mode applications, (primitive) device driver debugging tools are needed. INTime 1.20 from Radisys. INTime 1.20 is loosely coupled to NT. The architecture is based on the hardware task mechanism of the Intel processor. It is exactly as two kernels running on the same hardware. Because they share the hardware, some modifications had to be made to the NT HAL. The INTime 1.20 application processes run in user mode, which makes that they receive the same protection provided by the Intel x86 architecture as the NT processes do. Classical thread debugging tools can be used. Hyperkernel 4.3 from Imagination Systems, Inc. Hyperkernel 4.3 is implemented as an extra subsystem. It is conceptually similar to other NT subsystems in that it is a self-contained execution environment. 12

3 However, the Hyperkernel subsystem has its own scheduler, its own set of services and its own kernel. Also here, the applications run in kernel mode, which means that debugging will be "kernel style" debugging. Hyperkernel 4.3 makes an attempt to avoid "NT starvation". NT starvation would occur if the real-time application would consume all available CPU power and keep NT from running. This would make the system crash. Therefore, a time slice for NT and Hyperkernel 4.3 was introduced. This means that NT and Hyperkernel run alternate. The length of this time slice is configurable and is between 25µs and 250µs. INSTALLATION AND CONFIGURA- TION Installation and configuration of RTX 4.1, INTime 1.20 and Hyperkernel 4.3 is pretty straightforward. Installation is based on the installation wizard and uses the standard windows graphical user interface. Since the three products are all extensions to NT, rather than a standalone operating system, surprises are less likely to happen during installation than when installing a complete operating system from the ground up. RTOS RICHNESS Application Programmer Interface (API) It is a known fact that the more system calls an operating system provides, the shorter the development time for a particular application will be. To rate the RTOS API richness, we have created a list of features for the most common system calls and compare it with the system calls that are available in INTime 1.20, RTX 4.1 and Hyperkernel 4.3. Table 1 presents an overview of the results of the RTOS API richness list. It gives the percentage of systems calls available in Hyperkernel 4.3 for the different features listed in the table. As Table 1 shows, the APIs for all 3 products are pretty poor. Some basic features are missing, e.g. none of the APIs support event flags and the ability to synchronize threads on multiple events. The Hyperkernel 4.3 API seems to be the most limited of all. However, this table should not be misunderstood. Every product's API has system calls that are not in our list, and are therefore not represented in the table above. Standard device drivers It is important that a RTOS supports a wide variety of device drivers, especially in this day and age where connectivity is in the center of the attention. Since these products are extensions to Windows, all the device drivers running on a NT machine will run on INTime 1.20, RTX 4.1 and Hyperkernel 4.3 machines. However, these NT device drivers do not always offer real-time deterministic behavior. If predictable responses for a particular device are required a driver specifically for the real-time extension has to be developed. PERFORMANCE EVALUATION Test platform All the tests described in the following sections were executed using the following hardware. Motherboard: Chaintech 5TTDM with a 33MHz PCI bus BIOS: Award BIOS v4.51pg CPU: Pentium 200Mhz MMX RAM: 32 Mb DIMM Hard drive: Western Digital Caviar 34300, primary master, UDMA 2 Graphic adapter: S3 Trio 64V2/DX on PCI slot 1 PCI bus analyzer All tests were performed with cache enabled. Measuring method The main problem is the use of a time reference for the measurements. Software timers often do not have enough precision. Their use adds large and unpredictable overhead to the measurements. Moreover, the measurements are synchronous with the system clock. Instead of a software timer, we use external hardware to carry out the measurements. During the execution of a test, tracing data (double word) is written at a valid PCI bus address before and after the evaluated event. Writing the trace to a double word aligned address on a 33MHz PCI bus consumes six to seven bus cycles, i.e. 180ns to 210ns. The PCI bus analyzer stores the data written on the PCI bus into local memory and adds a timestamp to it. When the test is completed, the data is downloaded from the PCI bus analyzer to a PC where it is further processed. Task switch latency A real-time application consists of several individual tasks running concurrently. The time it takes for the system to switch from one task to another is called the task switch latency. It is important that this latency is as small as possible to keep the task-switching overhead in the application to a minimum. Following sections present the results of tests with 10 different threads all running at the same priority and voluntarily yielding control to each other. All of this happens when the NT side is not loaded. INTime 1.20 Figure 1: Task switch latency- INTime

4 RTX 4.1 Figure 2: Task switch latency- RTX 4.1 Hyperkernel 4.3 Figure 3 : task switch latency- Hyperkernel 4.3 (time slice mechanism not bypassed) The spikes in the graph are the result of the time slicing mechanism for NT and Hyperkernel 4.3 as described above. For this test, the time slice was configured to be 250 µs. This is reflected in the results: roughly every 250 µs, the same amount is added to the average task switch latency. The spikes indicate where the Hyperkernel 4.3 time slice ends and that of NT begins. The NT time slice is fully pre-emptible by Hyperkernel 4.3 interrupts. But when there are no interrupts, the Hyperkernel 4.3 application shares CPU time with NT if it needs it. As a result, the designer of an Hyperkernel 4.3 application has to take into account that at all times the execution of his application can be suspended for the length of the time slice as it is configured (25 µs to 250 µs). This will make the execution of the application almost unpredictable. This time slice feature seems to be enabled permanently, but can be bypassed using the system calls "hkseizeprocessor" and "hkreleaseprocessor". The documentation is vague on the semantics of this system call, but it seems that in between these 2 calls, the Hyperkernel 4.3 application will not be pre-empted and NT will not run. Executing the same tests by bypassing the time slice mechanism leads to the more conventional results in figure 4. Interrupt handling Interrupts are a way to deal with external events and are therefore very important in real-time systems. For Figure 4: Task switch latency- Hyperkernel 4.3 (no time slicing) real-time systems the interrupt handling mechanism needs to be fast and predictable. Two latencies are used to rate the performance of the interrupt mechanism: Interrupt Latency: the time elapsed between the execution of the last instruction of the interrupted task and the first instruction in the interrupt handler. This is an indication of how fast the system reacts to an external event. Interrupt Dispatch Latency: the time interval to go from the last instruction in the interrupt handler to the next task scheduled to run. This indicates the time needed to go from interrupt level to task level. This section displays the results of a test that measured the interrupt latency and dispatch latency. The test was constructed in such way that the interrupted task is an NT task. This makes that since the interrupt handler is executed in the real-time extension, the system has to switch from NT to the extension in order to execute the interrupt handler, and then switch back from extension to NT to continue executing the task that was interrupted. An interrupt was generated roughly every 50 µs. Our measuring method did not permit us to take more than a few hundred interrupt (dispatch) latency samples, as opposed to several thousand samples we were able to obtain in the other tests. Therefore, the connecting lines in the graphs were omitted and only the dots were plotted. INTime 1.20 We observed an average interrupt latency of about 11 Figure 5 : Interrupt latency- INTime 1.20 (task to ISR) 15

5 Figure 6: Interrupt dispatch latency- INTime 1.20 (ISR to task) Figure 9. Interrupt latency - Hyperkernel 4.3 (task to ISR) µs, which is still acceptable. However, under these test conditions, the average interrupt dispatch latency was about 25 µs. Adding those 2 together results in a task to task latency of 36 µs. This is longer than in the other extensions we have tested. RTX 4.1 Both graphs are showing isolated measurements where the latency is a substantially bigger than the average, but this is probably due to higher priority interrupts occurring at the same time or higher priority NT tasks pre-empting our NT task. Figure 10. Interrupt dispatch latency - Hyperkernel 4.3 (ISR to task) Synchronization Synchronization objects are used to synchronize the execution of tasks. Common synchronization objects are semaphores, critical sections and signals. Following sections present the results of our extensions on a test that measured the time it takes to acquire and release a semaphore when no other tasks were pending on that semaphore (no contention). Figure 7 : Interrupt latency- RTX 4.1 (task to ISR) INTime 1.20 Figure 8 : Interrupt dispatch latency- RTX 4.1 (ISR to task) Figure 11. Acquisition time semaphore - INTime 1.20) Hyperkernel 4.3 The test results show that the interrupt mechanism is fast. It is obvious that the NT time slice is fully preemptible by a Hyperkernel 4.3 interrupt. 16

6 Figure 12. Release time semaphore - INTime 1.20) RTX 4.1 Figure 16. Release time semaphore - Hyperkernel 4.3 (no time slicing) Figure 17 displays the results of the test when the time slice mechanism is not bypassed. Again, the impact of the time slice mechanism becomes apparent. Under these circumstances, it has to be assumed that any action in Hyperkernel 4.3 can take longer than the length of the time slice (here configured as 250 µs), since at any time the Hyperkernel 4.3 application can be interrupted to let less time critical NT tasks run. Figure 13. Acquisition time semaphore - RTX 4.1 Figure 14. Release time semaphore - RTX 4.1 Hyperkernel 4.3 The results in figures 15 and 16 were obtained by bypassing the NT / Hyperkernel 4.3 time slice mechanism. Figure 15. Acquisition time semaphore - Hyperkernel 4.3 (no time slicing) Figure 17. Acquisition time semaphore - Hyperkernel 4.3 (time slice mechanism not bypassed) TOOLS Editors All the editors available in Windows NT 4.0 are available to the extensions. Debuggers Of the 3 real-time extensions discussed in this article, INTime 1.20 is the only one that provides its own debugger. The debugger is called "Soft Scope", which can communicate with the INTime 1.20 kernel. It can be used in 2 ways: the user can start the application and connect to Soft Scope afterwards, or the real-time application can be launched from within Soft Scope. The non real-time processes that are part of the application can be simultaneously debugged with the standard Windows development tools. It is no surprise that INTime 1.20 is the only product that provides its own debugger. In both Hyperkernel 4.3 and RTX 4.1, the applications run in kernel mode. Debugging such applications is much like debugging device drivers. No conventional thread level debugging tools can be used. Compilers Applications for INTime 1.20, RTX 4.1 and Hyperkernel 18

7 4.3 can be developed using the Microsoft Visual C++ compiler, an industry standard. All that needs to be done is to change some settings so that the real-time extension libraries are linked with the application. Other tools Hyperkernel 4.3 comes with an application called "Run Time Manager". Run time manager is a completely integrated environment that can be used to: Start and stop application. Monitor output messages generated by Hyperkernel applications. Monitor the status of all the threads in the Hyperkernel application. Monitor and modify the current contents of the Hyperkernel shared memory. Some of these features are available in INTime 1.20 and RTX 4.1 too, but no completely integrated environment is provided where all these features are handy and easy to use. USER FRIENDLINESS Documentation The documentation of RTX 4.1 is complete, clear and well presented. The INTime 1.20 documentation is pretty complete too, but is fragmented and less efficient organized. The Hyperkernel 4.3 documentation overall is too limited. Several architectural issues are not clear and the API documentation does not provide a detailed enough description of the system calls and it's parameters, which can lead to misunderstandings and wrong designs. GUI For all 3 products, the GUI is the standard Microsoft Windows graphical user interface. CONCLUSION In this article, real-time extensions for Windows NT 4.0 from 3 different vendors were discussed. It seems that during the tests performed for this article, all 3 real-time extensions exhibited predictable behavior. The results show typical interrupt latencies in the range of µs and typical task switch latencies in the range of 5-20 µs (on a 200 MHz Intel Pentium processor). Hyperkernel 4.3 and RTX 4.1 seem to have the best score on these 2 tests. However, only a limited amount of tests were performed for this article and it remains to be seen if the extensions will behave predictable under all circumstances. More extensive tests will be performed and published in the evaluation reports available later this year. The real-time extensions were clearly developed with a different design philosophy in mind. On one hand there are Hyperkernel 4.3 and RTX 4.1, where the applications run in kernel mode, and on the other hand there is INTime 1.20 where the application runs in user mode. Having the application code execute in kernel mode may result in faster task switching and interrupt latencies, but this comes with the price of security and stability. Bugs in applications running in kernel mode may have disastrous consequences. Hyperkernel 4.3 has introduced a time slicing mechanism between NT and Hyperkernel. The NT time slice is pre-empted when a Hyperkernel interrupt occurs, but during normal execution the Hyperkernel 4.3 application shares CPU time with NT. This prevents NT from crashing easily, but it does add somewhat unpredictable behavior to the execution of the application. However, the user can use API system calls to create a sort of "critical section" which will be executed without NT intervention. Without knowing your application, we cannot advice on which product would be best to use. This service can be provided upon request. The final evaluation reports are available in November. REFERENCES [1] M. Timmerman & J.C. Monfret, Windows NT as a real-time OS. Real-Time Magazine, issue [2] M. Timmerman & J.C. Monfret, Windows NT realtime extensions: an overview. Real-Time Magazine, issue Dr. Ir. Martin Timmerman graduated in Telecommunications Engineering from the Royal Military Academy (RMA) Brussels and received his Doctorate in Applied Science from the Gent State University (1982). He became the director of the System Development Center (SDC) at RMA, which he created in 1983, and converted himself to a Computer Science Engineer. Presently, he gives general courses on Computer Platforms and more specific courses on System Development Methodologies at the RMA. Outside the RMA, Martin is known for his audits, reviews, seminars, evaluation reports and feasibility studies he performs with Real- Time Consult. Real-Time Consult is also known for Real-Time Magazine and the Real-Time Encyclopaedia website ( His second company, Real-Time User Support International (RTUSI) provides hardware and software support services and is involved in project engineering for Real-Time Systems. Bart Van Beneden has been with Real-Time Consult since 1997 where he is involved in the RTOS evaluation program of Real-Time Magazine as a project manager. He received his degree in computer science at the Free University of Brussels. Before joining Real-Time Consult, he designed multi-media applications with LaserMedia Inc. Laurent Uhres graduated in 1997 as an analyst-programmer from the Haute Ecole Rennequin Sualem, Belgium. He has an additional diploma in Object Oriented Development from the Instito Politécnico do Porto, Portugal. Laurent joined Real-Time Consult mid 1997 to work as a software engineer where he has specialized himself in evaluating RTOSs. * Although all care has been taken to obtain correct information and accurate test results, Real-Time Consult and Real-Time Magazine cannot be liable for any incidental or consequential damages (including damages for loss of business, profits or the like) arising out of the use of the information provided in this report, even if Real-Time Consult and Real-Time Magazine have been advised of the possibility of such damages.. 19

RT extensions/applications of general-purpose OSs

RT extensions/applications of general-purpose OSs EECS 571 Principles of Real-Time Embedded Systems Lecture Note #15: RT extensions/applications of general-purpose OSs General-Purpose OSs for Real-Time Why? (as discussed before) App timing requirements

More information

Real-time for Windows NT

Real-time for Windows NT Real-time for Windows NT Myron Zimmerman, Ph.D. Chief Technology Officer, Inc. Cambridge, Massachusetts (617) 661-1230 www.vci.com Slide 1 Agenda Background on, Inc. Intelligent Connected Equipment Trends

More information

Frequently Asked Questions about Real-Time

Frequently Asked Questions about Real-Time FAQ: RTX64 2014 Frequently Asked Questions about Real-Time What is Real-Time? Real-time describes an application which requires a response to an event within some small upper bounded time frame. Typically,

More information

Frequently Asked Questions about Real-Time

Frequently Asked Questions about Real-Time FAQ: RTX64 2013 Frequently Asked Questions about Real-Time What is Real-Time? Real-time describes an application which requires a response to an event within some small upper bounded time frame. Typically,

More information

ECE519 Advanced Operating Systems

ECE519 Advanced Operating Systems IT 540 Operating Systems ECE519 Advanced Operating Systems Prof. Dr. Hasan Hüseyin BALIK (10 th Week) (Advanced) Operating Systems 10. Multiprocessor, Multicore and Real-Time Scheduling 10. Outline Multiprocessor

More information

What s An OS? Cyclic Executive. Interrupts. Advantages Simple implementation Low overhead Very predictable

What s An OS? Cyclic Executive. Interrupts. Advantages Simple implementation Low overhead Very predictable What s An OS? Provides environment for executing programs Process abstraction for multitasking/concurrency scheduling Hardware abstraction layer (device drivers) File systems Communication Do we need an

More information

DSP/BIOS Kernel Scalable, Real-Time Kernel TM. for TMS320 DSPs. Product Bulletin

DSP/BIOS Kernel Scalable, Real-Time Kernel TM. for TMS320 DSPs. Product Bulletin Product Bulletin TM DSP/BIOS Kernel Scalable, Real-Time Kernel TM for TMS320 DSPs Key Features: Fast, deterministic real-time kernel Scalable to very small footprint Tight integration with Code Composer

More information

CSE 4/521 Introduction to Operating Systems. Lecture 29 Windows 7 (History, Design Principles, System Components, Programmer Interface) Summer 2018

CSE 4/521 Introduction to Operating Systems. Lecture 29 Windows 7 (History, Design Principles, System Components, Programmer Interface) Summer 2018 CSE 4/521 Introduction to Operating Systems Lecture 29 Windows 7 (History, Design Principles, System Components, Programmer Interface) Summer 2018 Overview Objective: To explore the principles upon which

More information

Systemy RT i embedded Wykład 11 Systemy RTOS

Systemy RT i embedded Wykład 11 Systemy RTOS Systemy RT i embedded Wykład 11 Systemy RTOS Wrocław 2013 Plan Introduction Tasks Queues Interrupts Resources Memory management Multiprocessor operation Introduction What s an Operating System? Provides

More information

Multiprocessor and Real-Time Scheduling. Chapter 10

Multiprocessor and Real-Time Scheduling. Chapter 10 Multiprocessor and Real-Time Scheduling Chapter 10 1 Roadmap Multiprocessor Scheduling Real-Time Scheduling Linux Scheduling Unix SVR4 Scheduling Windows Scheduling Classifications of Multiprocessor Systems

More information

Evaluating Real-Time Hypervisor (RTS) version 4.1 using Dedicated Systems Experts (DSE) test suite

Evaluating Real-Time Hypervisor (RTS) version 4.1 using Dedicated Systems Experts (DSE) test suite http//download.dedicated-systems.com Doc Evaluating Real-Time Hypervisor (RTS) version 4.1 using Dedicated Systems (DSE) test suite Copyright Copyright DS- NV & VUB-EmSlab. All rights reserved, no part

More information

GLOSSARY. VisualDSP++ Kernel (VDK) User s Guide B-1

GLOSSARY. VisualDSP++ Kernel (VDK) User s Guide B-1 B GLOSSARY Application Programming Interface (API) A library of C/C++ functions and assembly macros that define VDK services. These services are essential for kernel-based application programs. The services

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance Objectives Explore the structure of an operating

More information

by I.-C. Lin, Dept. CS, NCTU. Textbook: Operating System Concepts 8ed CHAPTER 13: I/O SYSTEMS

by I.-C. Lin, Dept. CS, NCTU. Textbook: Operating System Concepts 8ed CHAPTER 13: I/O SYSTEMS by I.-C. Lin, Dept. CS, NCTU. Textbook: Operating System Concepts 8ed CHAPTER 13: I/O SYSTEMS Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests

More information

The control of I/O devices is a major concern for OS designers

The control of I/O devices is a major concern for OS designers Lecture Overview I/O devices I/O hardware Interrupts Direct memory access Device dimensions Device drivers Kernel I/O subsystem Operating Systems - June 26, 2001 I/O Device Issues The control of I/O devices

More information

Exam TI2720-C/TI2725-C Embedded Software

Exam TI2720-C/TI2725-C Embedded Software Exam TI2720-C/TI2725-C Embedded Software Wednesday April 16 2014 (18.30-21.30) Koen Langendoen In order to avoid misunderstanding on the syntactical correctness of code fragments in this examination, we

More information

Windows 7 Overview. Windows 7. Objectives. The History of Windows. CS140M Fall Lake 1

Windows 7 Overview. Windows 7. Objectives. The History of Windows. CS140M Fall Lake 1 Windows 7 Overview Windows 7 Overview By Al Lake History Design Principles System Components Environmental Subsystems File system Networking Programmer Interface Lake 2 Objectives To explore the principles

More information

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory Commercial Real-time Operating Systems An Introduction Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory swamis@iastate.edu Outline Introduction RTOS Issues and functionalities LynxOS

More information

Concurrent & Distributed Systems Supervision Exercises

Concurrent & Distributed Systems Supervision Exercises Concurrent & Distributed Systems Supervision Exercises Stephen Kell Stephen.Kell@cl.cam.ac.uk November 9, 2009 These exercises are intended to cover all the main points of understanding in the lecture

More information

CHAPTER 3 LabVIEW REAL TIME APPLICATION DEVELOPMENT REFERENCES: [1] NI, Real Time LabVIEW. [2] R. Bishop, LabVIEW 2009.

CHAPTER 3 LabVIEW REAL TIME APPLICATION DEVELOPMENT REFERENCES: [1] NI, Real Time LabVIEW. [2] R. Bishop, LabVIEW 2009. CHAPTER 3 By Radu Muresan University of Guelph Page 1 ENGG4420 CHAPTER 3 LECTURE 1 October 31 10 5:12 PM CHAPTER 3 LabVIEW REAL TIME APPLICATION DEVELOPMENT REFERENCES: [1] NI, Real Time LabVIEW. [2] R.

More information

Windows Interrupts

Windows Interrupts Windows 2000 - Interrupts Ausgewählte Betriebssysteme Institut Betriebssysteme Fakultät Informatik 1 Interrupts Software and Hardware Interrupts and Exceptions Kernel installs interrupt trap handlers Interrupt

More information

Tasks. Task Implementation and management

Tasks. Task Implementation and management Tasks Task Implementation and management Tasks Vocab Absolute time - real world time Relative time - time referenced to some event Interval - any slice of time characterized by start & end times Duration

More information

Real-Time Programming

Real-Time Programming Real-Time Programming Week 7: Real-Time Operating Systems Instructors Tony Montiel & Ken Arnold rtp@hte.com 4/1/2003 Co Montiel 1 Objectives o Introduction to RTOS o Event Driven Systems o Synchronization

More information

Input/Output Systems

Input/Output Systems Input/Output Systems CSCI 315 Operating Systems Design Department of Computer Science Notice: The slides for this lecture have been largely based on those from an earlier edition of the course text Operating

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems DM510-14 Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations STREAMS Performance 13.2 Objectives

More information

TDDD07 Real-time Systems Lecture 10: Wrapping up & Real-time operating systems

TDDD07 Real-time Systems Lecture 10: Wrapping up & Real-time operating systems TDDD07 Real-time Systems Lecture 10: Wrapping up & Real-time operating systems Simin Nadjm-Tehrani Real-time Systems Laboratory Department of Computer and Information Science Linköping Univerity 28 pages

More information

Module 12: I/O Systems

Module 12: I/O Systems Module 12: I/O Systems I/O hardwared Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Performance 12.1 I/O Hardware Incredible variety of I/O devices Common

More information

A Minimal API For Support of Real-Time Operations. Abstract. Introduction. Necessary Qualities of a Real- Time Operating System

A Minimal API For Support of Real-Time Operations. Abstract. Introduction. Necessary Qualities of a Real- Time Operating System A Minimal API For Support of Real-Time Operations. University of Columbia Computer Science Department Dirk Bridwell dnbridwell@earthlink.net Jan Miller janalanmiller@uswest.net Abstract To address the

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance 13.2 Silberschatz, Galvin

More information

Chapter 13: I/O Systems. Chapter 13: I/O Systems. Objectives. I/O Hardware. A Typical PC Bus Structure. Device I/O Port Locations on PCs (partial)

Chapter 13: I/O Systems. Chapter 13: I/O Systems. Objectives. I/O Hardware. A Typical PC Bus Structure. Device I/O Port Locations on PCs (partial) Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance 13.2 Silberschatz, Galvin

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance 13.2 Silberschatz, Galvin

More information

操作系统概念 13. I/O Systems

操作系统概念 13. I/O Systems OPERATING SYSTEM CONCEPTS 操作系统概念 13. I/O Systems 东南大学计算机学院 Baili Zhang/ Southeast 1 Objectives 13. I/O Systems Explore the structure of an operating system s I/O subsystem Discuss the principles of I/O

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance 13.2 Silberschatz, Galvin

More information

Uniprocessor Scheduling. Basic Concepts Scheduling Criteria Scheduling Algorithms. Three level scheduling

Uniprocessor Scheduling. Basic Concepts Scheduling Criteria Scheduling Algorithms. Three level scheduling Uniprocessor Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Three level scheduling 2 1 Types of Scheduling 3 Long- and Medium-Term Schedulers Long-term scheduler Determines which programs

More information

Chapter 12: I/O Systems

Chapter 12: I/O Systems Chapter 12: I/O Systems Chapter 12: I/O Systems I/O Hardware! Application I/O Interface! Kernel I/O Subsystem! Transforming I/O Requests to Hardware Operations! STREAMS! Performance! Silberschatz, Galvin

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations STREAMS Performance Silberschatz, Galvin and

More information

Chapter 12: I/O Systems. Operating System Concepts Essentials 8 th Edition

Chapter 12: I/O Systems. Operating System Concepts Essentials 8 th Edition Chapter 12: I/O Systems Silberschatz, Galvin and Gagne 2011 Chapter 12: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations STREAMS

More information

RTX. Features by Release IZ-DOC-X

RTX. Features by Release IZ-DOC-X RTX Features by Release IZ-DOC-X86-0031 August 12, 2011 Operating System Supported RTX Versions 5.5 6.0.1 6.1 6.5.1 7.0 7.1 8.0 8.1 8.1.1 8.1.2 9.0 4 2009 2009 SP1 2009 SP2 2011 2011 SP1 Windows 7 No No

More information

Operating Systems. Operating Systems

Operating Systems. Operating Systems The operating system defines our computing experience. It is the first software we see when we turn on the computer, and the last software we see when the computer is turned off. It's the software that

More information

Comparing the Real-time Performance of Windows NT to an NT Real-time Extension

Comparing the Real-time Performance of Windows NT to an NT Real-time Extension Comparing the Real-time Performance of Windows NT to an NT Real-time Extension Kevin M. Obenland, Tiffany Frazier, Jin S. Kim, John Kowalik The MITRE Corporation, 1820 Dolley Madison Blvd. McLean, VA 22102

More information

Introduction to Real-Time Operating Systems

Introduction to Real-Time Operating Systems Introduction to Real-Time Operating Systems GPOS vs RTOS General purpose operating systems Real-time operating systems GPOS vs RTOS: Similarities Multitasking Resource management OS services to applications

More information

Threads. Raju Pandey Department of Computer Sciences University of California, Davis Spring 2011

Threads. Raju Pandey Department of Computer Sciences University of California, Davis Spring 2011 Threads Raju Pandey Department of Computer Sciences University of California, Davis Spring 2011 Threads Effectiveness of parallel computing depends on the performance of the primitives used to express

More information

Chapter 13: I/O Systems. Operating System Concepts 9 th Edition

Chapter 13: I/O Systems. Operating System Concepts 9 th Edition Chapter 13: I/O Systems Silberschatz, Galvin and Gagne 2013 Chapter 13: I/O Systems Overview I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations

More information

CSCE Introduction to Computer Systems Spring 2019

CSCE Introduction to Computer Systems Spring 2019 CSCE 313-200 Introduction to Computer Systems Spring 2019 Processes Dmitri Loguinov Texas A&M University January 24, 2019 1 Chapter 3: Roadmap 3.1 What is a process? 3.2 Process states 3.3 Process description

More information

Behavior and performance evaluation of Windows Embedded Compact 7 on ARM

Behavior and performance evaluation of Windows Embedded Compact 7 on ARM http://download.dedicated-systems.com Behavior and performance evaluation of Windows Embedded Compact 7 on ARM Copyright Copyright Dedicated Systems NV. All rights reserved, no part of the contents of

More information

Extending Windows XP. into real time

Extending Windows XP. into real time Extending Windows XP into real time By Paul Fischer The use of Windows in the embedded marketplace continues to grow, acknowledged directly by Microsoft s aggressive promotion of two Windows platforms

More information

6/17/2011. Real-time Operating Systems

6/17/2011. Real-time Operating Systems 1 1 Real-time Operating Systems 2 2 Real-time Operating Systems 3 3 What is an RTOS Provides efficient mechanisms and services for real-time scheduling and resource management Must keep its own time and

More information

Multimedia Systems 2011/2012

Multimedia Systems 2011/2012 Multimedia Systems 2011/2012 System Architecture Prof. Dr. Paul Müller University of Kaiserslautern Department of Computer Science Integrated Communication Systems ICSY http://www.icsy.de Sitemap 2 Hardware

More information

OPERATING SYSTEMS CS3502 Spring Processor Scheduling. Chapter 5

OPERATING SYSTEMS CS3502 Spring Processor Scheduling. Chapter 5 OPERATING SYSTEMS CS3502 Spring 2018 Processor Scheduling Chapter 5 Goals of Processor Scheduling Scheduling is the sharing of the CPU among the processes in the ready queue The critical activities are:

More information

Device-Functionality Progression

Device-Functionality Progression Chapter 12: I/O Systems I/O Hardware I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Incredible variety of I/O devices Common concepts Port

More information

Chapter 12: I/O Systems. I/O Hardware

Chapter 12: I/O Systems. I/O Hardware Chapter 12: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations I/O Hardware Incredible variety of I/O devices Common concepts Port

More information

SNS COLLEGE OF ENGINEERING

SNS COLLEGE OF ENGINEERING SNS COLLEGE OF ENGINEERING Coimbatore. Department of Computer Science and Engineering Question Bank- Even Semester 2015-2016 CS6401 OPERATING SYSTEMS Unit-I OPERATING SYSTEMS OVERVIEW 1. Differentiate

More information

CSc33200: Operating Systems, CS-CCNY, Fall 2003 Jinzhong Niu December 10, Review

CSc33200: Operating Systems, CS-CCNY, Fall 2003 Jinzhong Niu December 10, Review CSc33200: Operating Systems, CS-CCNY, Fall 2003 Jinzhong Niu December 10, 2003 Review 1 Overview 1.1 The definition, objectives and evolution of operating system An operating system exploits and manages

More information

Module 12: I/O Systems

Module 12: I/O Systems Module 12: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Performance Operating System Concepts 12.1 Silberschatz and Galvin c

More information

Processes and Non-Preemptive Scheduling. Otto J. Anshus

Processes and Non-Preemptive Scheduling. Otto J. Anshus Processes and Non-Preemptive Scheduling Otto J. Anshus Threads Processes Processes Kernel An aside on concurrency Timing and sequence of events are key concurrency issues We will study classical OS concurrency

More information

CSE 410 Final Exam 6/09/09. Suppose we have a memory and a direct-mapped cache with the following characteristics.

CSE 410 Final Exam 6/09/09. Suppose we have a memory and a direct-mapped cache with the following characteristics. Question 1. (10 points) (Caches) Suppose we have a memory and a direct-mapped cache with the following characteristics. Memory is byte addressable Memory addresses are 16 bits (i.e., the total memory size

More information

RTX64 Features by Release IZ-DOC-X R3

RTX64 Features by Release IZ-DOC-X R3 RTX64 Features by Release IZ-DOC-X64-0089-R3 January 2014 Operating System and Visual Studio Support WINDOWS OPERATING SYSTEM RTX64 2013 Windows 8 No Windows 7 (SP1) (SP1) Windows Embedded Standard 8 No

More information

I/O Systems. Amir H. Payberah. Amirkabir University of Technology (Tehran Polytechnic)

I/O Systems. Amir H. Payberah. Amirkabir University of Technology (Tehran Polytechnic) I/O Systems Amir H. Payberah amir@sics.se Amirkabir University of Technology (Tehran Polytechnic) Amir H. Payberah (Tehran Polytechnic) I/O Systems 1393/9/15 1 / 57 Motivation Amir H. Payberah (Tehran

More information

Kernel Module Programming

Kernel Module Programming Kernel Module Programming Alessandro Barenghi Dipartimento di Elettronica e Informazione Politecnico di Milano barenghi - at - elet.polimi.it June 7, 2012 Recap By now, you should be familiar with... Programming

More information

Multiprocessor and Real- Time Scheduling. Chapter 10

Multiprocessor and Real- Time Scheduling. Chapter 10 Multiprocessor and Real- Time Scheduling Chapter 10 Classifications of Multiprocessor Loosely coupled multiprocessor each processor has its own memory and I/O channels Functionally specialized processors

More information

A TimeSys Perspective on the Linux Preemptible Kernel Version 1.0. White Paper

A TimeSys Perspective on the Linux Preemptible Kernel Version 1.0. White Paper A TimeSys Perspective on the Linux Preemptible Kernel Version 1.0 White Paper A TimeSys Perspective on the Linux Preemptible Kernel A White Paper from TimeSys Corporation Introduction One of the most basic

More information

Lesson 5: Software for embedding in System- Part 2

Lesson 5: Software for embedding in System- Part 2 Lesson 5: Software for embedding in System- Part 2 Device drivers, Device manager, OS, RTOS and Software tools 1 Outline Device drivers Device manager Multitasking using an operating system (OS) and Real

More information

Ausgewählte Betriebssysteme - Mark Russinovich & David Solomon (used with permission of authors)

Ausgewählte Betriebssysteme - Mark Russinovich & David Solomon (used with permission of authors) Outline Windows 2000 - The I/O Structure Ausgewählte Betriebssysteme Institut Betriebssysteme Fakultät Informatik Components of I/O System Plug n Play Management Power Management I/O Data Structures File

More information

Real-Time & Embedded Operating Systems

Real-Time & Embedded Operating Systems Real-Time & Embedded Operating Systems VO Embedded Systems Engineering (Astrit ADEMAJ) Real-Time Operating Systems Scheduling Embedded Operating Systems Power Consumption Embedded Real-Time Operating Systems

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems Silberschatz, Galvin and Gagne 2013! Chapter 13: I/O Systems I/O Hardware" Application I/O Interface" Kernel I/O Subsystem" Transforming I/O Requests to Hardware Operations" STREAMS"

More information

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition Chapter 6: CPU Scheduling Silberschatz, Galvin and Gagne 2013 Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Real-Time

More information

Process Monitoring in Operating System Linux

Process Monitoring in Operating System Linux Process Monitoring in Operating System Linux ZDENEK SLANINA, VILEM SROVNAL Department of Measurement and Control VSB Technical University of Ostrava 17. listopadu 15, 708 33 Ostrava-Poruba CZECH REPUBLIC

More information

COT 4600 Operating Systems Fall Dan C. Marinescu Office: HEC 439 B Office hours: Tu-Th 3:00-4:00 PM

COT 4600 Operating Systems Fall Dan C. Marinescu Office: HEC 439 B Office hours: Tu-Th 3:00-4:00 PM COT 4600 Operating Systems Fall 2009 Dan C. Marinescu Office: HEC 439 B Office hours: Tu-Th 3:00-4:00 PM Lecture 23 Attention: project phase 4 due Tuesday November 24 Final exam Thursday December 10 4-6:50

More information

Course Syllabus. Operating Systems

Course Syllabus. Operating Systems Course Syllabus. Introduction - History; Views; Concepts; Structure 2. Process Management - Processes; State + Resources; Threads; Unix implementation of Processes 3. Scheduling Paradigms; Unix; Modeling

More information

Windows History 2009 Windows 7 2

Windows History 2009 Windows 7 2 Example: Windows 1 Windows History 2009 Windows 7 2 Features added Windows2000 additions Plug-and-play Network directory service New GUI Vista additions New GUI More focus on security clean-up the code

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance I/O Hardware Incredible variety of I/O devices Common

More information

Roadmap for This Lecture

Roadmap for This Lecture Thread Scheduling 1 Roadmap for This Lecture Overview Priorities Scheduling States Scheduling Data Structures Quantum Scheduling Scenarios Priority Adjustments (boosts and decays) Multiprocessor Scheduling

More information

LINUX RT30 ON X86

LINUX RT30 ON X86 Copyright Dedicated Systems. All rights are reserved, no part of the contents of this document may be reproduced or transmitted in any form or by any means without the written permission of Dedicated Systems.

More information

Scheduling of processes

Scheduling of processes Scheduling of processes Processor scheduling Schedule processes on the processor to meet system objectives System objectives: Assigned processes to be executed by the processor Response time Throughput

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2016 Lecture 2 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 2 System I/O System I/O (Chap 13) Central

More information

OS Schedulers: Fair-Share Scheduling in the Windows Research Kernel (WRK) Version 1.0 June 2007

OS Schedulers: Fair-Share Scheduling in the Windows Research Kernel (WRK) Version 1.0 June 2007 Version 1.0 June 2007 Marty Humphrey Assistant Professor Department of Computer Science University of Virginia Charlottesville, VA 22904 The purpose of this experiment is to gain more experience with CPU

More information

An Overview of the BLITZ System

An Overview of the BLITZ System An Overview of the BLITZ System Harry H. Porter III Department of Computer Science Portland State University Introduction The BLITZ System is a collection of software designed to support a university-level

More information

Implementing Scheduling Algorithms. Real-Time and Embedded Systems (M) Lecture 9

Implementing Scheduling Algorithms. Real-Time and Embedded Systems (M) Lecture 9 Implementing Scheduling Algorithms Real-Time and Embedded Systems (M) Lecture 9 Lecture Outline Implementing real time systems Key concepts and constraints System architectures: Cyclic executive Microkernel

More information

QUESTION BANK UNIT I

QUESTION BANK UNIT I QUESTION BANK Subject Name: Operating Systems UNIT I 1) Differentiate between tightly coupled systems and loosely coupled systems. 2) Define OS 3) What are the differences between Batch OS and Multiprogramming?

More information

Reference Model and Scheduling Policies for Real-Time Systems

Reference Model and Scheduling Policies for Real-Time Systems ESG Seminar p.1/42 Reference Model and Scheduling Policies for Real-Time Systems Mayank Agarwal and Ankit Mathur Dept. of Computer Science and Engineering, Indian Institute of Technology Delhi ESG Seminar

More information

CPU Scheduling. CSE 2431: Introduction to Operating Systems Reading: Chapter 6, [OSC] (except Sections )

CPU Scheduling. CSE 2431: Introduction to Operating Systems Reading: Chapter 6, [OSC] (except Sections ) CPU Scheduling CSE 2431: Introduction to Operating Systems Reading: Chapter 6, [OSC] (except Sections 6.7.2 6.8) 1 Contents Why Scheduling? Basic Concepts of Scheduling Scheduling Criteria A Basic Scheduling

More information

Chapter 3 Process Description and Control

Chapter 3 Process Description and Control Operating Systems: Internals and Design Principles Chapter 3 Process Description and Control Seventh Edition By William Stallings Operating Systems: Internals and Design Principles The concept of process

More information

I/O AND DEVICE HANDLING Operating Systems Design Euiseong Seo

I/O AND DEVICE HANDLING Operating Systems Design Euiseong Seo I/O AND DEVICE HANDLING 2016 Operating Systems Design Euiseong Seo (euiseong@skku.edu) I/O Hardware Incredible variety of I/O devices Common concepts Port Bus (daisy chain or shared direct access) Controller

More information

Linux - Not real-time!

Linux - Not real-time! Linux - Not real-time! Date: 16.01.2015 Author(s): Michal Koziel www.bitvis.no 1 Abstract A system is said to be real-time if it can respond to external triggers and perform periodic tasks with deterministic

More information

RTOS Real T i Time me Operating System System Concepts Part 2

RTOS Real T i Time me Operating System System Concepts Part 2 RTOS Real Time Operating System Concepts Part 2 Real time System Pitfalls - 4: The Ariane 5 satelite launch rocket Rocket self destructed in 4 June -1996. Exactly after 40 second of lift off at an attitude

More information

IT 540 Operating Systems ECE519 Advanced Operating Systems

IT 540 Operating Systems ECE519 Advanced Operating Systems IT 540 Operating Systems ECE519 Advanced Operating Systems Prof. Dr. Hasan Hüseyin BALIK (3 rd Week) (Advanced) Operating Systems 3. Process Description and Control 3. Outline What Is a Process? Process

More information

Embedded Systems. 5. Operating Systems. Lothar Thiele. Computer Engineering and Networks Laboratory

Embedded Systems. 5. Operating Systems. Lothar Thiele. Computer Engineering and Networks Laboratory Embedded Systems 5. Operating Systems Lothar Thiele Computer Engineering and Networks Laboratory Embedded Operating Systems 5 2 Embedded Operating System (OS) Why an operating system (OS) at all? Same

More information

Subject Name: OPERATING SYSTEMS. Subject Code: 10EC65. Prepared By: Kala H S and Remya R. Department: ECE. Date:

Subject Name: OPERATING SYSTEMS. Subject Code: 10EC65. Prepared By: Kala H S and Remya R. Department: ECE. Date: Subject Name: OPERATING SYSTEMS Subject Code: 10EC65 Prepared By: Kala H S and Remya R Department: ECE Date: Unit 7 SCHEDULING TOPICS TO BE COVERED Preliminaries Non-preemptive scheduling policies Preemptive

More information

Case Study. Windows XP. Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze

Case Study. Windows XP. Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Case Study Windows XP Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Background Architecture Windows Operating System Internals - by David A. Solomon

More information

LatencyMon has been analyzing your system for 0:09:55 (h:mm:ss) on all processors.

LatencyMon has been analyzing your system for 0:09:55 (h:mm:ss) on all processors. CONCLUSION Your system appears to be having trouble handling real-time audio and other tasks. You are likely to experience buffer underruns appearing as drop outs, clicks or pops. One or more DPC routines

More information

Operating Systems 2010/2011

Operating Systems 2010/2011 Operating Systems 2010/2011 Input/Output Systems part 1 (ch13) Shudong Chen 1 Objectives Discuss the principles of I/O hardware and its complexity Explore the structure of an operating system s I/O subsystem

More information

CPS 110 Midterm. Spring 2011

CPS 110 Midterm. Spring 2011 CPS 110 Midterm Spring 2011 Ola! Greetings from Puerto Rico, where the air is warm and salty and the mojitos are cold and sweet. Please answer all questions for a total of 200 points. Keep it clear and

More information

The modularity requirement

The modularity requirement The modularity requirement The obvious complexity of an OS and the inherent difficulty of its design lead to quite a few problems: an OS is often not completed on time; It often comes with quite a few

More information

Efficiency and memory footprint of Xilkernel for the Microblaze soft processor

Efficiency and memory footprint of Xilkernel for the Microblaze soft processor Efficiency and memory footprint of Xilkernel for the Microblaze soft processor Dariusz Caban, Institute of Informatics, Gliwice, Poland - June 18, 2014 The use of a real-time multitasking kernel simplifies

More information

OPERATING SYSTEM CONCEPTS UNDERSTAND!!! IMPLEMENT!!! ANALYZE!!!

OPERATING SYSTEM CONCEPTS UNDERSTAND!!! IMPLEMENT!!! ANALYZE!!! OPERATING SYSTEM CONCEPTS UNDERSTAND!!! IMPLEMENT!!! Processor Management Memory Management IO Management File Management Multiprogramming Protection and Security Network Management UNDERSTAND!!! IMPLEMENT!!!

More information

Application Note. TenAsys / INtime plus UEI / PowerDNA : The perfect match for Real Time Simulation

Application Note. TenAsys / INtime plus UEI / PowerDNA : The perfect match for Real Time Simulation Application Note TenAsys / INtime plus UEI / PowerDNA : The perfect match for Real Time Simulation Copyright 2014 United Electronic Industries, Inc. All rights reserved. Application Note 1 Imagine that

More information

Outline. Introduction. Survey of Device Driver Management in Real-Time Operating Systems

Outline. Introduction. Survey of Device Driver Management in Real-Time Operating Systems Survey of Device Driver Management in Real-Time Operating Systems Sebastian Penner +46705-396120 sebastian.penner@home.se 1 Outline Introduction What is a device driver? Commercial systems General Description

More information

Introduction to Operating Systems

Introduction to Operating Systems Module- 1 Introduction to Operating Systems by S Pramod Kumar Assistant Professor, Dept.of ECE,KIT, Tiptur Images 2006 D. M.Dhamdhare 1 What is an OS? Abstract views To a college student: S/W that permits

More information

Module 8. Industrial Embedded and Communication Systems. Version 2 EE IIT, Kharagpur 1

Module 8. Industrial Embedded and Communication Systems. Version 2 EE IIT, Kharagpur 1 Module 8 Industrial Embedded and Communication Systems Version 2 EE IIT, Kharagpur 1 Lesson 37 Real-Time Operating Systems: Introduction and Process Management Version 2 EE IIT, Kharagpur 2 Instructional

More information

SMD149 - Operating Systems

SMD149 - Operating Systems SMD149 - Operating Systems Roland Parviainen November 3, 2005 1 / 45 Outline Overview 2 / 45 Process (tasks) are necessary for concurrency Instance of a program in execution Next invocation of the program

More information