Operating System Kernels Patrick Bitterling Computer Systems and Telematics Institute of Computer Science Freie Universität Berlin, Germany [email protected]

Total Page:16

File Type:pdf, Size:1020Kb

Operating System Kernels Patrick Bitterling Computer Systems and Telematics Institute of Computer Science Freie Universität Berlin, Germany Bitterli@Inf.Fu-Berlin.De 1 Operating System Kernels Patrick Bitterling Computer Systems and Telematics Institute of Computer Science Freie Universität Berlin, Germany [email protected] Abstract—A Kernel is the backbone of most operating series (till ME). Between this two designs exists the systems. This paper provides information about kernel Hybrid kernel, which is found in the Windows NT series architectures with their features and advantages. The three (includes XP and Vista) and in Mac’s OS/2 and OS/X. In most actual desktop operating systems are distributions of section 2 the different kernel architectures are explained. Linux, (free)BSD and Windows Vista. The kernels (even This include the benefits of these architectures. Section when they have the same architecture) of these OS differs greatly in there subsystems. So this paper shows how the 3 gives a overview of the subsystems of three operating subsystems of these kernels work. Following subsystems system kernels which is followed by a comparison of are viewed: process management and scheduling, system these subsystems. calls, interrupts, kernel synchronization, time and memory management management and additionally a short look II. THE DIFFERENT KERNEL ARCHITECTURES: into the networking stack. But not all operating systems have a kernel. So there must be alternatives which are These section discusses the differences between the shown in the last part of section 3. microkernel, the monolithic kernel and the hybrid kernel. A. The microkernel I. INTRODUCTION In the past there are huge metal machines that are feed with magnetic tapes to perform some work. Today you can start your fair-size computer or even smaller laptop with pressing on a button. In a short time you have nice graphical user interface and a lot of applications, that can be used for the desired work. Between these two scenarios past more then fifty years has elapsed. In the beginning there are no operating systems for computers and the first operating systems did not include any kernel. The time elapsed and the computer had to support more hardware. But OS were developed further and it was time for the kernel-based operating systems. The first kernels were microkernels. The microkernel is a minimal computer operating system kernel. The The design of a microkernel determines that it has only first operating system kernels were small, because the functions for a simple inter-process communication, computer memory was limited. Computers became more memory management and scheduling. All these efficient and the operating system kernel had to control a functions are operation in the kernel mode but the larger number of devices. The address spaces increased rest runs in the user mode. The microkernel is not from 16 to 32 bits, so the kernel design was not limited implemented as one huge process. The functionality by hardware architecture and the size of the kernel began of the Microkernel is divided in several processes the to grow. With the the grow of the kernel there was a new so called Servers. In best case only these Servers get upcoming design the monolithic kernel. The monolithic more privileges which need them to do their tasks. kernel is used in operating systems with Linux-kernel All servers are separated from the system and each and a lot of known BSD-derivatives as FreeBSD. It process has his own address space. The result is that was also used by MS DOS and the MS Windows 9x the microkernel cannot start functions directly. It has 2 to communicate via "Message Passing" which is an C. The hybrid kernel inter-process communication mechanism which allows Servers to communicate to other Servers. Because of this implementation errors affect only the process in which it occurs. These modularization allows to exchange servers without jamming the hole system. The communication via inter-process communication produce more overhead then a function call and more context switches the a monolithic kernel. The result of the context switches is a major latency, which results in a negative performance. The hybrid kernel design is something between the microkernel and the monolithic kernel (that is the B. The monolithic kernel reason for the name). The hybrid kernel runs the same processes in kernel-mode microkernel. Additional the hybrid kernel runs the application IPC and the device drivers in kernel mode. In the user-mode is used for UNIX-Server, File-Server and applications. The goal of this architecture is to get the performance benefits of a monolithic kernel, with the stability of a microkernel The result is a microkernel-like structure in monolithic kernel and a controversy about the need of an extra category for this kernel or only have the two categories microkernel and monolithic kernel. III. KERNEL SUBSYSTEMS This section gives a overview of the Windows Vista, Linux 2.6.28 and FreeBSD 7.0 kernel subsystems. The overview begins with all Linux kernel subsystem, fol- lowing by the FreeBSD and Vista kernel subsystem. At In contrast to the microkernel the monolithic kernel last there is a short look into the network protocol stack. includes more functions, so there are more services that run in kernel-mode like all device drivers, A. The Linux kernel architecture dispatcher,scheduling, virtual memory, all inter-process The Linux kernel is a monolithic kernel, but it also a communication (not only the simple IPC as in a modular kernel. The Linux kernel possesses the ability microkernel), the (virtual) file system and the system to load and unload kernel-code. So the Linux kernel can calls, so only applications run in user-mode. The load drivers for new devices on demand. monolithic kernel is implemented as one process, which runs in one single address space. All kernel services are running in one kernel address space, so B. Linux process management the communication between these services is more Linux kernel saves all pieces of information in a data simple, because the kernel processes the ability to call structure.[1] These data structure contains information all functions directly like a program in user-space. like open files, the address space of the process, status The ability to perform system calls results in better of the process. To identify a process each process performance and simpler implementation of the kernel. contains a process identifier called PID. The PID is a The crash or bug in one module which is running in number of the type (in most cases ) int but uses only kernel-mode can crash the hole system. the length of short int (32768) to be compatible with 3 older UNIX or Linux versions. Linux, FreeBSD and are only the the resources duplicated which are used Windows Vista using a five-state process management by both processes (called copy-on-write). The exec() model. function loads code in the address space and execute it. (Often a fork() is used before exec()). In Linux threads are only processes that are both share some resources and address space. For a computation in the background the kernel can spawn kernel-threads that are only working in the kernel-space and have no address space. To end a process the system call exit() is used or when a process must end because of an exception or a signal. When a process ends the parent gets a signal, free resources and calls schedule() to switch to another process. At last the process descriptor is freed. If parent process ends before the child process the child process must bound to another process, because of the process hierarchy. C. Linux process scheduling Since the 2.6.23 kernel Linux uses a Completely Fair Scheduler (CFS) [2], [3]. On real hardware only one single task can run at once. Most fair would be running each process with 1/n of the processors physical Each process is in one of the following five states: power. So while one task runs, the other tasks that are RUNNING the task is running or in runqueue and waiting for the CPU are at a disadvantage, because the awaits to run, INTERRUBTIBLE the process sleeps current task gets an unfair amount of CPU time. In (blocked) and waits on a condition or a wake up signal CFS this fairness imbalance is expressed and tracked to switch in the RUNNING state, UNINTERRUBTILE via the per-task p->wait_runtime (nanosec-unit) value. − like INTERRUBTIBLE but the process cannot wait_runtimeïs¨ the amount of time the task should now wake up via signal to switch in the RUNNING state, run on the CPU for it to become completely fair and ZOMBIE the task has finished but the parent has made balanced. CFS’s task picking logic is based on this p- the wait4() system call to free the process descriptor, >wait_runtime value. It always tries to run the task with STOPPED the execution of the process was stopped the largest p->wait_runtime value. In other words, CFS and the process has no possibility to switch back to tries to run the task with most need for more CPU time. RUNNING state. One important aspect of the process In practice the task runs only the amount of time until is the executed code which is read from a executable the p->wait_runtime value is low enough so that another file and runs in within the address space. In general the task needs to run. To decide which task should run they execution of the program is placed in user-space till a are sorted in a time ordered red-black-tree. The CFS has system call or exception switch it to the kernel-space. additionally classes with variable priorities. When they The kernel is now in the process context which means are no more runnable task in one class the the CFS runs that the kernel proceed a job in the name of this task.
Recommended publications
  • A Programmable Microkernel for Real-Time Systems∗
    A Programmable Microkernel for Real-Time Systems∗ Christoph M. Kirsch Marco A.A. Sanvido Thomas A. Henzinger University of Salzburg VMWare Inc. EPFL and UC Berkeley [email protected] tah@epfl.ch ABSTRACT Categories and Subject Descriptors We present a new software system architecture for the im- D.4.7 [Operating Systems]: Organization and Design— plementation of hard real-time applications. The core of the Real-time systems and embedded systems system is a microkernel whose reactivity (interrupt handling as in synchronous reactive programs) and proactivity (task General Terms scheduling as in traditional RTOSs) are fully programma- Languages ble. The microkernel, which we implemented on a Strong- ARM processor, consists of two interacting domain-specific Keywords virtual machines, a reactive E (Embedded) machine and a proactive S (Scheduling) machine. The microkernel code (or Real Time, Operating System, Virtual Machine microcode) that runs on the microkernel is partitioned into E and S code. E code manages the interaction of the system 1. INTRODUCTION with the physical environment: the execution of E code is In [9], we advocated the E (Embedded) machine as a triggered by environment interrupts, which signal external portable target for compiling hard real-time code, and in- events such as the arrival of a message or sensor value, and it troduced, in [11], the S (Scheduling) machine as a universal releases application tasks to the S machine. S code manages target for generating schedules according to arbitrary and the interaction of the system with the processor: the exe- possibly non-trivial strategies such as nonpreemptive and cution of S code is triggered by hardware interrupts, which multiprocessor scheduling.
    [Show full text]
  • A Survey on Architectures of Mobile Operating Systems: Challenges and Issues
    International Journal of Research Studies in Computer Science and Engineering (IJRSCSE) Volume 2, Issue 3, March 2015, PP 73-76 ISSN 2349-4840 (Print) & ISSN 2349-4859 (Online) www.arcjournals.org A Survey on Architectures of Mobile Operating Systems: Challenges and Issues Prof. Y. K. Sundara Krishna1 HOD, Dept. of Computer Science, Krishna University Mr. G K Mohan Devarakonda2 Research Scholar, Krishna University Abstract: In the early years of mobile evolution, Discontinued Platforms Current mobile devices are enabled only with voice services Platforms that allow the users to communicate with each other. Symbian OS Android But now a days, the mobile technology undergone Palm OS IOS various changes to a great extent so that the devices Maemo OS Windows Phone allows the users not only to communicate but also to Meego OS Firefox OS attain a variety of services such as video calls, faster Black Berry OS browsing services,2d and 3d games, Camera, 2.1 Symbian OS: This Operating system was Banking Services, GPS services, File sharing developed by NOKIA. services, Tracking Services, M-Commerce and so many. The changes in mobile technology may be due Architecture: to Operating System or Hardware or Network or Memory. This paper presents a survey on evolutions SYMBIAN OS GUI Library in mobile developments especially on mobile operating system Architectures, challenges and Issues in various mobile operating Systems. Application Engines JAVA VM 1. INTRODUCTION Servers (Operating System Services) A Mobile operating system is a System Software that is specifically designed to run on handheld devices Symbian OS Base (File Server, Kernel) such as Mobile Phones, PDA’s.
    [Show full text]
  • Technical Evaluation and Legal Opinion of Warden: a Network Forensics Tool, Version 1.0 Author(S): Rod Yazdan, Newton Mccollum, Jennifer Ockerman, Ph.D
    NCJRS O FFICE OF JU STI CE PR OG RAM Se ~ N ATIONAL C RIMINAL JUSTICE REFERENCE SERVICE QJA BJS N/J OJJF OVC SMART '~ ..) The author(s) shown below used Federal funding provided by the U.S. Department of Justice to prepare the following resource: Document Title: Technical Evaluation and Legal Opinion of Warden: A Network Forensics Tool, Version 1.0 Author(s): Rod Yazdan, Newton McCollum, Jennifer Ockerman, Ph.D. Document Number: 252944 Date Received: May 2019 Award Number: 2013-MU-CX-K111 This resource has not been published by the U.S. Department of Justice. This resource is being made publically available through the Office of Justice Programs’ National Criminal Justice Reference Service. Opinions or points of view expressed are those of the author(s) and do not necessarily reflect the official position or policies of the U.S. Department of Justice. nl JOHNS HOPKINS ..APPLIED PHYSICS LABORATORY 11100 Johns Hopkins Road • Laurel, Maryland 20723-6099 AOS-18-1223 NIJ RT&E Center Project 15WA October 2018 TECHNICAL EVALUATION AND LEGAL OPINION OF WARDEN: A NETWORK FORENSICS TOOL Version 1.0 Rod Yazdan Newton McCollum Jennifer Ockerman, PhD Prepared for: r I I Nation~/ Institute Nl.I of Justice STRENGTHEN SCIENCE. ADVANCE JUSTICE. Prepared by: The Johns Hopkins University Applied Physics Laboratory 11100 Johns Hopkins Rd. Laurel, MD 20723-6099 Task No.: FGSGJ Contract No.: 2013-MU-CX-K111/115912 This project was supported by Award No. 2013-MU-CX-K111, awarded by the National Institute of Justice, Office of Justice Programs, U.S. Department of Justice.
    [Show full text]
  • The Linux Kernel Module Programming Guide
    The Linux Kernel Module Programming Guide Peter Jay Salzman Michael Burian Ori Pomerantz Copyright © 2001 Peter Jay Salzman 2007−05−18 ver 2.6.4 The Linux Kernel Module Programming Guide is a free book; you may reproduce and/or modify it under the terms of the Open Software License, version 1.1. You can obtain a copy of this license at http://opensource.org/licenses/osl.php. This book is distributed in the hope it will be useful, but without any warranty, without even the implied warranty of merchantability or fitness for a particular purpose. The author encourages wide distribution of this book for personal or commercial use, provided the above copyright notice remains intact and the method adheres to the provisions of the Open Software License. In summary, you may copy and distribute this book free of charge or for a profit. No explicit permission is required from the author for reproduction of this book in any medium, physical or electronic. Derivative works and translations of this document must be placed under the Open Software License, and the original copyright notice must remain intact. If you have contributed new material to this book, you must make the material and source code available for your revisions. Please make revisions and updates available directly to the document maintainer, Peter Jay Salzman <[email protected]>. This will allow for the merging of updates and provide consistent revisions to the Linux community. If you publish or distribute this book commercially, donations, royalties, and/or printed copies are greatly appreciated by the author and the Linux Documentation Project (LDP).
    [Show full text]
  • Interrupt Handling in Linux
    Department Informatik Technical Reports / ISSN 2191-5008 Valentin Rothberg Interrupt Handling in Linux Technical Report CS-2015-07 November 2015 Please cite as: Valentin Rothberg, “Interrupt Handling in Linux,” Friedrich-Alexander-Universitat¨ Erlangen-Nurnberg,¨ Dept. of Computer Science, Technical Reports, CS-2015-07, November 2015. Friedrich-Alexander-Universitat¨ Erlangen-Nurnberg¨ Department Informatik Martensstr. 3 · 91058 Erlangen · Germany www.cs.fau.de Interrupt Handling in Linux Valentin Rothberg Distributed Systems and Operating Systems Dept. of Computer Science, University of Erlangen, Germany [email protected] November 8, 2015 An interrupt is an event that alters the sequence of instructions executed by a processor and requires immediate attention. When the processor receives an interrupt signal, it may temporarily switch control to an inter- rupt service routine (ISR) and the suspended process (i.e., the previously running program) will be resumed as soon as the interrupt is being served. The generic term interrupt is oftentimes used synonymously for two terms, interrupts and exceptions [2]. An exception is a synchronous event that occurs when the processor detects an error condition while executing an instruction. Such an error condition may be a devision by zero, a page fault, a protection violation, etc. An interrupt, on the other hand, is an asynchronous event that occurs at random times during execution of a pro- gram in response to a signal from hardware. A proper and timely handling of interrupts is critical to the performance, but also to the security of a computer system. In general, interrupts can be emitted by hardware as well as by software. Software interrupts (e.g., via the INT n instruction of the x86 instruction set architecture (ISA) [5]) are means to change the execution context of a program to a more privileged interrupt context in order to enter the kernel and, in contrast to hardware interrupts, occur synchronously to the currently running program.
    [Show full text]
  • Windows NT Architecture Previous Screen Gilbert Held Payoff Windows NT Is a Sophisticated Operating System for Workstations and Network Servers
    50-30-19 Windows NT Architecture Previous screen Gilbert Held Payoff Windows NT is a sophisticated operating system for workstations and network servers. This article helps network managers to understand the communications capability of workstations and servers running on Windows NT, and data base administrators to determine the suitability of this platform for a structured query language (SQL) data base server. Introduction Windows NT is a 32-bit, preemptive multitasking operating system that includes comprehensive networking capabilities and several levels of security. Microsoft markets two version of Windows NT: one for workstations—appropriately named Windows NT Workstation—and a second for servers—Windows NT Server. This article, which describes the workings of the NT architecture, collectively references both versions as Windows NT when information is applicable to both versions of the operating system. Similarly, it references a specific version of the operating system when the information presented is specific to either Windows NT Workstation or Windows NT Server. Architecture Windows NT consists of nine basic modules. The relationship of those modules to one another, as well as to the hardware platform on which the operating system runs, is illustrated in Exhibit 1. Windows NT Core Modules Hardware Abstraction Layer The hardware abstraction layer (HAL) is located directly above the hardware on which Windows NT operates. HAL actually represents a software module developed by hardware manufacturers that is bundled into Windows NT to allow it to operate on a specific hardware platform, such as Intel X86, DEC Alpha, or IBM PowerPC. HAL hides the specifics of the hardware platform from the rest of the operating system and represents the lowest level of Windows NT.
    [Show full text]
  • Mobile Systems
    CS 318 Principles of Operating Systems Fall 2017 Lecture 21: Mobile Systems Ryan Huang 11/30/17 CS 318 – Lecture 21 – Mobile Systems 2 Apply the security update immedidately! CS 318 – Lecture 21 – Mobile Systems Administrivia • Lab 4 deadline one week away • Groups of 2 students receive 2-day extra late hour • Groups of 3 students with 1 318 section student receive 1-day extra late-hour • Please, please don’t cheat • Homework 5 is released 11/30/17 CS 318 – Lecture 21 – Mobile Systems 4 Mobile Devices Become Ubiquitous Worldwide Devices Shipments by Device Type (Millions of Units) 3000 2500 2000 1500 1806.96 1879 1910 1959 1000 500 Google Nexus 6P 209.79 226 196 195 296.13 277 246 232 0 2013 2014 2015 2016 Traditional PCs Ultramobiles (Premium) Ultramobiles (Basic and Utility) Mobile Phones 5 History of Mobile OS (1) • Early “smart” devices are PDAs (touchscreen, Internet) • Symbian, first modern mobile OS - released in 2000 - run in Ericsson R380, the first ‘smartphone’ (mobile phone + PDA) - only support proprietary programs 11/30/17 CS 318 – Lecture 21 – Mobile Systems 6 History of Mobile OS (2) • Many smartphone and mobile OSes followed up - Kyocera 6035 running Palm OS (2001) • 8 MB non-expandable memory - Windows CE (2002) - Blackberry (2002) • was a prominent vendor • known for secure communications - Moto Q (2005) - Nokia N70 (2005) • 2-megapixel camera, bluetooth • 32 MB memory • Symbian OS • Java games 11/30/17 CS 318 – Lecture 21 – Mobile Systems 7 One More Thing… • Introduction of iPhone (2007) - revolutionize the smartphone industry - 4GB flash memory, 128 MB DRAM, multi-touch interface - runs iOS, initially only proprietary apps - App Store opened in 2008, allow third party apps 11/30/17 CS 318 – Lecture 21 – Mobile Systems 8 Android – An Unexpected Rival of iPhone • Android Inc.
    [Show full text]
  • Examining the Viability of MINIX 3 As a Consumer Operating
    Examining the Viability of MINIX 3 as a Consumer Operating System Joshua C. Loew March 17, 2016 Abstract The developers of the MINIX 3 operating system (OS) believe that a computer should work like a television set. You should be able to purchase one, turn it on, and have it work flawlessly for the next ten years [6]. MINIX 3 is a free and open-source microkernel-based operating system. MINIX 3 is still in development, but it is capable of running on x86 and ARM processor architectures. Such processors can be found in computers such as embedded systems, mobile phones, and laptop computers. As a light and simple operating system, MINIX 3 could take the place of the software that many people use every day. As of now, MINIX 3 is not particularly useful to a non-computer scientist. Most interactions with MINIX 3 are done through a command-line interface or an obsolete window manager. Moreover, its tools require some low-level experience with UNIX-like systems to use. This project will examine the viability of MINIX 3 from a performance standpoint to determine whether or not it is relevant to a non-computer scientist. Furthermore, this project attempts to measure how a microkernel-based operating system performs against a traditional monolithic kernel-based OS. 1 Contents 1 Introduction 5 2 Background and Related Work 6 3 Part I: The Frame Buffer Driver 7 3.1 Outline of Approach . 8 3.2 Hardware and Drivers . 8 3.3 Challenges and Strategy . 9 3.4 Evaluation . 10 4 Progress 10 4.1 Compilation and Installation .
    [Show full text]
  • The Xen Port of Kexec / Kdump a Short Introduction and Status Report
    The Xen Port of Kexec / Kdump A short introduction and status report Magnus Damm Simon Horman VA Linux Systems Japan K.K. www.valinux.co.jp/en/ Xen Summit, September 2006 Magnus Damm ([email protected]) Kexec / Kdump Xen Summit, September 2006 1 / 17 Outline Introduction to Kexec What is Kexec? Kexec Examples Kexec Overview Introduction to Kdump What is Kdump? Kdump Kernels The Crash Utility Xen Porting Effort Kexec under Xen Kdump under Xen The Dumpread Tool Partial Dumps Current Status Magnus Damm ([email protected]) Kexec / Kdump Xen Summit, September 2006 2 / 17 Introduction to Kexec Outline Introduction to Kexec What is Kexec? Kexec Examples Kexec Overview Introduction to Kdump What is Kdump? Kdump Kernels The Crash Utility Xen Porting Effort Kexec under Xen Kdump under Xen The Dumpread Tool Partial Dumps Current Status Magnus Damm ([email protected]) Kexec / Kdump Xen Summit, September 2006 3 / 17 Kexec allows you to reboot from Linux into any kernel. as long as the new kernel doesn’t depend on the BIOS for setup. Introduction to Kexec What is Kexec? What is Kexec? “kexec is a system call that implements the ability to shutdown your current kernel, and to start another kernel. It is like a reboot but it is indepedent of the system firmware...” Configuration help text in Linux-2.6.17 Magnus Damm ([email protected]) Kexec / Kdump Xen Summit, September 2006 4 / 17 . as long as the new kernel doesn’t depend on the BIOS for setup. Introduction to Kexec What is Kexec? What is Kexec? “kexec is a system call that implements the ability to shutdown your current kernel, and to start another kernel.
    [Show full text]
  • Microkernels in a Bit More Depth • Early Operating Systems Had Very Little Structure • a Strictly Layered Approach Was Promoted by Dijkstra
    Motivation Microkernels In a Bit More Depth Early operating systems had very little structure A strictly layered approach was promoted by Dijkstra THE Operating System [Dij68] COMP9242 2007/S2 Week 4 Later OS (more or less) followed that approach (e.g., Unix). UNSW Such systems are known as monolithic kernels COMP9242 07S2 W04 1 Microkernels COMP9242 07S2 W04 2 Microkernels Issues of Monolithic Kernels Evolution of the Linux Kernel E Advantages: Kernel has access to everything: all optimisations possible all techniques/mechanisms/concepts implementable Kernel can be extended by adding more code, e.g. for: new services support for new harwdare Problems: Widening range of services and applications OS bigger, more complex, slower, more error prone. Need to support same OS on different hardware. Like to support various OS environments. Distribution impossible to provide all services from same (local) kernel. COMP9242 07S2 W04 3 Microkernels COMP9242 07S2 W04 4 Microkernels Approaches to Tackling Complexity Evolution of the Linux Kernel Part 2 A Classical software-engineering approach: modularity Software-engineering study of Linux kernel [SJW+02]: (relatively) small, mostly self-contained components well-defined interfaces between them Looked at size and interdependencies of kernel "modules" enforcement of interfaces "common coupling": interdependency via global variables containment of faults to few modules Analysed development over time (linearised version number) Doesn't work with monolithic kernels: Result 1:
    [Show full text]
  • Additional Functions in HW-RTOS Offering the Low Interrupt Latency
    HW-RTOS Real Time OS in Hardware Additional Functions in HW-RTOS Offering the Low Interrupt Latency In this white paper, we introduce two HW-RTOS functions that offer the lowest interrupt latency available and help create a more software-friendly environment. One of these is ISR implemented in hardware, which improves responsiveness when activating a task from an interrupt and eliminates the need for developing a handler in software. The other is a function allowing the use of non-OS managed interrupt handlers in a multitasking environment. This makes it easier to migrate from a non-RTOS environment to a multitasking one. R70WP0003EJ0100 September, 2018 2 / 8 Multitasking Environment with Lowest Interrupt Latency Offered by HW-RTOS 1. Executive Summary In this white paper, we introduce two functions special to HW-RTOS that improve interrupt performance. The first is the HW ISR function. Renesas stylized the ISR (Interrupt Service Routine) process and implemented it in hardware to create their HW ISR. With this function, the task corresponding to the interrupt signal can be activated directly and in real time. And, since the ISR is implemented in the hardware, application software engineers are relieved of the burden of developing a handler. The second is called Direct Interrupt Service. This function is equivalent to allowing a non-OS managed interrupt handler to invoke an API. This function %" "$# $""%!$ $ $""%!$!" enables synchronization and communication "$ "$ between the non-OS managed interrupt handler and $($ $($ '$ '$ tasks, a benefit not available in conventional $ $ software. In other words, it allows the use of non-OS # $ % " "$) ) managed interrupt handlers in a multitasking $($ '$ environment.
    [Show full text]
  • Windows Operations Agent User Guide
    Windows Operations Agent User Guide 1.6 VMC-WAD VISUAL Message Center Windows Operations Agent User Guide The software described in this book is furnished under a license agreement and may be used only in accordance with the terms of the agreement. Copyright Notice Copyright © 2013 Tango/04 All rights reserved. Document date: August 2012 Document version: 2.31 Product version: 1.6 No part of this publication may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any language or computer language, in any form or by any means, electronic mechani- cal, magnetic, optical, chemical, manual, or otherwise, without the prior written permission of Tango/04. Trademarks Any references to trademarked product names are owned by their respective companies. Technical Support For technical support visit our web site at www.tango04.com. Tango/04 Computing Group S.L. Avda. Meridiana 358, 5 A-B Barcelona, 08027 Spain Tel: +34 93 274 0051 Table of Contents Table of Contents Table of Contents.............................................................................. iii How to Use this Guide.........................................................................x Chapter 1 Introduction ......................................................................................1 1.1. What You Will Find in this User Guide............................................................2 Chapter 2 Configuration ....................................................................................3 2.1. Monitor Configuration......................................................................................3
    [Show full text]