UNIX File Management (continued)
|
|
|
- Sharon Dorsey
- 10 years ago
- Views:
Transcription
1 UNIX File Management (continued)
2 OS storage stack (recap) Application FD table OF table VFS FS Buffer cache Disk scheduler Device driver 2
3 Virtual File System (VFS) Application FD table OF table VFS FS Buffer cache Disk scheduler Device driver 3
4 Older Systems only had a single file system They had file system specific open, close, read, write, calls. However, modern systems need to support many file system types ISO9660 (CDROM), MSDOS (floppy), ext2fs, tmpfs 4
5 Supporting Multiple File Systems Alternatives Change the file system code to understand different file system types Prone to code bloat, complex, non-solution Provide a framework that separates file system independent and file system dependent code. Allows different file systems to be plugged in 5
6 Virtual File System (VFS) Application FD table OF table VFS FS FS2 Buffer cache Disk scheduler Disk scheduler Device driver Device driver 6
7 Virtual file system (VFS) / ext3 open( /home/leonidr/file, ); Traversing the directory hierarchy may require VFS to issue requests to several underlying file systems /home/leonidr nfs 7
8 Virtual File System (VFS) Provides single system call interface for many file systems E.g., UFS, Ext2, XFS, DOS, ISO9660, Transparent handling of network file systems E.g., NFS, AFS, CODA File-based interface to arbitrary device drivers (/dev) File-based interface to kernel data structures (/proc) Provides an indirection layer for system calls File operation table set up at file open time Points to actual handling code for particular type Further file operations redirected to those functions 8
9 The file system independent code deals with vfs and vnodes VFS FS vnode inode File Descriptor Tables Open File Table File system dependent code9 9
10 VFS Interface Reference S.R. Kleiman., "Vnodes: An Architecture for Multiple File System Types in Sun Unix," USENIX Association: Summer Conference Proceedings, Atlanta, 1986 Linux and OS/161 differ slightly, but the principles are the same Two major data types VFS Represents all file system types Contains pointers to functions to manipulate each file system as a whole (e.g. mount, unmount) Form a standard interface to the file system Vnode Represents a file (inode) in the underlying filesystem Points to the real inode Contains pointers to functions to manipulate files/inodes (e.g. open, close, read, write, ) 10
11 Vfs and Vnode Structures struct vnode Generic (FS-independent) fields fs_data vnode ops ext2fs_read ext2fs_write... FS-specific implementation of vnode operations size uid, gid ctime, atime, mtime FS-specific fields Block group number Data block list 11
12 Vfs and Vnode Structures struct vfs Generic (FS-independent) fields fs_data vfs ops ext2_unmount ext2_getroot... FS-specific implementation of FS operations Block size Max file size FS-specific fields i-nodes per group Superblock address 12
13 A look at OS/161 s VFS The OS161 s file system type Represents interface to a mounted filesystem struct fs { }; int (*fs_sync)(struct fs *); const char *(*fs_getvolname)(struct fs *); struct vnode *(*fs_getroot)(struct fs *); int (*fs_unmount)(struct fs *); void *fs_data; Private file system specific data Force the filesystem to flush its content to disk Retrieve the volume name Retrieve the vnode associated with the root of the filesystem Unmount the filesystem Note: mount called via function ptr passed to vfs_mount 13
14 Count the number of references to this vnode Vnode struct vnode { int vn_refcount; struct spinlock vn_countlock;k struct fs *vn_fs; void *vn_data; const struct vnode_ops *vn_ops; }; Array of pointers to functions operating on vnodes Pointer to FS specific vnode data (e.g. inode) Lock for mutual exclusive access to counts Pointer to FS containing the vnode 14
15 Vnode Ops struct vnode_ops { unsigned long vop_magic; /* should always be VOP_MAGIC */ int (*vop_eachopen)(struct vnode *object, int flags_from_open); int (*vop_reclaim)(struct vnode *vnode); int (*vop_read)(struct vnode *file, struct uio *uio); int (*vop_readlink)(struct vnode *link, struct uio *uio); int (*vop_getdirentry)(struct vnode *dir, struct uio *uio); int (*vop_write)(struct vnode *file, struct uio *uio); int (*vop_ioctl)(struct vnode *object, int op, userptr_t data); int (*vop_stat)(struct vnode *object, struct stat *statbuf); int (*vop_gettype)(struct vnode *object, int *result); int (*vop_isseekable)(struct vnode *object, off_t pos); int (*vop_fsync)(struct vnode *object); int (*vop_mmap)(struct vnode *file /* add stuff */); int (*vop_truncate)(struct vnode *file, off_t len); int (*vop_namefile)(struct vnode *file, struct uio *uio); 15
16 Vnode Ops int (*vop_creat)(struct vnode *dir, const char *name, int excl, struct vnode **result); int (*vop_symlink)(struct vnode *dir, const char *contents, const char *name); int (*vop_mkdir)(struct vnode *parentdir, const char *name); int (*vop_link)(struct vnode *dir, const char *name, struct vnode *file); int (*vop_remove)(struct vnode *dir, const char *name); int (*vop_rmdir)(struct vnode *dir, const char *name); int (*vop_rename)(struct vnode *vn1, const char *name1, struct vnode *vn2, const char *name2); }; int (*vop_lookup)(struct vnode *dir, char *pathname, struct vnode **result); int (*vop_lookparent)(struct vnode *dir, char *pathname, struct vnode **result, char *buf, size_t len); 16
17 Vnode Ops Note that most operations are on vnodes. How do we operate on file names? Higher level API on names that uses the internal VOP_* functions int vfs_open(char *path, int openflags, struct vnode **ret); void vfs_close(struct vnode *vn); int vfs_readlink(char *path, struct uio *data); int vfs_symlink(const char *contents, char *path); int vfs_mkdir(char *path); int vfs_link(char *oldpath, char *newpath); int vfs_remove(char *path); int vfs_rmdir(char *path); int vfs_rename(char *oldpath, char *newpath); int vfs_chdir(char *path); int vfs_getcwd(struct uio *buf); 17
18 Example: OS/161 emufs vnode ops /* * Function table for emufs files. */ static const struct vnode_ops emufs_fileops = { VOP_MAGIC, /* mark this a valid vnode ops table */ emufs_eachopen, emufs_reclaim, emufs_read, NOTDIR, /* readlink */ NOTDIR, /* getdirentry */ emufs_write, emufs_ioctl, emufs_stat, }; emufs_file_gettype, emufs_tryseek, emufs_fsync, UNIMP, /* mmap */ emufs_truncate, NOTDIR, /* namefile */ NOTDIR, /* creat */ NOTDIR, /* symlink */ NOTDIR, /* mkdir */ NOTDIR, /* link */ NOTDIR, /* remove */ NOTDIR, /* rmdir */ NOTDIR, /* rename */ NOTDIR, /* lookup */ NOTDIR, /* lookparent */ 18
19 File Descriptor & Open File Tables Application FD table OF table VFS FS Buffer cache Disk scheduler Device driver 19
20 Motivation System call interface: fd = open( file, ); read(fd, );write(fd, );lseek(fd, ); close(fd); VFS interface: vnode = vfs_open( file, ); vop_read(vnode,uio); vop_write(vnode,uio); vop_close(vnode); Application FD table OF table VFS FS Buffer cache Disk scheduler Device driver 20
21 File Descriptors File descriptors Each open file has a file descriptor Read/Write/lseek/. use them to specify which file to operate on. State associated with a file descriptor File pointer Determines where in the file the next read or write is performed Mode Was the file opened read-only, etc. 21
22 An Option? Use vnode numbers as file descriptors and add a file pointer to the vnode Problems What happens when we concurrently open the same file twice? We should get two separate file descriptors and file pointers. 22
23 Single global open file array fd is an index into the array Entries contain file pointer and pointer to a vnode An Option? fd fp i-ptr Array of Inodes in RAM vnode 23
24 Issues File descriptor 1 is stdout Stdout is console for some processes A file for others Entry 1 needs to be different per process! fd fp v-ptr vnode 24
25 Per-process File Descriptor Array Each process has its own open file array P1 fd Contains fp, v-ptr etc. Fd 1 can point to any vnode for each process (console, log file). P2 fd fp v-ptr vnode vnode fp v-ptr 25
26 Issue Fork Fork defines that the child shares the file pointer with the parent Dup2 Also defines the file descriptors share the file pointer With per-process table, we can only have independent file pointers Even when accessing the same file P1 fd P2 fd fp v-ptr fp v-ptr vnode vnode 26
27 Per-Process fd table with global open file table Per-process file descriptor array Contains pointers to open file table entry Open file table array Contain entries with a fp and pointer to an vnode. Provides Shared file pointers if required Independent file pointers if required Example: All three fds refer to the same file, two share a file pointer, one has an independent file pointer P1 fd P2 fd Per-process File Descriptor Tables ofptr ofptr ofptr fp v-ptr fp v-ptr Open File Table 27 vnode vnode
28 Per-Process fd table with global open file table Used by Linux and most other Unix operating systems P1 fd ofptr fp v-ptr vnode P2 fd ofptr fp v-ptr vnode ofptr Per-process File Descriptor Tables Open File Table 28
29 Buffer Cache Application FD table OF table VFS FS Buffer cache Disk scheduler Device driver 29
30 Buffer Buffer: Temporary storage used when transferring data between two entities Especially when the entities work at different rates Or when the unit of transfer is incompatible Example: between application program and disk 30
31 Application Program Buffering Disk Blocks Allow applications to work with arbitrarily sized region of a file Buffers in Kernel RAM However, apps can still optimise for a particular block size Transfer of arbitrarily sized regions of file Transfer of whole blocks Disk 31
32 Application Program Buffering Disk Blocks Writes can return immediately after copying to kernel buffer Transfer of arbitrarily sized regions of file Buffers in Kernel RAM Avoids waiting until write to disk is complete Write is scheduled in the background Transfer of whole blocks Disk 32
33 Application Program Buffering Disk Blocks Can implement read-ahead by pre-loading next block on disk into Buffers in Kernel RAM kernel buffer Avoids having to wait until next read is issued Transfer of arbitrarily sized regions of file Transfer of whole blocks Disk 33
34 Cache Cache: Fast storage used to temporarily hold data to speed up repeated access to the data Example: Main memory can cache disk blocks 34
35 Application Program Caching Disk Blocks On access Cached blocks in Kernel RAM Before loading block from disk, check if it is in cache first Avoids disk accesses Can optimise for repeated access for single or several processes Transfer of arbitrarily sized regions of file Transfer of whole blocks Disk 35
36 Buffering and caching are related Data is read into buffer; an extra independent cache copy would be wasteful After use, block should be cached Future access may hit cached copy Cache utilises unused kernel memory space; may have to shrink, depending on memory demand 36
37 Unix Buffer Cache On read Hash the device#, block# Check if match in buffer cache Yes, simply use in-memory copy No, follow the collision chain If not found, we load block from disk into cache 37
38 Replacement What happens when the buffer cache is full and we need to read another block into memory? We must choose an existing entry to replace Need a policy to choose a victim Can use First-in First-out Least Recently Used, or others. Timestamps required for LRU implementation However, is strict LRU what we want? 38
39 File System Consistency File data is expected to survive Strict LRU could keep critical data in memory forever if it is frequently used. 39
40 File System Consistency Generally, cached disk blocks are prioritised in terms of how critical they are to file system consistency Directory blocks, inode blocks if lost can corrupt entire filesystem E.g. imagine losing the root directory These blocks are usually scheduled for immediate write to disk Data blocks if lost corrupt only the file that they are associated with These blocks are only scheduled for write back to disk periodically In UNIX, flushd (flush daemon) flushes all modified blocks to disk every 30 seconds 40
41 File System Consistency Alternatively, use a write-through cache All modified blocks are written immediately to disk Generates much more disk traffic Temporary files written back Multiple updates not combined Used by DOS Gave okay consistency when Floppies were removed from drives Users were constantly resetting (or crashing) their machines Still used, e.g. USB storage devices 41
42 Disk scheduler Application FD table OF table VFS FS Buffer cache Disk scheduler Device driver 42
43 Disk Management Management and ordering of disk access requests is important: Huge speed gap between memory and disk Disk throughput is extremely sensitive to Request order Disk Scheduling Placement of data on the disk file system design Disk scheduler must be aware of disk geometry 43
44 Disk Geometry Physical geometry of a disk with two zones Outer tracks can store more sectors than inner without exceed max information density A possible virtual geometry for this disk 44
45 Evolution of Disk Hardware Disk parameters for the original IBM PC floppy disk and a Western Digital WD hard disk 45
46 Things to Note Average seek time is approx 12 times better Rotation time is 24 times faster Transfer time is 1300 times faster Most of this gain is due to increase in density Represents a gradual engineering improvement 46
47 Storage Capacity is times greater 47
48 Estimating Access Time 48
49 A Timing Comparison
50 Disk Performance is Entirely Dominated by Seek and Rotational Delays Will only get worse as capacity increases much faster than increase in seek time and rotation speed Note it has been easier to spin the disk faster than improve seek time Operating System should minimise mechanical delays as much as possible 100% 80% 60% 40% 20% 0% Average Access Time Scaled to 100% 1 2 Transfer Rot. Del. Seek Transfer Rot. Del Seek Disk 50
51 Disk Arm Scheduling Algorithms Time required to read or write a disk block determined by 3 factors 1.Seek time 2.Rotational delay 3.Actual transfer time Seek time dominates For a single disk, there will be a number of I/O requests Processing them in random order leads to worst possible performance
52 First-in, First-out (FIFO) Process requests as they come Fair (no starvation) Good for a few processes with clustered requests Deteriorates to random if there are many processes
53 Shortest Seek Time First Select request that minimises the seek time Generally performs much better than FIFO May lead to starvation
54 Elevator Algorithm (SCAN) Move head in one direction Services requests in track order until it reaches the last track, then reverses direction Better than FIFO, usually worse than SSTF Avoids starvation Makes poor use of sequential reads (on down-scan) Inner tracks serviced more frequently than outer tracks
55 Modified Elevator (Circular SCAN, C-SCAN) Like elevator, but reads sectors in only one direction When reaching last track, go back to first track non-stop Note: seeking across disk in one movement faster than stopping along the way. Better locality on sequential reads Better use of read ahead cache on controller Reduces max delay to read a particular sector
File Systems Management and Examples
File Systems Management and Examples Today! Efficiency, performance, recovery! Examples Next! Distributed systems Disk space management! Once decided to store a file as sequence of blocks What s the size
Chapter 11: File System Implementation. Operating System Concepts with Java 8 th Edition
Chapter 11: File System Implementation 11.1 Silberschatz, Galvin and Gagne 2009 Chapter 11: File System Implementation File-System Structure File-System Implementation Directory Implementation Allocation
I/O Management. General Computer Architecture. Goals for I/O. Levels of I/O. Naming. I/O Management. COMP755 Advanced Operating Systems 1
General Computer Architecture I/O Management COMP755 Advanced Operating Systems Goals for I/O Users should access all devices in a uniform manner. Devices should be named in a uniform manner. The OS, without
Timing of a Disk I/O Transfer
Disk Performance Parameters To read or write, the disk head must be positioned at the desired track and at the beginning of the desired sector Seek time Time it takes to position the head at the desired
Storage and File Systems. Chester Rebeiro IIT Madras
Storage and File Systems Chester Rebeiro IIT Madras 1 Two views of a file system system calls protection rwx attributes Application View Look & Feel File system Hardware view 2 Magnetic Disks Chester Rebeiro
We mean.network File System
We mean.network File System Introduction: Remote File-systems When networking became widely available users wanting to share files had to log in across the net to a central machine This central machine
tmpfs: A Virtual Memory File System
tmpfs: A Virtual Memory File System Peter Snyder Sun Microsystems Inc. 2550 Garcia Avenue Mountain View, CA 94043 ABSTRACT This paper describes tmpfs, a memory-based file system that uses resources and
Network File System (NFS)
Network File System (NFS) Brad Karp UCL Computer Science CS GZ03 / M030 10 th October 2011 NFS Is Relevant Original paper from 1985 Very successful, still widely used today Early result; much subsequent
Two Parts. Filesystem Interface. Filesystem design. Interface the user sees. Implementing the interface
File Management 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 Filesystem design Implementing
Network File System (NFS) Pradipta De [email protected]
Network File System (NFS) Pradipta De [email protected] Today s Topic Network File System Type of Distributed file system NFS protocol NFS cache consistency issue CSE506: Ext Filesystem 2 NFS
Chapter 11: File System Implementation. Operating System Concepts 8 th Edition
Chapter 11: File System Implementation Operating System Concepts 8 th Edition Silberschatz, Galvin and Gagne 2009 Chapter 11: File System Implementation File-System Structure File-System Implementation
Chapter 11 I/O Management and Disk Scheduling
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 11 I/O Management and Disk Scheduling Dave Bremer Otago Polytechnic, NZ 2008, Prentice Hall I/O Devices Roadmap Organization
Chapter 11 I/O Management and Disk Scheduling
Operatin g Systems: Internals and Design Principle s Chapter 11 I/O Management and Disk Scheduling Seventh Edition By William Stallings Operating Systems: Internals and Design Principles An artifact can
Lecture 16: Storage Devices
CS 422/522 Design & Implementation of Operating Systems Lecture 16: Storage Devices Zhong Shao Dept. of Computer Science Yale University Acknowledgement: some slides are taken from previous versions of
Operating Systems CSE 410, Spring 2004. File Management. Stephen Wagner Michigan State University
Operating Systems CSE 410, Spring 2004 File Management Stephen Wagner Michigan State University File Management File management system has traditionally been considered part of the operating system. Applications
COS 318: Operating Systems. File Layout and Directories. Topics. File System Components. Steps to Open A File
Topics COS 318: Operating Systems File Layout and Directories File system structure Disk allocation and i-nodes Directory and link implementations Physical layout for performance 2 File System Components
File Management Chapters 10, 11, 12
File Management Chapters 10, 11, 12 Requirements For long-term storage: possible to store large amount of info. info must survive termination of processes multiple processes must be able to access concurrently
Introduction Disks RAID Tertiary storage. Mass Storage. CMSC 412, University of Maryland. Guest lecturer: David Hovemeyer.
Guest lecturer: David Hovemeyer November 15, 2004 The memory hierarchy Red = Level Access time Capacity Features Registers nanoseconds 100s of bytes fixed Cache nanoseconds 1-2 MB fixed RAM nanoseconds
System Calls and Standard I/O
System Calls and Standard I/O Professor Jennifer Rexford http://www.cs.princeton.edu/~jrex 1 Goals of Today s Class System calls o How a user process contacts the Operating System o For advanced services
Operating Systems. Design and Implementation. Andrew S. Tanenbaum Melanie Rieback Arno Bakker. Vrije Universiteit Amsterdam
Operating Systems Design and Implementation Andrew S. Tanenbaum Melanie Rieback Arno Bakker Vrije Universiteit Amsterdam Operating Systems - Winter 2012 Outline Introduction What is an OS? Concepts Processes
Outline. Operating Systems Design and Implementation. Chap 1 - Overview. What is an OS? 28/10/2014. Introduction
Operating Systems Design and Implementation Andrew S. Tanenbaum Melanie Rieback Arno Bakker Outline Introduction What is an OS? Concepts Processes and Threads Memory Management File Systems Vrije Universiteit
File System Management
Lecture 7: Storage Management File System Management Contents Non volatile memory Tape, HDD, SSD Files & File System Interface Directories & their Organization File System Implementation Disk Space Allocation
CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study
CS 377: Operating Systems Lecture 25 - Linux Case Study Guest Lecturer: Tim Wood Outline Linux History Design Principles System Overview Process Scheduling Memory Management File Systems A review of what
OPERATING SYSTEMS FILE SYSTEMS
OPERATING SYSTEMS FILE SYSTEMS Jerry Breecher 10: File Systems 1 FILE SYSTEMS This material covers Silberschatz Chapters 10 and 11. File System Interface The user level (more visible) portion of the file
Devices and Device Controllers
I/O 1 Devices and Device Controllers network interface graphics adapter secondary storage (disks, tape) and storage controllers serial (e.g., mouse, keyboard) sound co-processors... I/O 2 Bus Architecture
File System & Device Drive. Overview of Mass Storage Structure. Moving head Disk Mechanism. HDD Pictures 11/13/2014. CS341: Operating System
CS341: Operating System Lect 36: 1 st Nov 2014 Dr. A. Sahu Dept of Comp. Sc. & Engg. Indian Institute of Technology Guwahati File System & Device Drive Mass Storage Disk Structure Disk Arm Scheduling RAID
09'Linux Plumbers Conference
09'Linux Plumbers Conference Data de duplication Mingming Cao IBM Linux Technology Center [email protected] 2009 09 25 Current storage challenges Our world is facing data explosion. Data is growing in a amazing
Distributed File Systems
Distributed File Systems Paul Krzyzanowski Rutgers University October 28, 2012 1 Introduction The classic network file systems we examined, NFS, CIFS, AFS, Coda, were designed as client-server applications.
Linux Kernel Architecture
Linux Kernel Architecture Amir Hossein Payberah [email protected] Contents What is Kernel? Kernel Architecture Overview User Space Kernel Space Kernel Functional Overview File System Process Management
The Linux Virtual Filesystem
Lecture Overview Linux filesystem Linux virtual filesystem (VFS) overview Common file model Superblock, inode, file, dentry Object-oriented Ext2 filesystem Disk data structures Superblock, block group,
Survey of Filesystems for Embedded Linux. Presented by Gene Sally CELF
Survey of Filesystems for Embedded Linux Presented by Gene Sally CELF Presentation Filesystems In Summary What is a filesystem Kernel and User space filesystems Picking a root filesystem Filesystem Round-up
COS 318: Operating Systems
COS 318: Operating Systems File Performance and Reliability Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Topics File buffer cache
ProTrack: A Simple Provenance-tracking Filesystem
ProTrack: A Simple Provenance-tracking Filesystem Somak Das Department of Electrical Engineering and Computer Science Massachusetts Institute of Technology [email protected] Abstract Provenance describes a file
The Linux Device File-System
The Linux Device File-System Richard Gooch EMC Corporation [email protected] Abstract 1 Introduction The Device File-System (devfs) provides a powerful new device management mechanism for Linux. Unlike
File Systems for Flash Memories. Marcela Zuluaga Sebastian Isaza Dante Rodriguez
File Systems for Flash Memories Marcela Zuluaga Sebastian Isaza Dante Rodriguez Outline Introduction to Flash Memories Introduction to File Systems File Systems for Flash Memories YAFFS (Yet Another Flash
COS 318: Operating Systems. Storage Devices. Kai Li Computer Science Department Princeton University. (http://www.cs.princeton.edu/courses/cos318/)
COS 318: Operating Systems Storage Devices Kai Li Computer Science Department Princeton University (http://www.cs.princeton.edu/courses/cos318/) Today s Topics Magnetic disks Magnetic disk performance
File Management. Chapter 12
Chapter 12 File Management File is the basic element of most of the applications, since the input to an application, as well as its output, is usually a file. They also typically outlive the execution
RAID Storage, Network File Systems, and DropBox
RAID Storage, Network File Systems, and DropBox George Porter CSE 124 February 24, 2015 * Thanks to Dave Patterson and Hong Jiang Announcements Project 2 due by end of today Office hour today 2-3pm in
1 File Management. 1.1 Naming. COMP 242 Class Notes Section 6: File Management
COMP 242 Class Notes Section 6: File Management 1 File Management We shall now examine how an operating system provides file management. We shall define a file to be a collection of permanent data with
Storage in Database Systems. CMPSCI 445 Fall 2010
Storage in Database Systems CMPSCI 445 Fall 2010 1 Storage Topics Architecture and Overview Disks Buffer management Files of records 2 DBMS Architecture Query Parser Query Rewriter Query Optimizer Query
Chapter 12 File Management
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 12 File Management Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Roadmap Overview File organisation and Access
Chapter 12 File Management. Roadmap
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 12 File Management Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Overview Roadmap File organisation and Access
Disks and RAID. Profs. Bracy and Van Renesse. based on slides by Prof. Sirer
Disks and RAID Profs. Bracy and Van Renesse based on slides by Prof. Sirer 50 Years Old! 13th September 1956 The IBM RAMAC 350 Stored less than 5 MByte Reading from a Disk Must specify: cylinder # (distance
EXPLODE: a Lightweight, General System for Finding Serious Storage System Errors
EXPLODE: a Lightweight, General System for Finding Serious Storage System Errors Junfeng Yang Joint work with Can Sar, Paul Twohey, Ben Pfaff, Dawson Engler and Madan Musuvathi Mom, Google Ate My GMail!
The Classical Architecture. Storage 1 / 36
1 / 36 The Problem Application Data? Filesystem Logical Drive Physical Drive 2 / 36 Requirements There are different classes of requirements: Data Independence application is shielded from physical storage
Network Attached Storage. Jinfeng Yang Oct/19/2015
Network Attached Storage Jinfeng Yang Oct/19/2015 Outline Part A 1. What is the Network Attached Storage (NAS)? 2. What are the applications of NAS? 3. The benefits of NAS. 4. NAS s performance (Reliability
Computer Engineering and Systems Group Electrical and Computer Engineering SCMFS: A File System for Storage Class Memory
SCMFS: A File System for Storage Class Memory Xiaojian Wu, Narasimha Reddy Texas A&M University What is SCM? Storage Class Memory Byte-addressable, like DRAM Non-volatile, persistent storage Example: Phase
Topics in Computer System Performance and Reliability: Storage Systems!
CSC 2233: Topics in Computer System Performance and Reliability: Storage Systems! Note: some of the slides in today s lecture are borrowed from a course taught by Greg Ganger and Garth Gibson at Carnegie
Sistemas Operativos: Input/Output Disks
Sistemas Operativos: Input/Output Disks Pedro F. Souto ([email protected]) April 28, 2012 Topics Magnetic Disks RAID Solid State Disks Topics Magnetic Disks RAID Solid State Disks Magnetic Disk Construction
Linux Driver Devices. Why, When, Which, How?
Bertrand Mermet Sylvain Ract Linux Driver Devices. Why, When, Which, How? Since its creation in the early 1990 s Linux has been installed on millions of computers or embedded systems. These systems may
System Calls Related to File Manipulation
KING FAHD UNIVERSITY OF PETROLEUM AND MINERALS Information and Computer Science Department ICS 431 Operating Systems Lab # 12 System Calls Related to File Manipulation Objective: In this lab we will be
Chapter 12 File Management
Operating Systems: Internals and Design Principles Chapter 12 File Management Eighth Edition By William Stallings Files Data collections created by users The File System is one of the most important parts
Red Hat Linux Internals
Red Hat Linux Internals Learn how the Linux kernel functions and start developing modules. Red Hat Linux internals teaches you all the fundamental requirements necessary to understand and start developing
Linux/UNIX System Programming. POSIX Shared Memory. Michael Kerrisk, man7.org c 2015. February 2015
Linux/UNIX System Programming POSIX Shared Memory Michael Kerrisk, man7.org c 2015 February 2015 Outline 22 POSIX Shared Memory 22-1 22.1 Overview 22-3 22.2 Creating and opening shared memory objects 22-10
CHAPTER 17: File Management
CHAPTER 17: File Management The Architecture of Computer Hardware, Systems Software & Networking: An Information Technology Approach 4th Edition, Irv Englander John Wiley and Sons 2010 PowerPoint slides
COSC 6374 Parallel Computation. Parallel I/O (I) I/O basics. Concept of a clusters
COSC 6374 Parallel I/O (I) I/O basics Fall 2012 Concept of a clusters Processor 1 local disks Compute node message passing network administrative network Memory Processor 2 Network card 1 Network card
Distributed File Systems. NFS Architecture (1)
COP 6611 Advanced Operating System Distributed File Systems Chi Zhang [email protected] NFS Architecture (1) a) The remote access model. (like NFS) b) The upload/download model (like FTP) 2 1 NFS Architecture
1 Storage Devices Summary
Chapter 1 Storage Devices Summary Dependability is vital Suitable measures Latency how long to the first bit arrives Bandwidth/throughput how fast does stuff come through after the latency period Obvious
File Management. COMP3231 Operating Systems. Kevin Elphinstone. Tanenbaum, Chapter 4
File Management Tanenbaum, Chapter 4 COMP3231 Operating Systems Kevin Elphinstone 1 Outline Files and directories from the programmer (and user) perspective Files and directories internals the operating
An Implementation Of Multiprocessor Linux
An Implementation Of Multiprocessor Linux This document describes the implementation of a simple SMP Linux kernel extension and how to use this to develop SMP Linux kernels for architectures other than
Taking Linux File and Storage Systems into the Future. Ric Wheeler Director Kernel File and Storage Team Red Hat, Incorporated
Taking Linux File and Storage Systems into the Future Ric Wheeler Director Kernel File and Storage Team Red Hat, Incorporated 1 Overview Going Bigger Going Faster Support for New Hardware Current Areas
An Open Source Wide-Area Distributed File System. Jeffrey Eric Altman jaltman *at* secure-endpoints *dot* com
An Open Source Wide-Area Distributed File System Jeffrey Eric Altman jaltman *at* secure-endpoints *dot* com What is AFS? A global wide-area Distributed File System providing location independent authenticated
Chapter 6, The Operating System Machine Level
Chapter 6, The Operating System Machine Level 6.1 Virtual Memory 6.2 Virtual I/O Instructions 6.3 Virtual Instructions For Parallel Processing 6.4 Example Operating Systems 6.5 Summary Virtual Memory General
CSE 120 Principles of Operating Systems. Modules, Interfaces, Structure
CSE 120 Principles of Operating Systems Fall 2000 Lecture 3: Operating System Modules, Interfaces, and Structure Geoffrey M. Voelker Modules, Interfaces, Structure We roughly defined an OS as the layer
Chapter 11: File System Implementation. Chapter 11: File System Implementation. Objectives. File-System Structure
Chapter 11: File System Implementation Chapter 11: File System Implementation File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency
Designing an NFS-based Mobile Distributed File System for Ephemeral Sharing in Proximity Networks
Designing an NFS-based Mobile Distributed File System for Ephemeral Sharing in Proximity Networks Nikolaos Michalakis Computer Science Department New York University, New York, NY Dimitris Kalofonos Pervasive
COSC 6374 Parallel Computation. Parallel I/O (I) I/O basics. Concept of a clusters
COSC 6374 Parallel Computation Parallel I/O (I) I/O basics Spring 2008 Concept of a clusters Processor 1 local disks Compute node message passing network administrative network Memory Processor 2 Network
Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY. 6.828 Operating System Engineering: Fall 2005
Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.828 Operating System Engineering: Fall 2005 Quiz II Solutions Average 84, median 83, standard deviation
COS 318: Operating Systems. Storage Devices. Kai Li and Andy Bavier Computer Science Department Princeton University
COS 318: Operating Systems Storage Devices Kai Li and Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall13/cos318/ Today s Topics! Magnetic disks!
CS3210: Crash consistency. Taesoo Kim
1 CS3210: Crash consistency Taesoo Kim 2 Administrivia Quiz #2. Lab4-5, Ch 3-6 (read "xv6 book") Open laptop/book, no Internet 3:05pm ~ 4:25-30pm (sharp) NOTE Lab6: 10% bonus, a single lab (bump up your
Lecture 24 Systems Programming in C
Lecture 24 Systems Programming in C A process is a currently executing instance of a program. All programs by default execute in the user mode. A C program can invoke UNIX system calls directly. A system
Distributed File Systems
Distributed File Systems File Characteristics From Andrew File System work: most files are small transfer files rather than disk blocks? reading more common than writing most access is sequential most
1. Introduction to the UNIX File System: logical vision
Unix File System 1. Introduction to the UNIX File System: logical vision Silberschatz, Galvin and Gagne 2005 Operating System Concepts 7 th Edition, Feb 6, 2005 Logical structure in each FS (System V):
Operating Systems and Networks
recap Operating Systems and Networks How OS manages multiple tasks Virtual memory Brief Linux demo Lecture 04: Introduction to OS-part 3 Behzad Bordbar 47 48 Contents Dual mode API to wrap system calls
Database Hardware Selection Guidelines
Database Hardware Selection Guidelines BRUCE MOMJIAN Database servers have hardware requirements different from other infrastructure software, specifically unique demands on I/O and memory. This presentation
Finding a needle in Haystack: Facebook s photo storage IBM Haifa Research Storage Systems
Finding a needle in Haystack: Facebook s photo storage IBM Haifa Research Storage Systems 1 Some Numbers (2010) Over 260 Billion images (20 PB) 65 Billion X 4 different sizes for each image. 1 Billion
CS 416: Opera-ng Systems Design
Question 1 Explain the major difference between a file system that supports journaling (e.g., Linux ext4) versus a log-structured file system (e.g., YAFFS2). Operating Systems 2015 Exam 3 Review Paul Krzyzanowski
Virtual Memory Behavior in Red Hat Linux Advanced Server 2.1
Virtual Memory Behavior in Red Hat Linux Advanced Server 2.1 Bob Matthews Red Hat, Inc. Kernel Development Team Norm Murray Red Hat, Inc. Client Engineering Team This is an explanation of the virtual memory
Oracle Cluster File System on Linux Version 2. Kurt Hackel Señor Software Developer Oracle Corporation
Oracle Cluster File System on Linux Version 2 Kurt Hackel Señor Software Developer Oracle Corporation What is OCFS? GPL'd Extent Based Cluster File System Is a shared disk clustered file system Allows
A Comparative Study on Vega-HTTP & Popular Open-source Web-servers
A Comparative Study on Vega-HTTP & Popular Open-source Web-servers Happiest People. Happiest Customers Contents Abstract... 3 Introduction... 3 Performance Comparison... 4 Architecture... 5 Diagram...
Lecture 17: Virtual Memory II. Goals of virtual memory
Lecture 17: Virtual Memory II Last Lecture: Introduction to virtual memory Today Review and continue virtual memory discussion Lecture 17 1 Goals of virtual memory Make it appear as if each process has:
Windows NT. Chapter 11 Case Study 2: Windows 2000. Windows 2000 (2) Windows 2000 (1) Different versions of Windows 2000
Chapter 11 Case Study 2: Windows 2000 11.1 History of windows 2000 11.2 Programming windows 2000 11.3 System structure 11.4 Processes and threads in windows 2000 11.5 Memory management 11.6 Input/output
ELEC 377. Operating Systems. Week 1 Class 3
Operating Systems Week 1 Class 3 Last Class! Computer System Structure, Controllers! Interrupts & Traps! I/O structure and device queues.! Storage Structure & Caching! Hardware Protection! Dual Mode Operation
Encrypt-FS: A Versatile Cryptographic File System for Linux
Encrypt-FS: A Versatile Cryptographic File System for Linux Abstract Recently, personal sensitive information faces the possibility of unauthorized access or loss of storage devices. Cryptographic technique
The Native AFS Client on Windows The Road to a Functional Design. Jeffrey Altman, President Your File System Inc.
The Native AFS Client on Windows The Road to a Functional Design Jeffrey Altman, President Your File System Inc. 14 September 2010 The Team Peter Scott Principal Consultant and founding partner at Kernel
4.2: Multimedia File Systems Traditional File Systems. Multimedia File Systems. Multimedia File Systems. Disk Scheduling
Chapter 2: Representation of Multimedia Data Chapter 3: Multimedia Systems Communication Aspects and Services Chapter 4: Multimedia Systems Storage Aspects Optical Storage Media Multimedia File Systems
OCFS2: The Oracle Clustered File System, Version 2
OCFS2: The Oracle Clustered File System, Version 2 Mark Fasheh Oracle [email protected] Abstract This talk will review the various components of the OCFS2 stack, with a focus on the file system and
Ryusuke KONISHI NTT Cyberspace Laboratories NTT Corporation
Ryusuke KONISHI NTT Cyberspace Laboratories NTT Corporation NILFS Introduction FileSystem Design Development Status Wished features & Challenges Copyright (C) 2009 NTT Corporation 2 NILFS is the Linux
File System Encryption with Integrated User Management
File System Encryption with Integrated User Management Stefan Ludwig Corporate Technology Siemens AG, Munich [email protected] Prof. Dr. Winfried Kalfa Operating Systems Group Chemnitz University of
Lab 2 : Basic File Server. Introduction
Lab 2 : Basic File Server Introduction In this lab, you will start your file system implementation by getting the following FUSE operations to work: CREATE/MKNOD, LOOKUP, and READDIR SETATTR, WRITE and
ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective
ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective Part II: Data Center Software Architecture: Topic 1: Distributed File Systems Finding a needle in Haystack: Facebook
File-system Intrusion Detection by preserving MAC DTS: A Loadable Kernel Module based approach for LINUX Kernel 2.6.x
File-system Intrusion Detection by preserving MAC DTS: A Loadable Kernel Module based approach for LINUX Kernel 2.6.x Suvrojit Das +91-9734294105 [email protected] Arijit Chattopadhayay +91-9474910685
Distributed File Systems. Chapter 10
Distributed File Systems Chapter 10 Distributed File System a) A distributed file system is a file system that resides on different machines, but offers an integrated view of data stored on remote disks.
Filesystems Performance in GNU/Linux Multi-Disk Data Storage
JOURNAL OF APPLIED COMPUTER SCIENCE Vol. 22 No. 2 (2014), pp. 65-80 Filesystems Performance in GNU/Linux Multi-Disk Data Storage Mateusz Smoliński 1 1 Lodz University of Technology Faculty of Technical
Lesson 06: Basics of Software Development (W02D2
Lesson 06: Basics of Software Development (W02D2) Balboa High School Michael Ferraro Lesson 06: Basics of Software Development (W02D2 Do Now 1. What is the main reason why flash
Cray DVS: Data Virtualization Service
Cray : Data Virtualization Service Stephen Sugiyama and David Wallace, Cray Inc. ABSTRACT: Cray, the Cray Data Virtualization Service, is a new capability being added to the XT software environment with
