Writing Custom SCSI Routines

Size: px
Start display at page:

Download "Writing Custom SCSI Routines"

Transcription

1 Chapter 7 Writing Custom SCSI Routines Tornado Device Driver Workshop Copyright 7-1 Overview of SCSI. Using SCSI devices in a VxWorks Environment. Configuring VxWorks for your SCSI device. Putting Device Specific Commands on the SCSI Bus. Note: This chapter does not include writing a SCSI controller driver.

2 Writing Custom SCSI Routines 7.1 Defining SCSI Configuration Communicating with a SCSI Target Tornado Device Driver Workshop Copyright 7-2 What is SCSI. SCSI Terminology.

3 What is SCSI SCSI VxWorks Application VxWorks SCSI Driver Device 0.. SCSI Device 6 Peripheral 0.. Peripheral 7 Tornado Device Driver Workshop Copyright 7-3 Acronym for Small Computer System Interface. ANSI standard intended to provide device independence. Advantage of SCSI: One controller can talk with multiple devices. SCSI Driver does not need to know how to talk with individual devices, only with SCSI. SCSI device 6 is an example of a controller talking with multiple peripherals. SCSI device 0 is an example of a newer peripheral with a built-in controller.

4 SCSI Bus Bus Id = 6 LUN = 3 Controller Bus Id = 6 Bus Id = 6 VxWorks SCSI Bus Bus Id = 5 LUN = 0 LUN = 5 Tape Initiator Drive Bus Id = 7 Tornado Device Driver Workshop Copyright 7-4 Initiator Target Bus Id LUN Device that invokes or initiates the action. VxWorks currently can be the only initiator on the bus, multiple targets are supported. Device to which request is made, not to be confused with a VxWorks target (which is the initiator in the SCSI world). Also known as the bus address, each device on the bus must have a unique address, addresses range from 0-7. Logical Unit Number - Each bus Id can have up to 8 logical units associated with it (0-7). SCSI Version SCSI-1 and SCSI-2 supported by VxWorks

5 Writing Custom SCSI Routines Defining SCSI 7.2 Configuration Communicating with a SCSI Target Tornado Device Driver Workshop Copyright 7-5 SCSI Data Structures. User Callable Routines. Remainder of chapter deals with on-board SCSI chip and supported controller drivers.

6 VxWorks and SCSI direct access device scsilib SCSI Controller Driver nonaccess direct onboard SCSI Chip Bus SCSI SCSI Target CPU Board Tornado Device Driver Workshop Copyright 7-6 Configure VxWorks to include SCSI or SCSI-2. Initialize data structures describing the physical device (target). For direct access devices, partition device, configure file system, and access device via the file system. For sequential devices with SCSI-2 support, partition device, configure tape file system, and access device via the file system. For non-direct access devices without SCSI-2 support, some further development is required. Direct access devices are the same as block devices.

7 SCSI Configuration Overview Generic SCSI Configuration and Initialization Direct Access Devices Non-Direct Access Devices Tornado Device Driver Workshop Copyright 7-7 The point here is that there is a generic SCSI configuration and initialization issues (generic in the sense that it is regardless of target type) and then two different paths depending on whether the target is a direct access (block) or non-direct access (character or non-block) device.

8 Configuring VxWorks Include SCSI-2 by defining INCLUDE_SCSI2 in wind/ target/config/target/config.h. Include SCSI by defining INCLUDE_SCSI in wind/target/ config/target/config.h. If the BSP includes DMA support, define INCLUDE_SCSI_DMA in wind/target/config/target/ config.h. To automatically locate and configure all the targets on the SCSI bus define SCSI_AUTO_CONFIG in wind/target/ config/target/config.h. Tornado Device Driver Workshop Copyright 7-8 If SCSI_AUTO_CONFIG is defined, scsiautoconfig is called which steps through all possible Bus Id s and LUN s trying to configure them. The most common use of auto configuring is to find out what s out on the bus. It can also be useful from boot code. A table of all the physical devices on the bus is stored in the SCSI_CTRL structure. If auto configuring this table will be initialized with all the physical devices on the SCSI bus (otherwise only the devices explicitly created with scsiphysdevcreate are listed). From boot code, we can then access this table to find out information about the device. If we know the make and model we can search the table for these strings and then access information about the device e.g. bus id or LUN without explicitly having to know the configuration.

9 Initializing SCSI Data Structures SCSI controller specific information Stored in SCSI_CTRL structure. Structure initialized when INCLUDE_SCSI2 or INCLUDE_SCSI defined. Addressed by global pointer psysscsictrl. SCSI target specific information Stored in SCSI_PHYS_DEV structure. Initialized by scsiphysdevcreate( ). Tornado Device Driver Workshop Copyright 7-9 Structures are defined in scsilib.h. psysscsictrl initialized in sysscsiinit() by calling driver specific controller create routine (e.g. wd33c93ctrlcreate()).

10 scsiphysdevcreate(...) Initializes structure for device described by args. Returns a pointer to a SCSI_PHYS_DEV structure or NULL on error. Should be called for each device on the SCSI bus. If not auto configuring, modify default target configuration in usrscsiconfig( ) in wind/target/src/ config/usrscsi.c. Tornado Device Driver Workshop Copyright 7-10

11 scsiphysdevcreate(...) SCSI_PHYS_DEV * scsiphysdevcreate (pscsictrl, devbusid, devlun, reqsenselength, devtype, removable, numblocks, blocksize) pscsictrl devbusid devlun reqsenselength devtype removable numblocks blocksize pointer to SCSI controller info device s SCSI bus Id device s logical unit number length of REQUEST SENSE data device returns type of SCSI device whether medium is removable number of blocks on device size of a block in bytes Tornado Device Driver Workshop Copyright 7-11 Note: The reqsenselength arg was, in older versions/patches, seltimeout which is now a global variable (scsiselecttimeout). ReqSenseLength is the maximum number of bytes the device supplies in response to a REQUEST SENSE command. This command is issued after a SCSI command fails to determine the cause. If set to NULL, VxWorks attempt to determine the value.

12 Direct Access Devices Once logical partition created, use file system initialization routines to set up a particular file system. Access to the SCSI device should be like accessing a file system on any other device. Tornado Device Driver Workshop Copyright 7-12 Calling scsiblkdevcreate( ) to create a logical partition for each random-access device returns a pointer to a control structure used to manage the logical device. Calling, e.g., dosfsdevinit ) initializes a DOS file system for each logical partition. At this point, no further development is necessary.

13 SCSI-2 Sequential Devices Once sequential partition created, use tape file system initialization routines to set up a sequential file system. Access to the SCSI device should be like accessing a file system on any other device. Tornado Device Driver Workshop Copyright 7-13 Calling scsiseqdevcreate( ) to create a logical partition for each sequential block device returns a pointer to a control structure used to manage the device. Calling tapefsdevinit ) initializes a file system for a sequential partition. At this point, no further development is necessary.

14 Modifying usrscsi.c If not auto configuring, modify default target configuration in usrscsiconfig( ) in wind/target/src/ config/usrscsi.c Example modification using usrscsiconfig( ): Configuration Current New busid 2 4 LUN 0 1 File systems 3 2 FS Types DOS DOS (blk size 0x20000) RT-11 Raw (use remainder RT-11 of disk) Tornado Device Driver Workshop Copyright 7-14

15 Code Segment from usrscsiconfig() 1 /* configure Winchester at busid = 2, LUN = 0 */ 2 if ((pspd20 = scsiphysdevcreate (psysscsictrl, 2, 0, 0, NONE, 0, 3 0, 0)) == (SCSI_PHYS_DEV *) NULL) 4 SCSI_DEBUG_MSG ( usrscsiconfig: scsiphysdevcreate 5 failed.\n ); 6 else 7 { 8 /* create block devices */ 9 if (((psbd0 = scsiblkdevcreate (pspd20, 0x10000, 0)) == 10 NULL) 11 ((psbd1 = scsiblkdevcreate (pspd20, 0x10000, 12 0x10000)) == NULL) 13 ((psbd2 = scsiblkdevcreate (pspd20, 0, 0x20000)) == 14 NULL)) 15 { 16 return (ERROR); 17 } Tornado Device Driver Workshop Copyright 7-15 The above code sample is from usrconfig.c for a MV147

16 Code Segment (cont d) 18 if ((dosfsdevinit ( /sd0/, psbd0, NULL) == NULL) 19 (rt11fsdevinit ( /sd1/, psbd1, 0, 256) == NULL) 20 (rt11fsdevinit ( /sd2/, psbd2, 0, 256) == NULL)) 21 { 22 return (ERROR); 23 } 24 } Tornado Device Driver Workshop Copyright 7-16

17 Modifications 1 /* configure Winchester at busid = 4, LUN = 1 */ 2 if ((pspd41 = scsiphysdevcreate (psysscsictrl, 4, 1, 0, NONE, 3 0, 0, 0)) == (SCSI_PHYS_DEV *) NULL) 4 SCSI_DEBUG_MSG ( usrscsiconfig: scsiphysdevcreate 5 failed.\n ); 6 else 7 { 8 /* create block devices */ 9 if (((psbd0 = scsiblkdevcreate (pspd41, 0x20000, 0)) 10 == NULL) 11 ((psbd1 = scsiblkdevcreate (pspd41, 0, 0x20000)) 12 == NULL)) 13 { 14 return (ERROR); 15 } 16 if ((dosfsdevinit ( /sd0/, psbd0, NULL) == NULL) 17 (rawfsdevinit ( /sd1/, psbd1) == NULL)) 18 { 19 return (ERROR); 20 } 21 } Tornado Device Driver Workshop Copyright 7-17

18 Debugging Tools From the VxWorks shell, use scsishow( ) to display the targets configured on the SCSI bus. In usrscsiconfig( ) define scsidebug = TRUE to display SCSI debug information. Use the macro SCSI_DEBUG_MSG to log SCSI debugging messages. SCSI_DEBUG_MSG ( mycmd: Error on Device ); Tornado Device Driver Workshop Copyright 7-18 Example: -> scsishow ID LUN VendorId ProductID Rev. Type Blocks BlkSize pscsiphysdev ARCHIVE VIPER R 0 0 0x003cf654 value = 0 = 0x0 scsishow( ) can be used to verify initiator is communicating with target. If target does not appear for scsishow( ), check physical connections, power and cabling. scsishow( ) can also be used to determine the bus id and LUN of targets as well as vender specific information (e.g. Model name and number.) Type is the device type in above ex. 1R indicates removable device

19 Writing Custom SCSI Routines Defining SCSI Configuration 7.3 Communicating with a SCSI Target Tornado Device Driver Workshop Copyright 7-19 Transaction Data Structure. Putting commands on the SCSI Bus.

20 Devices Without File Systems After calling scsiphysdevcreate( ) some additional development may be required. Use scsiioctl( ) to put target unique commands on the SCSI bus. Two types of user interface: Write functions to send command to target that the user can call directly, i.e. a non-standard driver interface. Write an I/O system interface. Tornado Device Driver Workshop Copyright 7-20

21 Putting Commands on the SCSI Bus For commands supported by scsilib, no additional development is required. To transfer commands to a target that are not supported by scsilib: Define command to put on SCSI bus. Build a SCSI transaction data structure describing SCSI transaction. Use scsiioctl( ) to put transaction request on the bus. Tornado Device Driver Workshop Copyright 7-21 See man page on scsilib for which SCSI commands are supported.

22 Defining a Custom Transaction Fields in SCSI_TRANSACTION data structure: cmdaddress cmdlength dataaddress datadirection address of SCSI command length of SCSI command in bytes address of data buffer direction of data transfer datalength length of data buffer in bytes (0= no data) addlengthbyte statusbyte if not equal to NONE, byte number of additional length (see next page) status byte returned from target Tornado Device Driver Workshop Copyright 7-22 cmdaddress is the address of a SCSI_COMMAND data structure typedef UINT8 SCSI_COMMAND [MAX_SCSI_CMD_LENGTH]; First element in array is the command opcode remaining fields are opcode specific. Refer to device s hardware manual for specific commands. Depending on command, data fields in the SCSI_TRANSACTION structure may be used to indicate that there is no data transfer for this command (e.g. a tape rewind). Both the SCSI_TRANSACTION and SCSI_COMMAND structures are defined in scsilib.h addlengthbyte is only used with commands where the target passes data to the initiator and the amount of data passed is device specific. addlengthbyte contains the byte number where the length of data is specified by the device. Low level SCSI routines use this value to determine how much data was passed back. For example the INQUIRY command s length of data is stored in the fifth byte (byte 4).

23 addlengthbyte SCSI_COMMAND. device scsilib SCSI_TRANSACTION addlengthbyte 4.. VxWorks n+4 n vendor unique data n bytes Tornado Device Driver Workshop Copyright 7-23 Some SCSI commands return vendor specific data. When this occurs the amount of data is going to vary from device to device. addlengthbyte indicates which byte position in the data, will give the amount of vendor unique data to follow.

24 Example Read transaction for a viper 150 tape drive: 1 SCSI_TRANSACTION viper150transact; 2 SCSI_COMMAND viper150cmd;... 3 viper150cmd[0]= viper150_opcode_read; 4 viper150cmd[1]= 0x1 /* defined by hardware manual */ 5 viper150cmd[2]= (UINT8)((blksToRead >> 16) & MASK); /* MSB */ 6 viper150cmd[3]= (UINT8)((blksToRead >> 8) & MASK); 7 viper150cmd[4]= (UINT8)(blksToRead & MASK); /* LSB */ 8 viper150cmd[5]= 0; 9 viper150transact.cmdaddress = viper150cmd; 10 viper150transact.cmdlength = 6; 11 viper150transact.dataaddress = (UINT8 *)buffer; 12 viper150transact.direction = READ; 13 viper150transact.datalength = sizeof (buffer); 14 viper150transact.addlengthbyte = NONE; Tornado Device Driver Workshop Copyright 7-24 Opcode stored in viper150cmd[0] determines value of remaining bytes in viper150cmd. This is defined by ANSI standard and described in target s hardware documentation. SCSI_COMMAND is typedef ed as an array of UINT8. The size of the command block depends on the command itself. In scsilib.h the typedef used the maximum size a command block can be.

25 Device Unique Commands To place a command that is not supported by scsilib on the SCSI bus, use: STATUS scsiioctl (pscsiphysdev, command, arg) pscsiphysdev command arg ptr to SCSI device information (note this is not a fd, we are not going through the I/O system) to place SCSI command on bus use FIOSCSICOMMAND for FIOSCSICOMMAND, arg is address of scsitransaction Tornado Device Driver Workshop Copyright 7-25 Example using transaction structure from previous page: if (scsiioctl (ptapephysdev, FIOSCSICOMMAND, &viper150transact) == ERROR) { SCSI_DEBUG_MSG( myinterface: scsiioctl error\n ); return(error): }

26 Custom Interface Build a set of library routines to access device using scsiioctl() Commands for a custom interface are device specific, but may include Rewinding the media Marking an end of file Reading/writing the device Seeking to a particular location on device Tornado Device Driver Workshop Copyright 7-26 Example of a custom interface for a SEEK command 1 STATUS viper150seek (int position) 2 { 3 SCSI_TRANSACTION viper150transact; 4 SCSI_COMMAND viper150cmd; 5 viper150cmd[0]=(uint8)viper150_opcode_seek; 6 viper150cmd[1]=(uint8)0x1; 7 viper150cmd[2]=(uint8)0x0; 8 viper150cmd[3]=(uint8)((position >>8) & MASK ); 9 viper150cmd[4]=(uint8)(position & MASK); 10 viper150cmd[5]=(uint8)0x0; 11 viper150transact.cmdaddress=viper150cmd; 12 viper150transact.cmdlength=6; 13 viper150transact.dataaddress=null; 14 viper150transact.datadirection=none; 15 viper150transact.datalength=0; 16 viper150transact.addlengthbyte=none; 17 if (scsiioctl(ptapephysdev, FIOSCSICOMMAND, &viper150transact) == ERROR) 18 { 19 SCSI_DEBUG_MSG( viper150seek: Seek Error\n ); 20 return(error); 21 } 22 return(ok);

27 SCSI I/O System Interface Conventions xxdevcreate xxopen xxread xxwrite xxioctl Call scsiphysdevcreate() Test if unit is ready, (loop until ready) then issue command to set density of target, if appropriate Build transaction structure for read command and put on SCSI bus Build transaction structure for write command and put on bus Build transaction structures appropriate for device specific commands Tornado Device Driver Workshop Copyright 7-27 For character drivers for which device only writes and reads fixed-size chunks: xxread( ) and xxwrite( ) must buffer any extra data beyond the fixed size blocks. Initialize buffer information on open and write out any remaining data as well as an end of file marker on close. See Appendix A: SCSI Example on page 11.

28 Summary scsiphysdevcreate( ) Direct Access Devices Non-Direct Access Devices scsiblkdevcreate( ) use file system initialization routines to put FS on SCSI block device scsiioctl( ) Tornado Device Driver Workshop Copyright 7-28

Chapter. Overview. Tornado BSP Training Workshop Copyright Wind River Systems 1-1 Wind River Systems

Chapter. Overview. Tornado BSP Training Workshop Copyright Wind River Systems 1-1 Wind River Systems Chapter 1 Overview Tornado BSP Training Workshop Copyright 1-1 Overview 1.1 Integration Issues VxWorks Boot Sequence Tornado Directory Structure Conventions and Validation Tornado BSP Training Workshop

More information

TPMC500-SW-42. VxWorks Device Driver. User Manual. The Embedded I/O Company. 32 Channel 12 Bit ADC. Version 2.0.x. Issue 2.0.

TPMC500-SW-42. VxWorks Device Driver. User Manual. The Embedded I/O Company. 32 Channel 12 Bit ADC. Version 2.0.x. Issue 2.0. The Embedded I/O Company TPMC500-SW-42 VxWorks Device Driver 32 Channel 12 Bit ADC Version 2.0.x User Manual Issue 2.0.0 October 2004 TEWS TECHNOLOGIES GmbH Am Bahnhof 7 e-mail: info@tews.com 25469 Halstenbek

More information

SCSI overview. SCSI domain consists of devices and an SDS

SCSI overview. SCSI domain consists of devices and an SDS SCSI overview SCSI domain consists of devices and an SDS - Devices: host adapters & SCSI controllers - Service Delivery Subsystem connects devices e.g., SCSI bus SCSI-2 bus (SDS) connects up to 8 devices

More information

PEMP ESD2531. I/O and File System. Session Speaker. Deepak V. M.S Ramaiah School of Advanced Studies - Bengaluru

PEMP ESD2531. I/O and File System. Session Speaker. Deepak V. M.S Ramaiah School of Advanced Studies - Bengaluru I/O and File System Session Speaker Deepak V. 1 Session Objectives To understand the concepts of Basic I/O, Standard I/O and formatted I/O in VxWorks VxWorks support for File system types Creating a dosfs

More information

The Peripheral Component Interconnect (PCI) Bus and vxworks

The Peripheral Component Interconnect (PCI) Bus and vxworks The Peripheral Component Interconnect (PCI) Bus and vxworks A Discussion of the implementation of PCI support on Tornado/vxWorks BSPs. Copyright 1984-1999 Wind River Systems Inc. ALL RIGHTS RESERVED. vxworks,

More information

Long-term Information Storage Must store large amounts of data Information stored must survive the termination of the process using it Multiple proces

Long-term Information Storage Must store large amounts of data Information stored must survive the termination of the process using it Multiple proces File systems 1 Long-term Information Storage Must store large amounts of data Information stored must survive the termination of the process using it Multiple processes must be able to access the information

More information

SCSI is often the best choice of bus for high-specification systems. It has many advantages over IDE, these include:

SCSI is often the best choice of bus for high-specification systems. It has many advantages over IDE, these include: 13 SCSI 13.1 Introduction SCSI is often the best choice of bus for high-specification systems. It has many advantages over IDE, these include: A single bus system for up to seven connected devices. It

More information

TPMC821-SW-42. VxWorks Device Driver. User Manual. The Embedded I/O Company. INTERBUS Master G4 PMC. Version 1.4. Issue 1.

TPMC821-SW-42. VxWorks Device Driver. User Manual. The Embedded I/O Company. INTERBUS Master G4 PMC. Version 1.4. Issue 1. The Embedded I/O Company TPMC821-SW-42 VxWorks Device Driver INTERBUS Master G4 PMC Version 1.4 User Manual Issue 1.2 January 2004 TEWS TECHNOLOGIES GmbH Am Bahnhof 7 25469 Halstenbek / Germany Phone:

More information

VME Basics. Appendix. Introduction to the VMEbus Accessing boards across the VMEbus VMEbus interrupt handling

VME Basics. Appendix. Introduction to the VMEbus Accessing boards across the VMEbus VMEbus interrupt handling Appendix E VME Basics Tornado Device Driver Workshop Copyright E-1 Introduction to the VMEbus Accessing boards across the VMEbus VMEbus interrupt handling VME Basics 8.6 VMEbus Addressing VMEbus Interrupts

More information

Null second level LUN (0000h) (LSB) Null third level LUN (0000h) Null fourth level LUN (0000h)

Null second level LUN (0000h) (LSB) Null third level LUN (0000h) Null fourth level LUN (0000h) Date: October 10, 2005 To: T10 Committee (SCSI) From: George Penokie (IBM/Tivoli) Subject: SAM-4: Addressing more than 16384 logical units 1 Overview There are storage subsystems that are exceeding the

More information

File Systems. Todays Plan. Vera Goebel Thomas Plagemann. Department of Informatics University of Oslo

File Systems. Todays Plan. Vera Goebel Thomas Plagemann. Department of Informatics University of Oslo File Systems Vera Goebel Thomas Plagemann 2014 Department of Informatics University of Oslo Todays Plan 2 1! Long-term Information Storage 1. Must store large amounts of data 2. Information stored must

More information

CS330: Operating System and Lab. (Spring 2006) I/O Systems

CS330: Operating System and Lab. (Spring 2006) I/O Systems CS330: Operating System and Lab. (Spring 2006) I/O Systems Today s Topics Block device vs. Character device Direct I/O vs. Memory-mapped I/O Polling vs. Interrupts Programmed I/O vs. DMA Blocking vs. Non-blocking

More information

File System: Interface and Implmentation

File System: Interface and Implmentation File System: Interface and Implmentation Two Parts Filesystem Interface Interface the user sees Organization of the files as seen by the user Operations defined on files Properties that can be read/modified

More information

VxWorks Driver Installation

VxWorks Driver Installation VxWorks Driver Installation Document: CTI_SIO_Install Revision: 1.01 Date: January 4, 2010 VxWorks Driver Installation 2 of 16 VxWorks Driver Installation 1. HISTORY... 3 2. HARDWARE REQUIREMENTS... 4

More information

ML410 VxWorks BSP and System Image Creation for the BSB Design Using EDK 8.2i SP1. April

ML410 VxWorks BSP and System Image Creation for the BSB Design Using EDK 8.2i SP1. April ML410 VxWorks BSP and System Image Creation for the BSB Design Using EDK 8.2i SP1 April 2007 Overview Hardware Setup Software Setup & Requirements Generate VxWorks BSP Create VxWorks Project Create VxWorks

More information

CISS Command Interface for SCSI-3 Support Open Specification

CISS Command Interface for SCSI-3 Support Open Specification CISS Command Interface for SCSI-3 Support Open Specification Version 1.04 Valence Number 1 11/27/00 Page 1 of 48 Version Date Changes 1.04 11/27/00 Introduced Open version of CISS specification. COMPAQ

More information

File Systems. Todays Plan

File Systems. Todays Plan File Systems Thomas Plagemann University of Oslo (includes slides from: Carsten Griwodz, Pål Halvorsen, Kai Li, Andrew Tanenbaum, Maarten van Steen) Todays Plan 2 1 Long-term Information Storage 1. Must

More information

VxWorks Device Driver Developer's Guide, 6.7. VxWorks. DEVICE DRIVER DEVELOPER'S GUIDE Volume 1: Fundamentals of Writing Device Drivers 6.

VxWorks Device Driver Developer's Guide, 6.7. VxWorks. DEVICE DRIVER DEVELOPER'S GUIDE Volume 1: Fundamentals of Writing Device Drivers 6. VxWorks Device Driver Developer's Guide, 6.7 VxWorks DEVICE DRIVER DEVELOPER'S GUIDE Volume 1: Fundamentals of Writing Device Drivers 6.7 Copyright 2008 Wind River Systems, Inc. All rights reserved. No

More information

VxWorks Device Driver Developer's Guide, 6.7. VxWorks. DEVICE DRIVER DEVELOPER'S GUIDE Volume 2: Writing Class-Specific Device Drivers 6.

VxWorks Device Driver Developer's Guide, 6.7. VxWorks. DEVICE DRIVER DEVELOPER'S GUIDE Volume 2: Writing Class-Specific Device Drivers 6. VxWorks Device Driver Developer's Guide, 6.7 VxWorks DEVICE DRIVER DEVELOPER'S GUIDE Volume 2: Writing Class-Specific Device Drivers 6.7 Copyright 2008 Wind River Systems, Inc. All rights reserved. No

More information

COSC 243. Input / Output. Lecture 13 Input/Output. COSC 243 (Computer Architecture)

COSC 243. Input / Output. Lecture 13 Input/Output. COSC 243 (Computer Architecture) COSC 243 Input / Output 1 Introduction This Lecture Source: Chapter 7 (10 th edition) Next Lecture (until end of semester) Zhiyi Huang on Operating Systems 2 Memory RAM Random Access Memory Read / write

More information

Spring 2017 :: CSE 506. Device Programming. Nima Honarmand

Spring 2017 :: CSE 506. Device Programming. Nima Honarmand Device Programming Nima Honarmand read/write interrupt read/write Spring 2017 :: CSE 506 Device Interface (Logical View) Device Interface Components: Device registers Device Memory DMA buffers Interrupt

More information

Module 11: I/O Systems

Module 11: I/O Systems Module 11: I/O Systems Reading: Chapter 13 Objectives Explore the structure of the operating system s I/O subsystem. Discuss the principles of I/O hardware and its complexity. Provide details on the performance

More information

Last class: Today: Course administration OS definition, some history. Background on Computer Architecture

Last class: Today: Course administration OS definition, some history. Background on Computer Architecture 1 Last class: Course administration OS definition, some history Today: Background on Computer Architecture 2 Canonical System Hardware CPU: Processor to perform computations Memory: Programs and data I/O

More information

Chapter 5 Input/Output

Chapter 5 Input/Output Chapter 5 Input/Output 5.1 Principles of I/O hardware 5.2 Principles of I/O software 5.3 I/O software layers 5.4 Disks 5.5 Clocks 5.6 Character-oriented terminals 5.7 Graphical user interfaces 5.8 Network

More information

CS333 Intro to Operating Systems. Jonathan Walpole

CS333 Intro to Operating Systems. Jonathan Walpole CS333 Intro to Operating Systems Jonathan Walpole File Systems Why Do We Need a File System? Must store large amounts of data Data must survive the termination of the process that created it Called persistence

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2018 Lecture 22 File Systems Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 Disk Structure Disk can

More information

CHAPTER 11: IMPLEMENTING FILE SYSTEMS (COMPACT) By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

CHAPTER 11: IMPLEMENTING FILE SYSTEMS (COMPACT) By I-Chen Lin Textbook: Operating System Concepts 9th Ed. CHAPTER 11: IMPLEMENTING FILE SYSTEMS (COMPACT) By I-Chen Lin Textbook: Operating System Concepts 9th Ed. File-System Structure File structure Logical storage unit Collection of related information File

More information

Proposal for Storage and Access of Data on Media Auxiliary Memory

Proposal for Storage and Access of Data on Media Auxiliary Memory Proposal for Storage and Access of Data on Media Auxiliary Memory Ian Crighton Hewlett-Packard Revision History Author: Ian Crighton Phone: +44 117 9228339 Location: R&D, Hewlett-Packard Ltd, Bristol,

More information

EIDE Disk Arrays and Its Implement

EIDE Disk Arrays and Its Implement EIDE Disk Arrays and Its Implement Qiong Chen Turku Center for Computer Science, ÅBO Akademi University Turku, Finland Abstract: Along with the information high-speed development, RAID, which has large

More information

ML410 VxWorks Workbench BSP and System Image Creation for the BSB Design Using EDK 8.2i SP2. April

ML410 VxWorks Workbench BSP and System Image Creation for the BSB Design Using EDK 8.2i SP2. April ML410 VxWorks Workbench BSP and System Image Creation for the BSB Design Using EDK 8.2i SP2 April 2007 Overview Hardware Setup Software Setup & Requirements Generate VxWorks BSP Create VxWorks Project

More information

UNIT 4 Device Management

UNIT 4 Device Management UNIT 4 Device Management (A) Device Function. (B) Device Characteristic. (C) Disk space Management. (D) Allocation and Disk scheduling Methods. [4.1] Device Management Functions The management of I/O devices

More information

Chapter 11: File System Implementation. Objectives

Chapter 11: File System Implementation. Objectives Chapter 11: File System Implementation Objectives To describe the details of implementing local file systems and directory structures To describe the implementation of remote file systems To discuss block

More information

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University Che-Wei Chang chewei@mail.cgu.edu.tw Department of Computer Science and Information Engineering, Chang Gung University l Chapter 10: File System l Chapter 11: Implementing File-Systems l Chapter 12: Mass-Storage

More information

Wind River USB for VxWorks 6 Programmer's Guide. Wind River USB for VxWorks 6 PROGRAMMER S GUIDE 2.3

Wind River USB for VxWorks 6 Programmer's Guide. Wind River USB for VxWorks 6 PROGRAMMER S GUIDE 2.3 Wind River USB for VxWorks 6 Programmer's Guide Wind River USB for VxWorks 6 PROGRAMMER S GUIDE 2.3 Copyright 2006 Wind River Systems, Inc. All rights reserved. No part of this publication may be reproduced

More information

ICS-121. VxWORKS DEVICE DRIVER MANUAL

ICS-121. VxWORKS DEVICE DRIVER MANUAL ICS-121 VxWORKS DEVICE DRIVER MANUAL Interactive Circuits And Systems Ltd. February 1999 The information in this manual has been carefully checked and is believed to be reliable; however, no responsibility

More information

High Performance Real-Time Operating Systems

High Performance Real-Time Operating Systems High Performance Real-Time Operating Systems FAT Filesystem User s Guide and Reference Manual Support Copyright Copyright (C) 2013 by SCIOPTA Systems AG All rights reserved No part of this publication

More information

Appendix A Fast!UTIL

Appendix A Fast!UTIL Appendix A Fast!UTIL This appendix is part of the QLogic Corporation manual Hardware Installation Guide for the QLA1xxx Boards (PC0056105-00 E). The QLogic disclaimer and copyright notices for this document

More information

CS 61C: Great Ideas in Computer Architecture. (Brief) Review Lecture

CS 61C: Great Ideas in Computer Architecture. (Brief) Review Lecture CS 61C: Great Ideas in Computer Architecture (Brief) Review Lecture Instructor: Justin Hsia 7/16/2013 Summer 2013 Lecture #13 1 Topic List So Far (1/2) Number Representation Signed/unsigned, Floating Point

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

File Systems. What do we need to know?

File Systems. What do we need to know? File Systems Chapter 4 1 What do we need to know? How are files viewed on different OS s? What is a file system from the programmer s viewpoint? You mostly know this, but we ll review the main points.

More information

C Review. MaxMSP Developers Workshop Summer 2009 CNMAT

C Review. MaxMSP Developers Workshop Summer 2009 CNMAT C Review MaxMSP Developers Workshop Summer 2009 CNMAT C Syntax Program control (loops, branches): Function calls Math: +, -, *, /, ++, -- Variables, types, structures, assignment Pointers and memory (***

More information

OPERATING SYSTEMS. Goals of the Course. This lecture will cover: This Lecture will also cover:

OPERATING SYSTEMS. Goals of the Course. This lecture will cover: This Lecture will also cover: OPERATING SYSTEMS This lecture will cover: Goals of the course Definitions of operating systems Operating system goals What is not an operating system Computer architecture O/S services This Lecture will

More information

TDRV006-SW-42. VxWorks Device Driver. 64 Digital Inputs/Outputs (Bit I/O) Version 4.0.x. User Manual. Issue December 2017

TDRV006-SW-42. VxWorks Device Driver. 64 Digital Inputs/Outputs (Bit I/O) Version 4.0.x. User Manual. Issue December 2017 The Embedded I/O Company TDRV006-SW-42 VxWorks Device Driver 64 Digital Inputs/Outputs (Bit I/O) Version 4.0.x User Manual Issue 4.0.0 December 2017 TEWS TECHNOLOGIES GmbH Am Bahnhof 7 25469 Halstenbek,

More information

tekdxfxsl FibreXtreme I/O Interface

tekdxfxsl FibreXtreme I/O Interface RACEway/RACE++ I/O Controllers tekdxfxsl FibreXtreme I/O Interface User s Manual TEK/TM-32514 13 February 2002 TEK Microsystems has made every effort to ensure that this document is accurate and complete.

More information

TPMC868-SW-42. VxWorks Device Driver. 16 Channel Serial PMC. Version 2.1.x. User Manual. Issue December 2011

TPMC868-SW-42. VxWorks Device Driver. 16 Channel Serial PMC. Version 2.1.x. User Manual. Issue December 2011 The Embedded I/O Company TPMC868-SW-42 VxWorks Device Driver 16 Channel Serial PMC Version 2.1.x User Manual Issue 2.1.0 December 2011 TEWS TECHNOLOGIES GmbH Am Bahnhof 7 25469 Halstenbek, Germany Phone:

More information

Micrel KSZ8852HL Step-by-Step Programmer s Guide

Micrel KSZ8852HL Step-by-Step Programmer s Guide Micrel KSZ8852HL Step-by-Step Version 1.1 October 31, 2013 - Page 1 - Revision History Revision Date Summary of Changes 1.0 10/14/2013 First release. 1.1 10/31/2013 Correct section 2, step 9; section 4.1,

More information

COPYRIGHT DISCLAIMER TRADEMARK NOTICES PART NUMBER REVISION HISTORY CONTACTING TANDBERG DATA CORPORATION

COPYRIGHT DISCLAIMER TRADEMARK NOTICES PART NUMBER REVISION HISTORY CONTACTING TANDBERG DATA CORPORATION VXA-320 (VXA-3) SCSI Reference COPYRIGHT DISCLAIMER TRADEMARK NOTICES Copyright 2008 by Tandberg Data Corporation. All rights reserved. This item and the information contained herein are the property of

More information

Microprocessor & Interfacing Lecture DMA Controller--1

Microprocessor & Interfacing Lecture DMA Controller--1 Microprocessor & Interfacing Lecture 26 8237 DMA Controller--1 E C S D E P A R T M E N T D R O N A C H A R Y A C O L L E G E O F E N G I N E E R I N G Contents Introduction Features Basic Process of DMA

More information

C02: Interrupts and I/O

C02: Interrupts and I/O CISC 7310X C02: Interrupts and I/O Hui Chen Department of Computer & Information Science CUNY Brooklyn College 2/8/2018 CUNY Brooklyn College 1 Von Neumann Computers Process and memory connected by a bus

More information

TRANSPUTER ARCHITECTURE

TRANSPUTER ARCHITECTURE TRANSPUTER ARCHITECTURE What is Transputer? The first single chip computer designed for message-passing parallel systems, in 1980s, by the company INMOS Transistor Computer. Goal was produce low cost low

More information

Segmentation with Paging. Review. Segmentation with Page (MULTICS) Segmentation with Page (MULTICS) Segmentation with Page (MULTICS)

Segmentation with Paging. Review. Segmentation with Page (MULTICS) Segmentation with Page (MULTICS) Segmentation with Page (MULTICS) Review Segmentation Segmentation Implementation Advantage of Segmentation Protection Sharing Segmentation with Paging Segmentation with Paging Segmentation with Paging Reason for the segmentation with

More information

The Device Driver Interface. Input/Output Devices. System Call Interface. Device Management Organization

The Device Driver Interface. Input/Output Devices. System Call Interface. Device Management Organization Input/Output s Slide 5-1 The Driver Interface Slide 5-2 write(); Interface Output Terminal Terminal Printer Printer Disk Disk Input or Terminal Terminal Printer Printer Disk Disk Management Organization

More information

File Systems. File system interface (logical view) File system implementation (physical view)

File Systems. File system interface (logical view) File system implementation (physical view) File Systems File systems provide long-term information storage Must store large amounts of data Information stored must survive the termination of the process using it Multiple processes must be able

More information

The x86 Microprocessors. Introduction. The 80x86 Microprocessors. 1.1 Assembly Language

The x86 Microprocessors. Introduction. The 80x86 Microprocessors. 1.1 Assembly Language The x86 Microprocessors Introduction 1.1 Assembly Language Numbering and Coding Systems Human beings use the decimal system (base 10) Decimal digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Computer systems use the

More information

PCI Server Reference

PCI Server Reference PCI Server Reference RadiSys Corporation 5445 NE Dawson Creek Drive Hillsboro, OR 97124 (503) 615-1100 FAX: (503) 615-1150 www.radisys.com 07-0609-01 December 1999 EPC, irmx, INtime, Inside Advantage,

More information

Universal Serial Bus Device Class Definition for Mass Storage Devices

Universal Serial Bus Device Class Definition for Mass Storage Devices Universal Serial Bus Device Class Definition for Mass Storage Devices 0.90c Draft Revision February 2, 1996 Scope of this Revision The 0.9c release candidate of this definition is intended for industry

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 25 File Systems Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ Q 2 Data and Metadata

More information

Chapter 10: Mass-Storage Systems

Chapter 10: Mass-Storage Systems Chapter 10: Mass-Storage Systems Silberschatz, Galvin and Gagne 2013 Chapter 10: Mass-Storage Systems Overview of Mass Storage Structure Disk Structure Disk Attachment Disk Scheduling Disk Management Swap-Space

More information

SCSI bus: The SCSI cables that connect initiators and targets. 2.2 Architecture of the tape library The tape library includes the following types of c

SCSI bus: The SCSI cables that connect initiators and targets. 2.2 Architecture of the tape library The tape library includes the following types of c User-mode API for Tape Libraries Aram Khalili Computer Science Department University of Maryland Baltimore County 1000 Hilltop Circle Baltimore, MD 21250 akhali1@umbc.edu Abstract Tape libraries are becoming

More information

File Systems: Consistency Issues

File Systems: Consistency Issues File Systems: Consistency Issues File systems maintain many data structures Free list/bit vector Directories File headers and inode structures res Data blocks File Systems: Consistency Issues All data

More information

Chapter 10: Mass-Storage Systems. Operating System Concepts 9 th Edition

Chapter 10: Mass-Storage Systems. Operating System Concepts 9 th Edition Chapter 10: Mass-Storage Systems Silberschatz, Galvin and Gagne 2013 Chapter 10: Mass-Storage Systems Overview of Mass Storage Structure Disk Structure Disk Attachment Disk Scheduling Disk Management Swap-Space

More information

softraid boot Stefan Sperling EuroBSDcon 2015

softraid boot Stefan Sperling EuroBSDcon 2015 softraid boot Stefan Sperling EuroBSDcon 2015 Introduction to softraid OpenBSD s softraid(4) device emulates a host controller which provides a virtual SCSI bus uses disciplines to perform

More information

Instruction Set Architecture of MIPS Processor

Instruction Set Architecture of MIPS Processor CSE 3421/5421: Introduction to Computer Architecture Instruction Set Architecture of MIPS Processor Presentation B Study: 2.1 2.3, 2.4 2.7, 2.10 and Handout MIPS Instructions: 32-bit Core Subset Read:

More information

CSci 4061 Introduction to Operating Systems. Input/Output: High-level

CSci 4061 Introduction to Operating Systems. Input/Output: High-level CSci 4061 Introduction to Operating Systems Input/Output: High-level I/O Topics First, cover high-level I/O Next, talk about low-level device I/O I/O not part of the C language! High-level I/O Hide device

More information

Maintaining the System Software

Maintaining the System Software CHAPTER 7 This chapter describes the tasks required for maintaining the Content Router software: Upgrading the System Software, page 7-1 Recovering the Content Router System Software, page 7-4 Maintaining

More information

Tutorial 1 Microcomputer Fundamentals

Tutorial 1 Microcomputer Fundamentals Tutorial 1 Microcomputer Fundamentals Question 1 What do these acronyms mean? (a) CPU? (b) ROM? (c) EPROM? (d) RWM? (e) RAM? (f) I/O? What role does the CPU play in a computer system? Why is ROM an essential

More information

CS3600 SYSTEMS AND NETWORKS

CS3600 SYSTEMS AND NETWORKS CS3600 SYSTEMS AND NETWORKS NORTHEASTERN UNIVERSITY Lecture 11: File System Implementation Prof. Alan Mislove (amislove@ccs.neu.edu) File-System Structure File structure Logical storage unit Collection

More information

CS3600 SYSTEMS AND NETWORKS

CS3600 SYSTEMS AND NETWORKS CS3600 SYSTEMS AND NETWORKS NORTHEASTERN UNIVERSITY Lecture 9: Mass Storage Structure Prof. Alan Mislove (amislove@ccs.neu.edu) Moving-head Disk Mechanism 2 Overview of Mass Storage Structure Magnetic

More information

Version 1.5 8/10/2010

Version 1.5 8/10/2010 Version 1.5 8/10/2010 - Page 1 - Revision History Revision Date Summary of Changes 1.5 8/10/2010 Change section 2, step 7, 11. Disable ICMP checksum because it is only for non-fragment frame). Added section

More information

TMS470 ARM ABI Migration

TMS470 ARM ABI Migration TMS470 ARM ABI Migration Version Primary Author(s) V0.1 Anbu Gopalrajan V0.2 Anbu Gopalrajan Revision History Description of Version Date Completed Initial Draft 10/29/2006 Added C auto initialization

More information

VxWorks BSP User Guide. Ref: BSPUG0120

VxWorks BSP User Guide. Ref: BSPUG0120 VxWorks BSP User Guide Ref: BSPUG0120 Document reference number BSPUG0120. Copyright 2000 AG Electronics Ltd. This publication is protected by Copyright Law, with all rights reserved. Complete and unmodified

More information

IBM System Storage TS3100 Tape Library and TS3200 Tape Library. Reference. Machine Type 3573 GA

IBM System Storage TS3100 Tape Library and TS3200 Tape Library. Reference. Machine Type 3573 GA IBM System Storage TS3100 Tape Library and TS3200 Tape Library SCSI Reference Machine Type 3573 GA32-0547-01 Second Edition (June 2006) This edition applies to the IBM System Storage TM TS3100 Tape Library

More information

CS 134. Operating Systems. April 8, 2013 Lecture 20. Input/Output. Instructor: Neil Rhodes. Monday, April 7, 14

CS 134. Operating Systems. April 8, 2013 Lecture 20. Input/Output. Instructor: Neil Rhodes. Monday, April 7, 14 CS 134 Operating Systems April 8, 2013 Lecture 20 Input/Output Instructor: Neil Rhodes Hardware How hardware works Operating system layer What the kernel does API What the programmer does Overview 2 kinds

More information

USB Device Development Kit for HT32 Series Microcontrollers

USB Device Development Kit for HT32 Series Microcontrollers USB Device Development Kit for HT32 Series Microcontrollers D/N:AN0309E Introduction The HT32 series USB device development kit provides several components including a HT32 series USB device firmware library,

More information

Data Storage. August 9, Indiana University. Geoffrey Brown, Bryce Himebaugh 2015 August 9, / 19

Data Storage. August 9, Indiana University. Geoffrey Brown, Bryce Himebaugh 2015 August 9, / 19 Data Storage Geoffrey Brown Bryce Himebaugh Indiana University August 9, 2016 Geoffrey Brown, Bryce Himebaugh 2015 August 9, 2016 1 / 19 Outline Bits, Bytes, Words Word Size Byte Addressable Memory Byte

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

1 PROJECT OVERVIEW This project develops a simple file system using an emulated I/O system. The following diagram shows the basic organization:

1 PROJECT OVERVIEW This project develops a simple file system using an emulated I/O system. The following diagram shows the basic organization: runall page 501 PROJECT 5 File System 1 PROJECT OVERVIEW 2 THE INPUT/OUTPUT SYSTEM 3 THE FILE SYSTEM 4 THE PRESENTATION SHELL 5 SUMMARY OF SPECIFIC TASKS 6 IDEAS FOR ADDITIONAL TASKS 1 PROJECT OVERVIEW

More information

20-EECE-4029 Operating Systems Fall, 2015 John Franco

20-EECE-4029 Operating Systems Fall, 2015 John Franco 20-EECE-4029 Operating Systems Fall, 2015 John Franco Final Exam name: Question 1: Processes and Threads (12.5) long count = 0, result = 0; pthread_mutex_t mutex; pthread_cond_t cond; void *P1(void *t)

More information

External Sorting. Why We Need New Algorithms

External Sorting. Why We Need New Algorithms 1 External Sorting All the internal sorting algorithms require that the input fit into main memory. There are, however, applications where the input is much too large to fit into memory. For those external

More information

The following modifications have been made to this version of the DSM specification:

The following modifications have been made to this version of the DSM specification: NVDIMM DSM Interface Revision V1.6 August 9, 2017 The following modifications have been made to this version of the DSM specification: - General o Added two tables of supported Function Ids, Revision Ids

More information

HARDWARE INSTALLATION MANUAL

HARDWARE INSTALLATION MANUAL SCSI Small Computer Systems Interface Host Adapter Card Copyright 1992-96 Western Horizon Technologies HARDWARE INSTALLATION MANUAL INTRODUCTION This manual contains procedures for installing the physical

More information

Secondary Storage (Chp. 5.4 disk hardware, Chp. 6 File Systems, Tanenbaum)

Secondary Storage (Chp. 5.4 disk hardware, Chp. 6 File Systems, Tanenbaum) Secondary Storage (Chp. 5.4 disk hardware, Chp. 6 File Systems, Tanenbaum) Secondary Stora Introduction Secondary storage is the non volatile repository for (both user and system) data and programs. As

More information

Introduction. Secondary Storage. File concept. File attributes

Introduction. Secondary Storage. File concept. File attributes Introduction Secondary storage is the non-volatile repository for (both user and system) data and programs As (integral or separate) part of an operating system, the file system manages this information

More information

03-344r2 SPC-3 SAM-3 Report all initiator and target ports 30 December 2003

03-344r2 SPC-3 SAM-3 Report all initiator and target ports 30 December 2003 To: T10 Technical Committee From: Rob Elliott, HP (elliott@hp.com) Date: 0 December 200 Subject: 0-44r2 SPC- SAM- Report all initiator and target ports Revision history Revision 0 (6 October 200) First

More information

Chapter 12: File System Implementation

Chapter 12: File System Implementation Chapter 12: File System Implementation Silberschatz, Galvin and Gagne 2013 Chapter 12: File System Implementation File-System Structure File-System Implementation Allocation Methods Free-Space Management

More information

Lecture 13 Input/Output (I/O) Systems (chapter 13)

Lecture 13 Input/Output (I/O) Systems (chapter 13) Bilkent University Department of Computer Engineering CS342 Operating Systems Lecture 13 Input/Output (I/O) Systems (chapter 13) Dr. İbrahim Körpeoğlu http://www.cs.bilkent.edu.tr/~korpe 1 References The

More information

PCI-SIG ENGINEERING CHANGE NOTICE

PCI-SIG ENGINEERING CHANGE NOTICE PCI-SIG ENGINEERING CHANGE NOTICE TITLE: UEFI related updates DATE: 7/29/2013 AFFECTED DOCUMENT: PCI Firmware Specification Ver 3.1 SPONSOR: Dong Wei, HP Part I 1. 1. Summary of the Functional Changes

More information

Proposal for Storage and Access of Data on Auxiliary Memory

Proposal for Storage and Access of Data on Auxiliary Memory Proposal for Storage and Access of Data on Auxiliary Memory Revision History Author: Sid Crighton Phone: +44 117 3128339 Location: R&D, Hewlett-Packard Ltd, Bristol, UK Email: ianc@bri.hp.com Version Date

More information

AN Philips LPC2000 CAN driver. Document information

AN Philips LPC2000 CAN driver. Document information Rev. 01 02 March 2006 Application note Document information Info Keywords Abstract Content CAN BUS, MCU, LPC2000, ARM7, SJA1000 This application note describes the CAN controller hardware application programming

More information

CS720 - Operating Systems

CS720 - Operating Systems CS720 - Operating Systems File Systems File Concept Access Methods Directory Structure File System Mounting File Sharing - Protection 1 File Concept Contiguous logical address space Types: Data numeric

More information

Visual Profiler. User Guide

Visual Profiler. User Guide Visual Profiler User Guide Version 3.0 Document No. 06-RM-1136 Revision: 4.B February 2008 Visual Profiler User Guide Table of contents Table of contents 1 Introduction................................................

More information

Outline. Operating Systems: Devices and I/O p. 1/18

Outline. Operating Systems: Devices and I/O p. 1/18 Outline Diversity of I/O devices block and character devices Organization of I/O subsystem of kernel device drivers Common hardware characteristics of device I/O subsystem tasks Operating Systems: Devices

More information

Hardware Installation Guide for the QLA22xx Board Family. Fibre Channel Host Adapter Boards for the PCI Bus

Hardware Installation Guide for the QLA22xx Board Family. Fibre Channel Host Adapter Boards for the PCI Bus Hardware Installation Guide for the QLA22xx Board Family Fibre Channel Host Adapter Boards for the PCI Bus FC0151103-00 E February 6, 2001 QLogic Corporation Information furnished in this manual is believed

More information

04-082r0 SBC-2 Replace Notch and Partition mode page with READ CAPACITY 5 March 2004

04-082r0 SBC-2 Replace Notch and Partition mode page with READ CAPACITY 5 March 2004 To: T10 Technical Committee From: Rob Elliott, HP (elliott@hp.com) Date: 5 March 2004 Subject: 04-082r0 SBC-2 Replace Notch and Partition mode page with READ CAPACITY Revision history Revision 0 (5 March

More information

CS401 - Computer Architecture and Assembly Language Programming Glossary By

CS401 - Computer Architecture and Assembly Language Programming Glossary By CS401 - Computer Architecture and Assembly Language Programming Glossary By absolute address : A virtual (not physical) address within the process address space that is computed as an absolute number.

More information

Chapter 4. File Systems. Part 1

Chapter 4. File Systems. Part 1 Chapter 4 File Systems Part 1 1 Reading Chapter 4: File Systems Chapter 10: Case Study 1: Linux (& Unix) 2 Long-Term Storage of Information Must store large amounts of data Information must survive the

More information

Computer-System Organization (cont.)

Computer-System Organization (cont.) Computer-System Organization (cont.) Interrupt time line for a single process doing output. Interrupts are an important part of a computer architecture. Each computer design has its own interrupt mechanism,

More information

Chapter 11: Implementing File Systems. Operating System Concepts 8 th Edition,

Chapter 11: Implementing File Systems. Operating System Concepts 8 th Edition, Chapter 11: Implementing File Systems, Silberschatz, Galvin and Gagne 2009 Chapter 11: Implementing File Systems File-System Structure File-System Implementation Directory Implementation Allocation Methods

More information

Last 2 Classes: Introduction to Operating Systems & C++ tutorial. Today: OS and Computer Architecture

Last 2 Classes: Introduction to Operating Systems & C++ tutorial. Today: OS and Computer Architecture Last 2 Classes: Introduction to Operating Systems & C++ tutorial User apps OS Virtual machine interface hardware physical machine interface An operating system is the interface between the user and the

More information

Memory. From Chapter 3 of High Performance Computing. c R. Leduc

Memory. From Chapter 3 of High Performance Computing. c R. Leduc Memory From Chapter 3 of High Performance Computing c 2002-2004 R. Leduc Memory Even if CPU is infinitely fast, still need to read/write data to memory. Speed of memory increasing much slower than processor

More information