I/O Device and Drivers
|
|
|
- James Henry
- 9 years ago
- Views:
Transcription
1 COS 318: Operating Systems I/O Device and Drivers Prof. Margaret Martonosi Computer Science Department Princeton University
2 Announcements Project 2 due Tomorrow Oct 19 at noon Precept today is open questions Thur Oct 20: I m out of town: Program Committee meeting for ASPLOS. Translation: All-day meeting in which researchers who have peer-reviewed about 150 paper submissions discuss in person which ~30 should be accepted for publication at the 17 th International Conference on Architectural Support for Programming Languages and Operating Systems Prof. Vivek Pai will teach Midterm Thursday, Oct. 27 during normal class time 2
3 Today s Topics Device controllers Device driver design Synchronous and asynchronous I/O Speaking of I/O: We ve got no time to watch it all here, but check out the Mother of All Demos : (and others) Douglas Engelbart First demo of a mouse. December 9,
4 Input and Output A computer s job is to process data Computation (CPU, cache, and memory) Move data into and out of a system (between I/O devices and memory) Challenges with I/O devices Different categories: storage, networking, displays, etc. Large number of device drivers to support Device drivers run in kernel mode and can crash systems Goals of the OS Provide a generic, consistent, convenient and reliable way to access I/O devices Achieve potential I/O performance in a system 4
5 Revisit Hardware Compute hardware CPU and caches Chipset Memory CPU CPU CPU CPU I/O Hardware I/O bus or interconnect I/O controller or adaptor I/O device Memory I/O bus Two types of I/O devices Programmed I/O (PIO) Direct Memory Access (DMA) Network 5
6 I/O Devices
7 Memory-Mapped I/O (1) Figure 5-2. (a) Separate I/O and memory space. (b) Memory-mapped I/O. (c) Hybrid.
8 Definitions and General Method Overhead CPU time to initiate an operation Latency Time to transfer one byte Overhead + 1 byte reaches destination Bandwidth Rate of I/O transfer, once initiated Mbytes/sec General method Abstraction of byte transfers Batch transfers into block I/O for efficiency to prorate overhead and latency over a large unit Initiate Data transfer 8
9 Programmed Input Device Device controller Status register ready: if the host is done busy: if the controller is done int: interrupt Data registers A simple mouse design Put (X, Y) in data registers on a move Interrupt Input on an interrupt Read values in X, Y registers Set ready bit Wake up a process/thread or execute a piece of code 9
10 Programmed Output Device Device Status registers (ready, busy, ) Example Data registers A serial output device Perform an output Wait until ready bit is clear Poll the busy bit Writes the data to register(s) Set ready bit Controller sets busy bit and transfers data Controller clears the ready bit and busy bit 10
11 Direct Memory Access (DMA) Figure 5-4. Operation of a DMA transfer.
12 Direct Memory Access (DMA) DMA controller or adaptor Status register (ready, busy, interrupt, ) DMA command register DMA register (address, size) DMA buffer Host CPU initiates DMA Device driver call (kernel mode) Wait until DMA device is free Initiate a DMA transaction (command, memory address, size) Block Controller performs DMA DMA data to device (size--; address++) Interrupt on completion (size == 0) Interrupt handler (on completion) Wakeup the blocked process 12
13 Today s Topics Device controllers Device driver design Synchronous and asynchronous I/O 13
14 I/O Software Stack User-Level I/O Software Device-Independent OS software Device Drivers Interrupt handlers Hardware 14
15 Uniform Interfacing for Device Drivers Distinct devices may have classes of similar behavior (a) Without vs. (b) with a standard driver interface.
16 Recall Interrupt Handling Save context Mask interrupts if needed Set up a context for interrupt service Set up a stack for interrupt service Acknowledge the interrupt controller, enable it if needed Save entire context to PCB Run the interrupt service Unmask interrupts if needed Possibly change the priority of the process Run the scheduler 16
17 Device Drivers Device Device controller Device driver Device Device Device Device controller. Device controller Interrupt Handling Device driver. Device driver I/O System Rest of the operating system 17
18 A Typical Device Driver Design Operating system and driver communication Commands and data between OS and device drivers Driver and hardware communication Commands and data between driver and hardware Driver operations Initialize devices Interpreting commands from OS Schedule multiple outstanding requests Manage data transfers Accept and process interrupts Maintain the integrity of driver and kernel data structures 18
19 Device Driver Interface Open( devicenumber ) Initialization and allocate resources (buffers) Close( devicenumber ) Cleanup, deallocate, and possibly turnoff Device driver types Block: fixed sized block data transfer Character: variable sized data transfer Terminal: character driver with terminal control Network: streams for networking 19
20 Character and Block Device Interfaces Character device interface read( devicenumber, bufferaddr, size ) Reads size bytes from a byte stream device to bufferaddr write( devicenumber, bufferaddr, size ) Write size bytes from bufferaddr to a byte stream device Block device interface read( devicenumber, deviceaddr, bufferaddr ) Transfer a block of data from deviceaddr to bufferaddr write( devicenumber, deviceaddr, bufferaddr ) Transfer a block of data from bufferaddr to deviceaddr seek( devicenumber, deviceaddress ) Move the head to the correct position Usually not necessary 20
21 Unix Device Driver Interface Entry Points init() Initialize hardware start() Boot time initialization (require system services) open(dev, flag, id) and close(dev, flag, id) halt() Initialization resources for read or write, and release afterwards Call before the system is shutdown intr(vector) Called by the kernel on a hardware interrupt read( ) and write() calls Data transfer poll(pri) Called by the kernel 25 to 100 times a second ioctl(dev, cmd, arg, mode) special request processing 21
22 Today s Topics Device controllers Device driver design Synchronous and asynchronous I/O 22
23 Synchronous vs. Asynchronous I/O Synchronous I/O read() or write() will block a user process until its completion OS overlaps synchronous I/O with another process Asynchronous I/O read() or write() will not block a user process the user process can do other things before I/O completion I/O completion will notify the user process 23
24 Detailed Steps of Blocked Read A process issues a read call which executes a system call System call code checks for correctness and buffer cache If it needs to perform I/O, it will issues a device driver call Device driver allocates a buffer for read and schedules I/O Controller performs DMA data transfer Block the current process and schedule a ready process Device generates an interrupt on completion Interrupt handler stores any data and notifies completion Move data from kernel buffer to user buffer Wakeup blocked process (make it ready) User process continues when it is scheduled to run 24
25 Asynchronous I/O API Non-blocking read() and write() Status checking call Notification call Different form the synchronous I/O API Implementation On a write Copy to a system buffer, initiate the write and return Interrupt on completion or check status On a read Copy data from a system buffer if the data is there Otherwise, return with a special status 25
26 Why Buffering? Speed mismatch between the producer and consumer Character device and block device, for example Adapt different data transfer sizes (packets vs. streams) Deal with address translation I/O devices see physical memory User programs use virtual memory Spooling Avoid deadlock problems Caching Avoid I/O operations 26
27 Think About Performance A terminal connects to computer via a serial line Type character and get characters back to display RS-232 is bit serial: start bit, character code, stop bit (9600 baud) Do we have any cycles left? 10 users or 10 modems 900 interrupts/sec per user What should the overhead of an interrupt be Technique to minimize interrupt overhead Interrupt coalescing 27
28 Other Design Issues Build device drivers Statically A new device driver requires reboot OS Dynamically Download a device driver without rebooting OS Almost every modern OS has this capability How to down load device driver dynamically? Load drivers into kernel memory Install entry points and maintain related data structures Initialize the device drivers 28
29 Dynamic Binding: Indirection Open( 1, ); Indirect table Interrupt handlers Other Kernel services Driver-kernel interface Driver for device 1 open( ) { } read( ) { } Driver for device 0 open( ) { } read( ) { } 29
30 Issues with Device Drivers Flexible for users, ISVs and IHVs Users can download and install device drivers Vendors can work with open hardware platforms Dangerous methods Device drivers run in kernel mode Bad device drivers can cause kernel crashes and introduce security holes Progress on making device driver more secure Checking device driver codes Build state machines for device drivers 30
31 Summary Device controllers Programmed I/O is simple but inefficient DMA is efficient (asynchronous) and complex Device drivers Dominate the code size of OS Dynamic binding is desirable for desktops or laptops Device drivers can introduce security holes Progress on secure code for device drivers but completely removing device driver security is still an open problem 31
COS 318: Operating Systems. I/O Device and Drivers. Input and Output. Definitions and General Method. Revisit Hardware
COS 318: Operating Systems I/O and Drivers Input and Output A computer s job is to process data Computation (, cache, and memory) Move data into and out of a system (between I/O devices and memory) Challenges
Have both hardware and software. Want to hide the details from the programmer (user).
Input/Output Devices Chapter 5 of Tanenbaum. Have both hardware and software. Want to hide the details from the programmer (user). Ideally have the same interface to all devices (device independence).
Devices and Device Controllers
I/O 1 Devices and Device Controllers network interface graphics adapter secondary storage (disks, tape) and storage controllers serial (e.g., mouse, keyboard) sound co-processors... I/O 2 Bus Architecture
1. Computer System Structure and Components
1 Computer System Structure and Components Computer System Layers Various Computer Programs OS System Calls (eg, fork, execv, write, etc) KERNEL/Behavior or CPU Device Drivers Device Controllers Devices
I/O. Input/Output. Types of devices. Interface. Computer hardware
I/O Input/Output One of the functions of the OS, controlling the I/O devices Wide range in type and speed The OS is concerned with how the interface between the hardware and the user is made The goal in
CS161: Operating Systems
CS161: Operating Systems Matt Welsh [email protected] Lecture 2: OS Structure and System Calls February 6, 2007 1 Lecture Overview Protection Boundaries and Privilege Levels What makes the kernel different
Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
Introduction. What is an Operating System?
Introduction What is an Operating System? 1 What is an Operating System? 2 Why is an Operating System Needed? 3 How Did They Develop? Historical Approach Affect of Architecture 4 Efficient Utilization
Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu
Introduction to Operating Systems Indiana University Chen Yu Perspective of the Computer System Software A general piece of software with common functionalities that support many applications. Example:
CSC 2405: Computer Systems II
CSC 2405: Computer Systems II Spring 2013 (TR 8:30-9:45 in G86) Mirela Damian http://www.csc.villanova.edu/~mdamian/csc2405/ Introductions Mirela Damian Room 167A in the Mendel Science Building [email protected]
Lesson Objectives. To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization
Lesson Objectives To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization AE3B33OSD Lesson 1 / Page 2 What is an Operating System? A
Chapter 11 I/O Management and Disk Scheduling
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 11 I/O Management and Disk Scheduling Dave Bremer Otago Polytechnic, NZ 2008, Prentice Hall I/O Devices Roadmap Organization
Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
Chapter 11: Input/Output Organisation. Lesson 06: Programmed IO
Chapter 11: Input/Output Organisation Lesson 06: Programmed IO Objective Understand the programmed IO mode of data transfer Learn that the program waits for the ready status by repeatedly testing the status
Chapter 2: OS Overview
Chapter 2: OS Overview CmSc 335 Operating Systems 1. Operating system objectives and functions Operating systems control and support the usage of computer systems. a. usage users of a computer system:
Operating System Structures
Operating System Structures Meelis ROOS [email protected] Institute of Computer Science Tartu University fall 2009 Literature A. S. Tanenbaum. Modern Operating Systems. 2nd ed. Prentice Hall. 2001. G. Nutt.
OPERATING SYSTEMS STRUCTURES
S Jerry Breecher 2: OS Structures 1 Structures What Is In This Chapter? System Components System Calls How Components Fit Together Virtual Machine 2: OS Structures 2 SYSTEM COMPONENTS These are the pieces
Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.
Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures
Operating Systems 4 th Class
Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science
Operating System Components and Services
Operating System Components and Services Tom Kelliher, CS 311 Feb. 6, 2012 Announcements: From last time: 1. System architecture issues. 2. I/O programming. 3. Memory hierarchy. 4. Hardware protection.
Operating System Overview. Otto J. Anshus
Operating System Overview Otto J. Anshus A Typical Computer CPU... CPU Memory Chipset I/O bus ROM Keyboard Network A Typical Computer System CPU. CPU Memory Application(s) Operating System ROM OS Apps
Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture
Review from last time CS 537 Lecture 3 OS Structure What HW structures are used by the OS? What is a system call? Michael Swift Remzi Arpaci-Dussea, Michael Swift 1 Remzi Arpaci-Dussea, Michael Swift 2
Chapter 3 Operating-System Structures
Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual
ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-17: Memory organisation, and types of memory
ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-17: Memory organisation, and types of memory 1 1. Memory Organisation 2 Random access model A memory-, a data byte, or a word, or a double
Operating Systems Design 16. Networking: Sockets
Operating Systems Design 16. Networking: Sockets Paul Krzyzanowski [email protected] 1 Sockets IP lets us send data between machines TCP & UDP are transport layer protocols Contain port number to identify
UNIX Sockets. COS 461 Precept 1
UNIX Sockets COS 461 Precept 1 Clients and Servers Client program Running on end host Requests service E.g., Web browser Server program Running on end host Provides service E.g., Web server GET /index.html
Computer-System Architecture
Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection General System Architecture 2.1 Computer-System Architecture 2.2 Computer-System
An Analysis of Wireless Device Implementations on Universal Serial Bus
An Analysis of Wireless Device Implementations on Universal Serial Bus 6/3/97 Abstract Universal Serial Bus (USB) is a new personal computer (PC) interconnect that can support simultaneous attachment of
Computer Systems Structure Input/Output
Computer Systems Structure Input/Output Peripherals Computer Central Processing Unit Main Memory Computer Systems Interconnection Communication lines Input Output Ward 1 Ward 2 Examples of I/O Devices
Chapter 6, The Operating System Machine Level
Chapter 6, The Operating System Machine Level 6.1 Virtual Memory 6.2 Virtual I/O Instructions 6.3 Virtual Instructions For Parallel Processing 6.4 Example Operating Systems 6.5 Summary Virtual Memory General
Chapter 1 Computer System Overview
Operating Systems: Internals and Design Principles Chapter 1 Computer System Overview Eighth Edition By William Stallings Operating System Exploits the hardware resources of one or more processors Provides
Device Drivers: Their Function in an Operating System
Device Drivers: Their Function in an Operating System Robert Milton Underwood, Jr. 2000 Robert Milton Underwood, Jr. Page 2 2000 Device Drivers: Their Function in an Operating System A device driver is
I/O Management. General Computer Architecture. Goals for I/O. Levels of I/O. Naming. I/O Management. COMP755 Advanced Operating Systems 1
General Computer Architecture I/O Management COMP755 Advanced Operating Systems Goals for I/O Users should access all devices in a uniform manner. Devices should be named in a uniform manner. The OS, without
Chapter 2 System Structures
Chapter 2 System Structures Operating-System Structures Goals: Provide a way to understand an operating systems Services Interface System Components The type of system desired is the basis for choices
Resource Utilization of Middleware Components in Embedded Systems
Resource Utilization of Middleware Components in Embedded Systems 3 Introduction System memory, CPU, and network resources are critical to the operation and performance of any software system. These system
Virtual vs Physical Addresses
Virtual vs Physical Addresses Physical addresses refer to hardware addresses of physical memory. Virtual addresses refer to the virtual store viewed by the process. virtual addresses might be the same
Page 1 of 5. IS 335: Information Technology in Business Lecture Outline Operating Systems
Lecture Outline Operating Systems Objectives Describe the functions and layers of an operating system List the resources allocated by the operating system and describe the allocation process Explain how
Lecture 1 Operating System Overview
Lecture 1 Operating System Overview What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. The Major Objectives of an Operating system
Device Management Functions
REAL TIME OPERATING SYSTEMS Lesson-6: Device Management Functions 1 1. Device manager functions 2 Device Driver ISRs Number of device driver ISRs in a system, Each device or device function having s a
Outline: Operating Systems
Outline: Operating Systems What is an OS OS Functions Multitasking Virtual Memory File Systems Window systems PC Operating System Wars: Windows vs. Linux 1 Operating System provides a way to boot (start)
Operating Systems: Basic Concepts and History
Introduction to Operating Systems Operating Systems: Basic Concepts and History An operating system is the interface between the user and the architecture. User Applications Operating System Hardware Virtual
Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines Operating System Concepts 3.1 Common System Components
Web Server Architectures
Web Server Architectures CS 4244: Internet Programming Dr. Eli Tilevich Based on Flash: An Efficient and Portable Web Server, Vivek S. Pai, Peter Druschel, and Willy Zwaenepoel, 1999 Annual Usenix Technical
Network Attached Storage. Jinfeng Yang Oct/19/2015
Network Attached Storage Jinfeng Yang Oct/19/2015 Outline Part A 1. What is the Network Attached Storage (NAS)? 2. What are the applications of NAS? 3. The benefits of NAS. 4. NAS s performance (Reliability
Operating System Components
Lecture Overview Operating system software introduction OS components OS services OS structure Operating Systems - April 24, 2001 Operating System Components Process management Memory management Secondary
OPERATING SYSTEM SERVICES
OPERATING SYSTEM SERVICES USER INTERFACE Command line interface(cli):uses text commands and a method for entering them Batch interface(bi):commands and directives to control those commands are entered
Computer Organization & Architecture Lecture #19
Computer Organization & Architecture Lecture #19 Input/Output The computer system s I/O architecture is its interface to the outside world. This architecture is designed to provide a systematic means of
Plug and Play for Windows 2000
Operating System Plug and Play for Windows 2000 White Paper Abstract This paper describes the Microsoft Windows 2000 operating system implementation of Plug and Play. Plug and Play is one of a number of
Example of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
CPS104 Computer Organization and Programming Lecture 18: Input-Output. Robert Wagner
CPS104 Computer Organization and Programming Lecture 18: Input-Output Robert Wagner cps 104 I/O.1 RW Fall 2000 Outline of Today s Lecture The I/O system Magnetic Disk Tape Buses DMA cps 104 I/O.2 RW Fall
SYSTEM ecos Embedded Configurable Operating System
BELONGS TO THE CYGNUS SOLUTIONS founded about 1989 initiative connected with an idea of free software ( commercial support for the free software ). Recently merged with RedHat. CYGNUS was also the original
COS 318: Operating Systems. Virtual Machine Monitors
COS 318: Operating Systems Virtual Machine Monitors Kai Li and Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall13/cos318/ Introduction u Have
Linux Driver Devices. Why, When, Which, How?
Bertrand Mermet Sylvain Ract Linux Driver Devices. Why, When, Which, How? Since its creation in the early 1990 s Linux has been installed on millions of computers or embedded systems. These systems may
COMPUTER SCIENCE AND ENGINEERING - Basic Functions and Operational Units - Kevin Skadron, BASIC FUNCTIONS AND OPERATIONAL UNITS
BASIC FUNCTIONS AND OPERATIONAL UNITS Kevin Skadron Department of Computer Science, University of Virginia, USA Keywords: Computers, computer systems, components, hierarchy, memory, mass storage, peripherals,
COS 318: Operating Systems. Virtual Memory and Address Translation
COS 318: Operating Systems Virtual Memory and Address Translation Today s Topics Midterm Results Virtual Memory Virtualization Protection Address Translation Base and bound Segmentation Paging Translation
Scaling Networking Applications to Multiple Cores
Scaling Networking Applications to Multiple Cores Greg Seibert Sr. Technical Marketing Engineer Cavium Networks Challenges with multi-core application performance Amdahl s Law Evaluates application performance
Operating system Dr. Shroouq J.
3 OPERATING SYSTEM STRUCTURES An operating system provides the environment within which programs are executed. The design of a new operating system is a major task. The goals of the system must be well
- An Essential Building Block for Stable and Reliable Compute Clusters
Ferdinand Geier ParTec Cluster Competence Center GmbH, V. 1.4, March 2005 Cluster Middleware - An Essential Building Block for Stable and Reliable Compute Clusters Contents: Compute Clusters a Real Alternative
ENABLING WIRELESS DATA COMMUNICATION IN CONSTRUCTION MANAGEMENT SYSTEM
ENABLING WIRELESS DATA COMMUNICATION IN CONSTRUCTION MANAGEMENT SYSTEM Liu Yanxiang & Yow Kin Choong School of Computer Engineering Nanyang Technological University Nanyang Avenue, Singapore 639798 Keywords:
INPUT/OUTPUT ORGANIZATION
INPUT/OUTPUT ORGANIZATION Accessing I/O Devices I/O interface Input/output mechanism Memory-mapped I/O Programmed I/O Interrupts Direct Memory Access Buses Synchronous Bus Asynchronous Bus I/O in CO and
TCP Servers: Offloading TCP Processing in Internet Servers. Design, Implementation, and Performance
TCP Servers: Offloading TCP Processing in Internet Servers. Design, Implementation, and Performance M. Rangarajan, A. Bohra, K. Banerjee, E.V. Carrera, R. Bianchini, L. Iftode, W. Zwaenepoel. Presented
Operating System Tutorial
Operating System Tutorial OPERATING SYSTEM TUTORIAL Simply Easy Learning by tutorialspoint.com tutorialspoint.com i ABOUT THE TUTORIAL Operating System Tutorial An operating system (OS) is a collection
COS 318: Operating Systems. Virtual Machine Monitors
COS 318: Operating Systems Virtual Machine Monitors Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Introduction Have been around
1B11 Operating Systems. Input/Output and Devices
University Coege London 1B11 Operating Systems Input/Output and s Prof. Steve R Wibur [email protected] Lecture Objectives How do the bits of the I/O story fit together? What is a device driver? 1B11-5
sndio OpenBSD audio & MIDI framework for music and desktop applications
sndio OpenBSD & MIDI framework for music and desktop applications Alexandre Ratchov [email protected] AsiaBSDCon 2010 13 march 2010 A. Ratchov (AsiaBSDCon) OpenBSD and MIDI subsystem 13 march 2010 1 / 31
COMPUTER HARDWARE. Input- Output and Communication Memory Systems
COMPUTER HARDWARE Input- Output and Communication Memory Systems Computer I/O I/O devices commonly found in Computer systems Keyboards Displays Printers Magnetic Drives Compact disk read only memory (CD-ROM)
10.04.2008. Thomas Fahrig Senior Developer Hypervisor Team. Hypervisor Architecture Terminology Goals Basics Details
Thomas Fahrig Senior Developer Hypervisor Team Hypervisor Architecture Terminology Goals Basics Details Scheduling Interval External Interrupt Handling Reserves, Weights and Caps Context Switch Waiting
x64 Servers: Do you want 64 or 32 bit apps with that server?
TMurgent Technologies x64 Servers: Do you want 64 or 32 bit apps with that server? White Paper by Tim Mangan TMurgent Technologies February, 2006 Introduction New servers based on what is generally called
Hardware Based Virtualization Technologies. Elsie Wahlig [email protected] Platform Software Architect
Hardware Based Virtualization Technologies Elsie Wahlig [email protected] Platform Software Architect Outline What is Virtualization? Evolution of Virtualization AMD Virtualization AMD s IO Virtualization
White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux
White Paper Real-time Capabilities for Linux SGI REACT Real-Time for Linux Abstract This white paper describes the real-time capabilities provided by SGI REACT Real-Time for Linux. software. REACT enables
CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study
CS 377: Operating Systems Lecture 25 - Linux Case Study Guest Lecturer: Tim Wood Outline Linux History Design Principles System Overview Process Scheduling Memory Management File Systems A review of what
How To Understand And Understand An Operating System In C Programming
ELEC 377 Operating Systems Thomas R. Dean Instructor Tom Dean Office:! WLH 421 Email:! [email protected] Hours:! Wed 14:30 16:00 (Tentative)! and by appointment! 6 years industrial experience ECE Rep
Exceptions in MIPS. know the exception mechanism in MIPS be able to write a simple exception handler for a MIPS machine
7 Objectives After completing this lab you will: know the exception mechanism in MIPS be able to write a simple exception handler for a MIPS machine Introduction Branches and jumps provide ways to change
Hello, and welcome to this presentation of the STM32 SDMMC controller module. It covers the main features of the controller which is used to connect
Hello, and welcome to this presentation of the STM32 SDMMC controller module. It covers the main features of the controller which is used to connect the CPU to an SD card, MMC card, or an SDIO device.
Chapter 6. 6.1 Introduction. Storage and Other I/O Topics. p. 570( 頁 585) Fig. 6.1. I/O devices can be characterized by. I/O bus connections
Chapter 6 Storage and Other I/O Topics 6.1 Introduction I/O devices can be characterized by Behavior: input, output, storage Partner: human or machine Data rate: bytes/sec, transfers/sec I/O bus connections
Operating System Structures
COP 4610: Introduction to Operating Systems (Spring 2015) Operating System Structures Zhi Wang Florida State University Content Operating system services User interface System calls System programs Operating
Using process address space on the GPU
Using process address space on the GPU Jérôme Glisse September 2013 Jérôme Glisse - Using process address space on the GPU 1/18 Outline Motivation Memory management Hardware solution Software solution
How to design and implement firmware for embedded systems
How to design and implement firmware for embedded systems Last changes: 17.06.2010 Author: Rico Möckel The very beginning: What should I avoid when implementing firmware for embedded systems? Writing code
IOMMU: A Detailed view
12/1/14 Security Level: Security Level: IOMMU: A Detailed view Anurup M. Sanil Kumar D. Nov, 2014 HUAWEI TECHNOLOGIES CO., LTD. Contents n IOMMU Introduction n IOMMU for ARM n Use cases n Software Architecture
Programming Flash Microcontrollers through the Controller Area Network (CAN) Interface
Programming Flash Microcontrollers through the Controller Area Network (CAN) Interface Application te Programming Flash Microcontrollers through the Controller Area Network (CAN) Interface Abstract This
CS3600 SYSTEMS AND NETWORKS
CS3600 SYSTEMS AND NETWORKS NORTHEASTERN UNIVERSITY Lecture 2: Operating System Structures Prof. Alan Mislove ([email protected]) Operating System Services Operating systems provide an environment for
CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson
CS 3530 Operating Systems L02 OS Intro Part 1 Dr. Ken Hoganson Chapter 1 Basic Concepts of Operating Systems Computer Systems A computer system consists of two basic types of components: Hardware components,
Operating System Structure
Operating System Structure Lecture 3 Disclaimer: some slides are adopted from the book authors slides with permission Recap Computer architecture CPU, memory, disk, I/O devices Memory hierarchy Architectural
ELEC 377. Operating Systems. Week 1 Class 3
Operating Systems Week 1 Class 3 Last Class! Computer System Structure, Controllers! Interrupts & Traps! I/O structure and device queues.! Storage Structure & Caching! Hardware Protection! Dual Mode Operation
Operating Systems. 05. Threads. Paul Krzyzanowski. Rutgers University. Spring 2015
Operating Systems 05. Threads Paul Krzyzanowski Rutgers University Spring 2015 February 9, 2015 2014-2015 Paul Krzyzanowski 1 Thread of execution Single sequence of instructions Pointed to by the program
Fastboot Techniques for x86 Architectures. Marcus Bortel Field Application Engineer QNX Software Systems
Fastboot Techniques for x86 Architectures Marcus Bortel Field Application Engineer QNX Software Systems Agenda Introduction BIOS and BIOS boot time Fastboot versus BIOS? Fastboot time Customizing the boot
How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X
(Advanced Topics in) Operating Systems Winter Term 2009 / 2010 Jun.-Prof. Dr.-Ing. André Brinkmann [email protected] Universität Paderborn PC 1 Overview Overview of chapter 3: Case Studies 3.1 Windows Architecture.....3
A Comparison of NVMe and AHCI
A Comparison of NVMe and AHCI Enterprise Storage OCTO Primary Contacts: Don H Walker Version: 1.0 Date Created: 7/31/2012 Page 1 Page 2 Table of Contents NVME AND AHCI... 1 1 INTRODUCTION... 6 2 OVERVIEW...
Violin: A Framework for Extensible Block-level Storage
Violin: A Framework for Extensible Block-level Storage Michail Flouris Dept. of Computer Science, University of Toronto, Canada [email protected] Angelos Bilas ICS-FORTH & University of Crete, Greece
Virtualization in Linux KVM + QEMU
CS695 Topics in Virtualization and Cloud Computing KVM + QEMU Senthil, Puru, Prateek and Shashank 1 Topics covered KVM and QEMU Architecture VTx support CPU virtualization in KMV Memory virtualization
Linux Kernel Architecture
Linux Kernel Architecture Amir Hossein Payberah [email protected] Contents What is Kernel? Kernel Architecture Overview User Space Kernel Space Kernel Functional Overview File System Process Management
Overview of Operating Systems Instructor: Dr. Tongping Liu
Overview of Operating Systems Instructor: Dr. Tongping Liu Thank Dr. Dakai Zhu and Dr. Palden Lama for providing their slides. 1 Lecture Outline Operating System: what is it? Evolution of Computer Systems
CPS221 Lecture: Operating System Structure; Virtual Machines
Objectives CPS221 Lecture: Operating System Structure; Virtual Machines 1. To discuss various ways of structuring the operating system proper 2. To discuss virtual machines Materials: 1. Projectable of
This tutorial will take you through step by step approach while learning Operating System concepts.
About the Tutorial An operating system (OS) is a collection of software that manages computer hardware resources and provides common services for computer programs. The operating system is a vital component
Operating System Organization. Purpose of an OS
Slide 3-1 Operating System Organization Purpose of an OS Slide 3-2 es Coordinate Use of the Abstractions he Abstractions Create the Abstractions 1 OS Requirements Slide 3-3 Provide resource abstractions
C-GEP 100 Monitoring application user manual
C-GEP 100 Monitoring application user manual 1 Introduction: C-GEP is a very versatile platform for network monitoring applications. The ever growing need for network bandwith like HD video streaming and
