Writing Custom SCSI Routines
|
|
- Martina Daniels
- 6 years ago
- Views:
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 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 informationTPMC500-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 informationSCSI 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 informationPEMP 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 informationThe 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 informationLong-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 informationSCSI 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 informationTPMC821-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 informationVME 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 informationNull 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 informationFile 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 informationCS330: 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 informationFile 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 informationVxWorks 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 informationML410 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 informationCISS 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 informationFile 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 informationVxWorks 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 informationVxWorks 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 informationCOSC 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 informationSpring 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 informationModule 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 informationLast 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 informationChapter 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 informationCS333 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 informationCS370 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 informationCHAPTER 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 informationProposal 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 informationEIDE 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 informationML410 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 informationUNIT 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 informationChapter 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 informationChe-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 informationWind 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 informationICS-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 informationHigh 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 informationAppendix 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 informationCS 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 informationby 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 informationFile 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 informationC 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 informationOPERATING 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 informationTDRV006-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 informationtekdxfxsl 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 informationTPMC868-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 informationMicrel 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 informationCOPYRIGHT 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 informationMicroprocessor & 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 informationC02: 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 informationTRANSPUTER 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 informationSegmentation 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 informationThe 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 informationFile 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 informationThe 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 informationPCI 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 informationUniversal 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 informationCS370 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 informationChapter 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 informationSCSI 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 informationFile 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 informationChapter 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 informationsoftraid 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 informationInstruction 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 informationCSci 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 informationMaintaining 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 informationTutorial 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 informationCS3600 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 informationCS3600 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 informationVersion 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 informationTMS470 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 informationVxWorks 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 informationIBM 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 informationCS 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 informationUSB 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 informationData 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 informationThe 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 information1 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 information20-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 informationExternal 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 informationThe 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 informationHARDWARE 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 informationSecondary 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 informationIntroduction. 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 information03-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 informationChapter 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 informationLecture 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 informationPCI-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 informationProposal 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 informationAN 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 informationCS720 - 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 informationVisual 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 informationOutline. 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 informationHardware 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 information04-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 informationCS401 - 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 informationChapter 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 informationComputer-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 informationChapter 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 informationLast 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 informationMemory. 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