Project 3 Help Document

Total Page:16

File Type:pdf, Size:1020Kb

Project 3 Help Document Project 3 Help Document Hard disk drive structure Since the FAT32 file system is originally designed for hard disk drives, it is necessary to understand the structure of a hard drive because FAT32 organize data according to the hard drive structure. As an example, FAT32 always allocates space for files in terms of sectors. More information about the hard drive structure can found at this web page linkage http://en.wikipedia.org/wiki/Cylinder-head-sector. The above figure illustrates a simplified structure of a hard disk drive. A sector is a fixed division of a track on a disk. And A cluster is a group of contiguous sectors and basic unit for FAT32 files. The FAT tables in FAT32 provide information about used clusters, reserved clusters, and free clusters. All clusters allocated for a file is organized by FAT tables in a linked list manner . A USB flash drive does not resemble the structure of a hard drive, therefore, the sectors and clusters used in FAT32 on the USB flash drive are only logical concepts used by FAT32 instead of physical structures existing on the USB flash drive. FAT32 USB flash drive layout A USB flash drive formatted with FAT32 consists of four major sections: the boot sector, the FS information sector, FAT tables, and data area. FS Data Region (for Information More reserved File File files and Boot Sector sectors Allocation Allocation directories) ... Sector (FAT32 (optional) Table #1 Table #2 (To end of only) partition or disk) The Reserved sectors, located at the very beginning. The first reserved sector (sector 0) is the Boot Sector (aka Partition Boot Record). For FAT32 file systems, the reserved sectors include a File System Information Sector at sector 1 and a Backup Boot Sector at Sector 6. The FAT Region. This typically contains two copies (may vary) of the File Allocation Table for the sake of redundancy checking, although the extra copy is rarely used, even by disk repair utilities. These are maps of the Data Region, indicating which clusters are used by files and directories. The Data Region. This is where the actual file and directory data is stored and takes up most of the partition. The size of files and subdirectories can be increased arbitrarily (as long as there are free clusters) by simply adding more links to the file's chain in the FAT. Note however, that files are allocated in units of clusters, so if a 1 KiB file resides in a 32 KiB cluster, 31 KiB are wasted. FAT uses little endian format for entries in the header and the FAT(s). Organization of the FAT tables The FAT tables of FAT32 are organized as an array of FAT entries. Each entry of the FAT tables has a 4-byte value and only 28 (starting from the least significant bit) bits are used. The index of a FAT entry is associated with a cluster in the data region of the USB flash drive, for example, the 2nd entry of the FAT tables is associated with cluster 2 and the FAT table’s value of this 2nd entry indicates a possible cluster immediately following cluster 2 used by a file or directory. The first cluster in data area of the USB flash drive corresponds to cluster 2 for the first two FAT entries in the FAT tables are reserved. The FAT table can be regarded as a large array containing pointers into the data region of the USB flash drive. It is organized in a linked list manner. Whenever you try to access a file occupying more than one cluster, you need to reference the FAT table to obtain the next cluster of the file. A 32bit FAT entry could have the following values: FAT32 Description 0x00000000 Free Cluster 0x00000001 Reserved value; do not use 0x00000002–0x0FFFFFEF Used cluster; value points to next cluster 0x0FFFFFF0–0x0FFFFFF6 Reserved values; do not use. 0x0FFFFFF7 Bad sector in cluster or reserved cluster 0x0FFFFFF8–0x0FFFFFFF (EOC) Last cluster in file As we mentioned early, clusters of files or directories are organized in a linked list method in the FAT tables. The following figure illustrates this linked list method. File1.txt occupies a number of clusters and their numbers are 2, 3, and 4 respectively. When the File1.txt is accessed, cluster 2, 3, and 4 will be visited in order. After checking the 4th entry value in the FAT table, which is EOC (End-of-Cluster), we know that we have reached the end of a file. FAT table index (Cluster number) 0 1 2 3 4 5 N …… Reserved 3 4 EOC 0 0 FAT table value Cluster 2 Cluster 3 Cluster 4 Cluster N File1.txt File1.txt File1.txt …... (Part 1) (Part 2) (Part 3) Datat Region File1.txt … … … … Start cluster = 2 Directory table Directory structures A directory entry contains all of the information necessary to reference the contents of a file or directory on the volume, including additional information about the file/directory's attributes and other information including: time of creation/modification, date created, and size of the file (in bytes). All of this information is packed into a small 32-byte structure. The directory entry can be a file or a directory. If it is a directory, it is usually referred to as a directory table, which is a special type of file that represents a directory (also known as a folder). Each file or directory stored within it is represented by a 32-byte entry directory entry in the table. Directories with more than 16 entries require more than one sector (maximum entries per sector = 512 bytes per sector / 32 bytes per directory entry = 16 directory entries ). Here, we suppose the sector size is 512 bytes. For subdirectories that refer back to its parent directory, the startcluster value might be 0. Note that cluster 0 is reserved in the FAT table--attempting to look up that value should result in an error. You must re-direct a startcluster with value zero to the root directory. Delete files or directories Delete a file or directory does not immediately erase a file or directory when it is deleted. In fact, it does nothing to the clusters that contain the information. Delete operation simply remove the file or directory's cluster list from the FAT table and write a special character (0xe5) in the first byte of the directory entry to indicate that this entry has been deleted. You will need to follow the same procedure to delete a file or directory. Start with the cluster indicated in the directory entry, traverse the cluster list, and set each FAT entry to zero including the EOC entry. Convert a cluster number to offset Given the number of a cluster, you need to covert this number to a USB flash drive offset in order to read from/write to the location specified by the cluster number on the USB flash drive. You can use the following formula to calculate this offset: (numberOfReservedSectors + numberOfFat * sectorsPerFat + (numberOfCluster – 2) * sectorsPerCluster) * bytesPerSector The reserved Sectors consist of the boot Sector , the FS Information Sector, and the Optional Reserved Sectors. How to get a cluster number from a File Allocation Table 01 00 00 00 01 00 00 00 03 00 00 00 04 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00 FF FF FF F0 What are the cluster numbers in the FAT32 file allocation table given in the above figure? Reserved, Reserved, 3, 4, 7, 0, 0, last cluster in a file (EOC). Each FAT entry is a 4-byte value with first 28 bits are valid and stored in little endian order. Virtual Filesystem (VFS) One of Linux's important features is to coexist comfortably wit different file systems. You can transparently mount disks or partitions that formatted by FAT32, NTFS, JFS, ext2, and many other file systems. Linux manages to support multiple file systems through the concept of the Virtual Filesystem(VFS). The key idea behind the VFS is to provide an abstraction layer between user space programs and different file systems. Whenever a program perform operations on files(regular files, directories, and symbolic links) in a specific file system, it will first invoke the common interfaces provided by the VFS, then the VFS will choose operations supported by the specific file system to do the real work. The following figure illustrates a simple file copy operation using VFS. (The picture is from Understanding Linux Kernel 3rd) For a device file, the VFS changes the default file operations of a device file and handle it differently compared with a regular file, a directory, or a symbolic link. And each system call on the device file is translated to an invocation of a device-related function instead of the corresponding function of the hosting filesystem. The device-related function (usually provided by the device driver) acts on the hardware device to perform the operation requested by a process. (Shown in the following figure) Read VFS f1=open(/dev/sdb1, O_RDONLY, 0); f2=open(/media/disk/readme.txt, O_RDONLY,0); Device Driver FAT32 file operations i = read(f1, buf1, 4096); i = read(f2, buf2, 4096); close(f1); close(f2); FAT32 FAT32 /dev/sdb1 /media/disk1/readme.txt Other documents 1. Official fat32 white paper 2. Wikipedia web page about File allocation table .
Recommended publications
  • Copy on Write Based File Systems Performance Analysis and Implementation
    Copy On Write Based File Systems Performance Analysis And Implementation Sakis Kasampalis Kongens Lyngby 2010 IMM-MSC-2010-63 Technical University of Denmark Department Of Informatics Building 321, DK-2800 Kongens Lyngby, Denmark Phone +45 45253351, Fax +45 45882673 [email protected] www.imm.dtu.dk Abstract In this work I am focusing on Copy On Write based file systems. Copy On Write is used on modern file systems for providing (1) metadata and data consistency using transactional semantics, (2) cheap and instant backups using snapshots and clones. This thesis is divided into two main parts. The first part focuses on the design and performance of Copy On Write based file systems. Recent efforts aiming at creating a Copy On Write based file system are ZFS, Btrfs, ext3cow, Hammer, and LLFS. My work focuses only on ZFS and Btrfs, since they support the most advanced features. The main goals of ZFS and Btrfs are to offer a scalable, fault tolerant, and easy to administrate file system. I evaluate the performance and scalability of ZFS and Btrfs. The evaluation includes studying their design and testing their performance and scalability against a set of recommended file system benchmarks. Most computers are already based on multi-core and multiple processor architec- tures. Because of that, the need for using concurrent programming models has increased. Transactions can be very helpful for supporting concurrent program- ming models, which ensure that system updates are consistent. Unfortunately, the majority of operating systems and file systems either do not support trans- actions at all, or they simply do not expose them to the users.
    [Show full text]
  • The Linux Kernel Module Programming Guide
    The Linux Kernel Module Programming Guide Peter Jay Salzman Michael Burian Ori Pomerantz Copyright © 2001 Peter Jay Salzman 2007−05−18 ver 2.6.4 The Linux Kernel Module Programming Guide is a free book; you may reproduce and/or modify it under the terms of the Open Software License, version 1.1. You can obtain a copy of this license at http://opensource.org/licenses/osl.php. This book is distributed in the hope it will be useful, but without any warranty, without even the implied warranty of merchantability or fitness for a particular purpose. The author encourages wide distribution of this book for personal or commercial use, provided the above copyright notice remains intact and the method adheres to the provisions of the Open Software License. In summary, you may copy and distribute this book free of charge or for a profit. No explicit permission is required from the author for reproduction of this book in any medium, physical or electronic. Derivative works and translations of this document must be placed under the Open Software License, and the original copyright notice must remain intact. If you have contributed new material to this book, you must make the material and source code available for your revisions. Please make revisions and updates available directly to the document maintainer, Peter Jay Salzman <[email protected]>. This will allow for the merging of updates and provide consistent revisions to the Linux community. If you publish or distribute this book commercially, donations, royalties, and/or printed copies are greatly appreciated by the author and the Linux Documentation Project (LDP).
    [Show full text]
  • File Systems and Disk Layout I/O: the Big Picture
    File Systems and Disk Layout I/O: The Big Picture Processor interrupts Cache Memory Bus I/O Bridge Main I/O Bus Memory Disk Graphics Network Controller Controller Interface Disk Disk Graphics Network 1 Rotational Media Track Sector Arm Cylinder Platter Head Access time = seek time + rotational delay + transfer time seek time = 5-15 milliseconds to move the disk arm and settle on a cylinder rotational delay = 8 milliseconds for full rotation at 7200 RPM: average delay = 4 ms transfer time = 1 millisecond for an 8KB block at 8 MB/s Bandwidth utilization is less than 50% for any noncontiguous access at a block grain. Disks and Drivers Disk hardware and driver software provide basic facilities for nonvolatile secondary storage (block devices). 1. OS views the block devices as a collection of volumes. A logical volume may be a partition ofasinglediskora concatenation of multiple physical disks (e.g., RAID). 2. OS accesses each volume as an array of fixed-size sectors. Identify sector (or block) by unique (volumeID, sector ID). Read/write operations DMA data to/from physical memory. 3. Device interrupts OS on I/O completion. ISR wakes up process, updates internal records, etc. 2 Using Disk Storage Typical operating systems use disks in three different ways: 1. System calls allow user programs to access a “raw” disk. Unix: special device file identifies volume directly. Any process that can open thedevicefilecanreadorwriteany specific sector in the disk volume. 2. OS uses disk as backing storage for virtual memory. OS manages volume transparently as an “overflow area” for VM contents that do not “fit” in physical memory.
    [Show full text]
  • USB Software Package for Infiniivision X-Series Oscilloscopes
    USB Software Package for InfiniiVision X-Series Oscilloscopes The USB Software Package for Keysight’s InfiniiVision oscilloscopes enables USB 2.0 low-, full-, and hi-speed protocol triggering and decode, as well as USB PD (Power Delivery) trigger and decode. This package also enables other advanced analysis capabilities including USB 2.0 automated signal quality testing, jitter analysis, mask testing, and frequency response analysis (Bode plots) to help test and debug high-speed digital signals, such as USB 2.0. Find us at www.keysight.com Page 1 Table of Contents Introduction ................................................................................................................................................................ 3 Serial Trigger and Decode ......................................................................................................................................... 4 USB 2.0 Low- and Full-speed .................................................................................................................................... 4 USB 2.0 Hi Speed ...................................................................................................................................................... 6 USB PD (Power Delivery) .......................................................................................................................................... 7 Advanced Analysis ...................................................................................................................................................
    [Show full text]
  • Chapter 3. Booting Operating Systems
    Chapter 3. Booting Operating Systems Abstract: Chapter 3 provides a complete coverage on operating systems booting. It explains the booting principle and the booting sequence of various kinds of bootable devices. These include booting from floppy disk, hard disk, CDROM and USB drives. Instead of writing a customized booter to boot up only MTX, it shows how to develop booter programs to boot up real operating systems, such as Linux, from a variety of bootable devices. In particular, it shows how to boot up generic Linux bzImage kernels with initial ramdisk support. It is shown that the hard disk and CDROM booters developed in this book are comparable to GRUB and isolinux in performance. In addition, it demonstrates the booter programs by sample systems. 3.1. Booting Booting, which is short for bootstrap, refers to the process of loading an operating system image into computer memory and starting up the operating system. As such, it is the first step to run an operating system. Despite its importance and widespread interests among computer users, the subject of booting is rarely discussed in operating system books. Information on booting are usually scattered and, in most cases, incomplete. A systematic treatment of the booting process has been lacking. The purpose of this chapter is to try to fill this void. In this chapter, we shall discuss the booting principle and show how to write booter programs to boot up real operating systems. As one might expect, the booting process is highly machine dependent. To be more specific, we shall only consider the booting process of Intel x86 based PCs.
    [Show full text]
  • W4118: Linux File Systems
    W4118: Linux file systems Instructor: Junfeng Yang References: Modern Operating Systems (3rd edition), Operating Systems Concepts (8th edition), previous W4118, and OS at MIT, Stanford, and UWisc File systems in Linux Linux Second Extended File System (Ext2) . What is the EXT2 on-disk layout? . What is the EXT2 directory structure? Linux Third Extended File System (Ext3) . What is the file system consistency problem? . How to solve the consistency problem using journaling? Virtual File System (VFS) . What is VFS? . What are the key data structures of Linux VFS? 1 Ext2 “Standard” Linux File System . Was the most commonly used before ext3 came out Uses FFS like layout . Each FS is composed of identical block groups . Allocation is designed to improve locality inodes contain pointers (32 bits) to blocks . Direct, Indirect, Double Indirect, Triple Indirect . Maximum file size: 4.1TB (4K Blocks) . Maximum file system size: 16TB (4K Blocks) On-disk structures defined in include/linux/ext2_fs.h 2 Ext2 Disk Layout Files in the same directory are stored in the same block group Files in different directories are spread among the block groups Picture from Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 3 Block Addressing in Ext2 Twelve “direct” blocks Data Data BlockData Inode Block Block BLKSIZE/4 Indirect Data Data Blocks BlockData Block Data (BLKSIZE/4)2 Indirect Block Data BlockData Blocks Block Double Block Indirect Indirect Blocks Data Data Data (BLKSIZE/4)3 BlockData Data Indirect Block BlockData Block Block Triple Double Blocks Block Indirect Indirect Data Indirect Data BlockData Blocks Block Block Picture from Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc.
    [Show full text]
  • Devicelock® DLP 8.3 User Manual
    DeviceLock® DLP 8.3 User Manual © 1996-2020 DeviceLock, Inc. All Rights Reserved. Information in this document is subject to change without notice. No part of this document may be reproduced or transmitted in any form or by any means for any purpose other than the purchaser’s personal use without the prior written permission of DeviceLock, Inc. Trademarks DeviceLock and the DeviceLock logo are registered trademarks of DeviceLock, Inc. All other product names, service marks, and trademarks mentioned herein are trademarks of their respective owners. DeviceLock DLP - User Manual Software version: 8.3 Updated: March 2020 Contents About This Manual . .8 Conventions . 8 DeviceLock Overview . .9 General Information . 9 Managed Access Control . 13 DeviceLock Service for Mac . 17 DeviceLock Content Security Server . 18 How Search Server Works . 18 ContentLock and NetworkLock . 20 ContentLock and NetworkLock Licensing . 24 Basic Security Rules . 25 Installing DeviceLock . .26 System Requirements . 26 Deploying DeviceLock Service for Windows . 30 Interactive Installation . 30 Unattended Installation . 35 Installation via Microsoft Systems Management Server . 36 Installation via DeviceLock Management Console . 36 Installation via DeviceLock Enterprise Manager . 37 Installation via Group Policy . 38 Installation via DeviceLock Enterprise Server . 44 Deploying DeviceLock Service for Mac . 45 Interactive Installation . 45 Command Line Utility . 47 Unattended Installation . 48 Installing Management Consoles . 49 Installing DeviceLock Enterprise Server . 52 Installation Steps . 52 Installing and Accessing DeviceLock WebConsole . 65 Prepare for Installation . 65 Install the DeviceLock WebConsole . 66 Access the DeviceLock WebConsole . 67 Installing DeviceLock Content Security Server . 68 Prepare to Install . 68 Start Installation . 70 Perform Configuration and Complete Installation . 71 DeviceLock Consoles and Tools .
    [Show full text]
  • Certifying a File System
    Certifying a file system: Correctness in the presence of crashes Tej Chajed, Haogang Chen, Stephanie Wang, Daniel Ziegler, Adam Chlipala, Frans Kaashoek, and Nickolai Zeldovich MIT CSAIL 1 / 28 New file systems (and bugs) are introduced over time Some bugs are serious: security exploits, data loss, etc. File systems are complex and have bugs File systems are complex (e.g., Linux ext4 is ∼60,000 lines of code) and have many bugs: 500 ext3 400 300 200 100 # patches for bugs 0 Jan'04 Jan'05 Jan'06 Jan'07 Jan'08 Jan'09 Jan'10 Jan'11 Cumulative number of patches for file-system bugs in Linux; data from [Lu et al., FAST’13] 2 / 28 Some bugs are serious: security exploits, data loss, etc. File systems are complex and have bugs File systems are complex (e.g., Linux ext4 is ∼60,000 lines of code) and have many bugs: 500 ext3 400 ext4 xfs 300 reiserfs 200 jfs btrfs 100 # patches for bugs 0 Jan'04 Jan'05 Jan'06 Jan'07 Jan'08 Jan'09 Jan'10 Jan'11 Cumulative number of patches for file-system bugs in Linux; data from [Lu et al., FAST’13] New file systems (and bugs) are introduced over time 2 / 28 File systems are complex and have bugs File systems are complex (e.g., Linux ext4 is ∼60,000 lines of code) and have many bugs: 500 ext3 400 ext4 xfs 300 reiserfs 200 jfs btrfs 100 # patches for bugs 0 Jan'04 Jan'05 Jan'06 Jan'07 Jan'08 Jan'09 Jan'10 Jan'11 Cumulative number of patches for file-system bugs in Linux; data from [Lu et al., FAST’13] New file systems (and bugs) are introduced over time Some bugs are serious: security exploits, data loss, etc.
    [Show full text]
  • 单端模拟输入/输出和 S/Pdif的立体声音频编解码器 查询样品: Pcm2906c
    PCM2906C www.ti.com.cn ZHCS074 –NOVEMBER 2011 具有USB 接口、单端模拟输入/输出和 S/PDIF的立体声音频编解码器 查询样品: PCM2906C 1特性 • 立体声 DAC: 上的模拟性能 234• 片载 USB 接口: – VBUS = 5V: – 具有全速收发器 – THD+N = 0.005% – 完全符合 USB 2.0 规范 – SNR = 96 dB – 由 USB-IF 认证 – 动态范围 = 93 dB – 用于回放的 USB 自适应模式 – 过采样数字滤波器: – 用于记录的 USB 异步模式 – 通频带纹波 = ±0.1 dB – 总线供电 – 阻带衰减 = –43 dB • 16 位 Δ-Σ ADC 和 DAC – 单端电压输出 • 采样速率: – 包含模拟 LPF – DAC: 32,44.1,48 kHz • 多功能: – ADC: – 人机接口 (HID) 功能: 8,11.025,16,22.05,32,44.1,48 kHz – 音量控制和静音 • 具有单个 12-MHz 时钟源的片载时钟发生器 – 终止标识功能 • S/PDIF 输入/输出 • 28-引脚 SSOP 封装 • 单电源: 应用 – 5 V 典型值 (VBUS) • 立体声 ADC: • USB 音频扬声器 • USB 耳机 – VBUS 时的模拟性能 = 5V: – THD+N = 0.01% • USB 显示器 – SNR = 89 dB • USB 音频接口盒 动态范围 – = 89 dB 说明 – 数字抽取滤波器: PCM2906C 是德州仪器的含有一个USB兼容全速协议 – 通频带纹波 = ±0.05 dB 控制器和S/PDIF的单片,USB,立体声编码器。 USB – 阻带衰减 = –65 dB 协议控制器无需软件编码。 PCM2906C 采用 SpAct™ – 单端电压输入 架构,这是 TI 用于从 USB 数据包数据恢复音频时钟 – 包含抗混淆滤波器 的独特系统。 采用SpAct 的片载模拟PLL支持具有低 – 包含数字 HPF 时钟抖动以及独立回放和录音采样率的回放和录音。 1 Please be aware that an important notice concerning availability, standard warranty, and use in critical applications of Texas Instruments semiconductor products and disclaimers thereto appears at the end of this data sheet. 2SpAct is a trademark of Texas Instruments. 3System Two, Audio Precision are trademarks of Audio Precision, Inc. 4All other trademarks are the property of their respective owners. PRODUCTION DATA information is current as of publication date. Copyright © 2011, Texas Instruments Incorporated Products conform to specifications per the terms of the Texas Instruments standard warranty. Production processing does not English Data Sheet: SBFS037 necessarily include testing of all parameters.
    [Show full text]
  • XFS: There and Back ...And There Again? Slide 1 of 38
    XFS: There and Back.... .... and There Again? Dave Chinner <[email protected]> <[email protected]> XFS: There and Back .... and There Again? Slide 1 of 38 Overview • Story Time • Serious Things • These Days • Shiny Things • Interesting Times XFS: There and Back .... and There Again? Slide 2 of 38 Story Time • Way back in the early '90s • Storage exceeding 32 bit capacities • 64 bit CPUs, large scale MP • Hundreds of disks in a single machine • XFS: There..... Slide 3 of 38 "x" is for Undefined xFS had to support: • Fast Crash Recovery • Large File Systems • Large, Sparse Files • Large, Contiguous Files • Large Directories • Large Numbers of Files • - Scalability in the XFS File System, 1995 http://oss.sgi.com/projects/xfs/papers/xfs_usenix/index.html XFS: There..... Slide 4 of 38 The Early Years XFS: There..... Slide 5 of 38 The Early Years • Late 1994: First Release, Irix 5.3 • Mid 1996: Default FS, Irix 6.2 • Already at Version 4 • Attributes • Journalled Quotas • link counts > 64k • feature masks • • XFS: There..... Slide 6 of 38 The Early Years • • Allocation alignment to storage geometry (1997) • Unwritten extents (1998) • Version 2 directories (1999) • mkfs time configurable block size • Scalability to tens of millions of directory entries • • XFS: There..... Slide 7 of 38 What's that Linux Thing? • Feature development mostly stalled • Irix development focussed on CXFS • New team formed for Linux XFS port! • Encumberance review! • Linux was missing lots of bits XFS needed • Lot of work needed • • XFS: There and..... Slide 8 of 38 That Linux Thing? XFS: There and..... Slide 9 of 38 Light that fire! • 2000: SGI releases XFS under GPL • • 2001: First stable XFS release • • 2002: XFS merged into 2.5.36 • • JFS follows similar timeline • XFS: There and....
    [Show full text]
  • The Linux Device File-System
    The Linux Device File-System Richard Gooch EMC Corporation [email protected] Abstract 1 Introduction All Unix systems provide access to hardware via de- vice drivers. These drivers need to provide entry points for user-space applications and system tools to access the hardware. Following the \everything is a file” philosophy of Unix, these entry points are ex- posed in the file name-space, and are called \device The Device File-System (devfs) provides a power- special files” or \device nodes". ful new device management mechanism for Linux. Unlike other existing and proposed device manage- This paper discusses how these device nodes are cre- ment schemes, it is powerful, flexible, scalable and ated and managed in conventional Unix systems and efficient. the limitations this scheme imposes. An alternative mechanism is then presented. It is an alternative to conventional disc-based char- acter and block special devices. Kernel device drivers can register devices by name rather than de- vice numbers, and these device entries will appear in the file-system automatically. 1.1 Device numbers Devfs provides an immediate benefit to system ad- ministrators, as it implements a device naming scheme which is more convenient for large systems Conventional Unix systems have the concept of a (providing a topology-based name-space) and small \device number". Each instance of a driver and systems (via a device-class based name-space) alike. hardware component is assigned a unique device number. Within the kernel, this device number is Device driver authors can benefit from devfs by used to refer to the hardware and driver instance.
    [Show full text]
  • SCSI Standards and Technology Update © 2013 Storage Networking Industry Association
    SCSIPRESENTATION Standards TITLE and GOES Technology HERE Update Marty Czekalski President, SCSI Trade Association Interface and Emerging Architecture Program Manager - Seagate Technology SNIA Legal Notice The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted. Member companies and individual members may use this material in presentations and literature under the following conditions: Any slide or slides used must be reproduced in their entirety without modification The SNIA must be acknowledged as the source of any material used in the body of any document containing material from these presentations. This presentation is a project of the SNIA Education Committee. Neither the author nor the presenter is an attorney and nothing in this presentation is intended to be, or should be construed as legal advice or an opinion of counsel. If you need legal advice or a legal opinion please contact your attorney. The information presented herein represents the author's personal opinion and current understanding of the relevant issues involved. The author, the presenter, and the SNIA do not assume any responsibility or liability for damages arising out of any reliance on or use of this information. NO WARRANTIES, EXPRESS OR IMPLIED. USE AT YOUR OWN RISK. 2 SCSI Standards and Technology Update © 2013 Storage Networking Industry Association. All Rights Reserved. 2 Abstract SCSI Standards and Technology Update SCSI continues to be the backbone of enterprise storage deployments and has rapidly evolved by adding new features, capabilities, and performance enhancements. This talk will include an up-to-the-minute recap of the latest additions to the SAS standard and roadmaps.
    [Show full text]