![Page 1: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/1.jpg)
Modified from Silberschatz, Galvin and Gagne
Lecture 19
Ch 11: File System Implementation Ch. 12: Mass Storage Structure
![Page 2: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/2.jpg)
2Principles of Computer Operating Systems
Free-Space Management
Bit vector (n blocks)
…
0 1 2 n-1
bit[i] = 0 block[i] free
1 block[i] occupied
Block number calculation
(number of bits per word) *(number of 0-value words) +offset of first 1 bit
![Page 3: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/3.jpg)
3Principles of Computer Operating Systems
Free-Space Management (Cont.)
Bit map requires extra space
Example:
block size = 212 bytes
disk size = 230 bytes (1 gigabyte)
n = 230/212 = 218 bits (or 32K bytes)
Easy to get contiguous files
Linked list (free list)
Cannot get contiguous space easily
No waste of space
Grouping
Counting
![Page 4: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/4.jpg)
4Principles of Computer Operating Systems
Linked Free Space List on Disk
![Page 5: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/5.jpg)
5Principles of Computer Operating Systems
Free-Space Management (Cont.)
Need to protect: Pointer to free list Bit map
Must be kept on disk Copy in memory and disk may differ Cannot allow for block[i] to have a situation where bit[i] = 1 in
memory and bit[i] = 0 on disk Solution:
Set bit[i] = 1 in disk Allocate block[i] Set bit[i] = 1 in memory
![Page 6: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/6.jpg)
6Principles of Computer Operating Systems
Efficiency and Performance
Efficiency dependent on:
disk allocation and directory algorithms
types of data kept in file’s directory entry
Performance
disk cache
separate section of main memory for frequently used blocks
free-behind and read-ahead
techniques to optimize sequential access
improve PC performance by dedicating section of memory as virtual disk, or RAM disk
![Page 7: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/7.jpg)
7Principles of Computer Operating Systems
Page Cache
A page cache caches pages rather than disk blocks using virtual memory techniques
Memory-mapped I/O uses a page cache
Routine I/O through the file system uses the buffer (disk) cache
![Page 8: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/8.jpg)
8Principles of Computer Operating Systems
Unified Buffer Cache
A unified buffer cache uses the same page cache to cache both memory-mapped pages and ordinary file system I/O
![Page 9: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/9.jpg)
9Principles of Computer Operating Systems
Recovery
Consistency checking
compares data in directory structure with data blocks on disk,
and tries to fix inconsistencies
Use system programs to back up data from disk to another storage device
floppy disk, magnetic tape, other magnetic disk, optical
Recover lost file or disk by restoring data from backup
![Page 10: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/10.jpg)
10Principles of Computer Operating Systems
Log Structured File Systems
Log structured (or journaling) file systems record each update to the file system as a transaction
All transactions are written to a log
A transaction is considered committed once it is written to the log
However, the file system may not yet be updated
The transactions in the log are asynchronously written to the file system
When the file system is modified, the transaction is removed from the log
If the file system crashes, all remaining transactions in the log must still be performed
![Page 11: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/11.jpg)
11Principles of Computer Operating Systems
Network File System (NFS)
An implementation and a specification of a software system for accessing remote files across LANs (or WANs)
The implementation is part of the Solaris and SunOS operating systems
running on Sun workstations
using an unreliable datagram protocol
UDP/IP protocol and Ethernet
![Page 12: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/12.jpg)
12Principles of Computer Operating Systems
NFS (Cont.)
Interconnected workstations viewed as a set of independent machines with independent file systems, which allows sharing among these file systems in a transparent manner
A remote directory is mounted over a local file system directory
The mounted directory looks like an integral subtree of the local file system,
– replacing the subtree descending from the local directory
Specification of the remote directory for the mount operation is nontransparent;
the host name of the remote directory has to be provided
files in the remote directory can then be accessed in a transparent manner
Subject to access-rights accreditation, potentially any file system (or directory within a file system), can be mounted remotely on top of any local directory
![Page 13: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/13.jpg)
13Principles of Computer Operating Systems
NFS (Cont.)
NFS is designed to operate in a heterogeneous environment of different machines, operating systems, and network architectures;
the NFS specifications independent of these media
This independence is achieved through the use of RPC primitives built on top of an External Data Representation (XDR) protocol used between two implementation-independent interfaces
The NFS specification distinguishes between the services provided by a mount mechanism and the actual remote-file-access services
![Page 14: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/14.jpg)
14Principles of Computer Operating Systems
Three Independent File Systems
![Page 15: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/15.jpg)
15Principles of Computer Operating Systems
Mounting in NFS
Mounts Cascading mounts
![Page 16: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/16.jpg)
16Principles of Computer Operating Systems
NFS Mount Protocol
Establishes initial logical connection between server and client
Mount operation includes name of remote directory to be mounted and name of server machine storing it
Mount request is mapped to corresponding RPC and forwarded to mount server running on server machine
Export list: specifies local file systems that server exports for mounting, along with names of machines that are permitted to mount them
Following a mount request that conforms to its export list, the server returns a file handle (a key for further accesses)
File handle: a file-system identifier, and an inode number to identify the mounted directory within the exported file system
The mount operation changes only the user’s view and does not affect the server side
![Page 17: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/17.jpg)
17Principles of Computer Operating Systems
NFS Protocol
Provides a set of remote procedure calls for remote file operations. The procedures support the following operations
searching for a file within a directory reading a set of directory entries manipulating links and directories accessing file attributes reading and writing files
NFS servers are stateless; each request has to provide a full set of arguments NFS V4 is just coming available – stateful
Modified data must be committed to the server’s disk before results are returned to the client lose advantages of caching
The NFS protocol does not provide concurrency-control mechanisms
![Page 18: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/18.jpg)
18Principles of Computer Operating Systems
Three Major Layers of NFS Architecture
UNIX file-system interface
based on the open, read, write, and close calls, and file descriptors
Virtual File System (VFS) layer: distinguishes local files from remote ones, and local files are further distinguished according to their file-system types
The VFS activates file-system-specific operations to handle local requests according to their file-system types
Calls the NFS protocol procedures for remote requests
NFS service layer: bottom layer of the architecture
Implements the NFS protocol
![Page 19: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/19.jpg)
19Principles of Computer Operating Systems
Schematic View of NFS Architecture
![Page 20: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/20.jpg)
20Principles of Computer Operating Systems
NFS Remote Operations
Nearly one-to-one correspondence between regular UNIX system calls and the NFS protocol RPCs
except opening and closing files
NFS adheres to the remote-service paradigm,
but employs buffering and caching techniques for the sake of performance
File-blocks cache: when a file is opened, the kernel checks with the remote server whether to fetch or revalidate the cached attributes
Cached file blocks are used only if the corresponding cached attributes are up to date
File-attribute cache: the attribute cache is updated whenever new attributes arrive from the server
Clients do not free delayed-write blocks until the server confirms that the data have been written to disk
![Page 21: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/21.jpg)
21Principles of Computer Operating Systems
NFS Path-Name Translation
Performed by breaking the path into component names and performing a separate NFS lookup call for every pair of component name and directory vnode
To make lookup faster,
a directory name lookup cache on the client’s side holds the vnodes for remote directory names
![Page 22: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/22.jpg)
22Principles of Computer Operating Systems
![Page 23: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/23.jpg)
23Principles of Computer Operating Systems
Chapter 12: Mass-Storage Systems
Overview of Mass Storage Structure
Disk Structure
Disk Attachment
Disk Scheduling
Disk Management
Swap-Space Management
RAID Structure
Disk Attachment
Stable-Storage Implementation
Tertiary Storage Devices
Operating System Issues
Performance Issues
![Page 24: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/24.jpg)
24Principles of Computer Operating Systems
Objectives
Describe the physical structure of secondary and tertiary storage devices
and the resulting effects on the uses of the devices
Explain the performance characteristics of mass-storage devices
Discuss operating-system services provided for mass storage
including RAID and HSM
![Page 25: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/25.jpg)
25Principles of Computer Operating Systems
Overview of Mass Storage Structure
Magnetic disks
provide bulk of secondary storage of modern computers
Drives rotate at 60 to 200 times per second
Transfer rate is rate at which data flow between drive and computer
Positioning time (random-access time) is time to move disk arm to desired cylinder (seek time) and time for desired sector to rotate under the disk head (rotational latency)
Head crash results from disk head making contact with the disk surface
That’s bad
Disks can be removable
Drive attached to computer via I/O bus
Busses vary, including EIDE, ATA, SATA, USB, Fibre Channel, SCSI
Host controller in computer uses bus to talk to disk controller built into drive or storage array
![Page 26: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/26.jpg)
26Principles of Computer Operating Systems
Moving-head Disk Mechanism
![Page 27: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/27.jpg)
27Principles of Computer Operating Systems
Overview of Mass Storage Structure (Cont.)
Magnetic tape
Was early secondary-storage medium
Relatively permanent and holds large quantities of data
Access time slow
Random access ~1000 times slower than disk
Mainly used for backup, storage of infrequently-used data, transfer medium between systems
Kept in spool and wound or rewound past read-write head
Once data under head, transfer rates comparable to disk
20-200GB typical storage
Common technologies are 4mm, 8mm, 19mm, LTO-2 and SDLT
![Page 28: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/28.jpg)
28Principles of Computer Operating Systems
Disk Structure
Disk drives are addressed as large 1-dimensional arrays of logical blocks
the logical block is the smallest unit of transfer
The 1-dimensional array of logical blocks is mapped into the sectors of the disk sequentially
Sector 0 is the first sector of the first track on the outermost cylinder
Mapping proceeds in order through that track,
then the rest of the tracks in that cylinder, and
then through the rest of the cylinders from outermost to innermost.
![Page 29: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/29.jpg)
29Principles of Computer Operating Systems
Disk Attachment
Host-attached storage accessed through I/O ports talking to I/O busses
SCSI itself is a bus, up to 16 devices on one cable,
SCSI initiator requests operation and SCSI targets perform tasks
Each target can have up to 8 logical units (disks attached to device controller
Fiber Channel is high-speed serial architecture
Can be switched fabric with 24-bit address space
the basis of storage area networks (SANs) in which many hosts attach to many storage units
Can be arbitrated loop (FC-AL) of 126 devices
![Page 30: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/30.jpg)
30Principles of Computer Operating Systems
Network-Attached Storage
Network-attached storage (NAS) is storage made available over a network rather than over a local connection (such as a bus)
NFS and CIFS are common protocols
Implemented via remote procedure calls (RPCs) between host and storage
New iSCSI protocol uses IP network to carry the SCSI protocol
![Page 31: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/31.jpg)
31Principles of Computer Operating Systems
Storage Area Network
Common in large storage environments (and becoming more common)
Multiple hosts attached to multiple storage arrays - flexible
![Page 32: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/32.jpg)
32Principles of Computer Operating Systems
Disk Scheduling
The operating system is responsible for using hardware efficiently
for the disk drives, this means having a fast access time and disk bandwidth.
Access time has two major components
Seek time is the time for the disk are to move the heads to the cylinder containing the desired sector.
Rotational latency is the additional time waiting for the disk to rotate the desired sector to the disk head.
Minimize seek time
Seek time seek distance
Disk bandwidth is the total number of bytes transferred, divided by the total time between the first request for service and the completion of the last transfer.
![Page 33: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/33.jpg)
33Principles of Computer Operating Systems
Disk Scheduling (Cont.)
Several algorithms exist to schedule the servicing of disk I/O requests.
We illustrate them with a request queue (0-199).
98, 183, 37, 122, 14, 124, 65, 67
Head pointer 53
![Page 34: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/34.jpg)
34Principles of Computer Operating Systems
FCFS
Illustration shows total head movement of 640 cylinders.
![Page 35: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/35.jpg)
35Principles of Computer Operating Systems
SSTF
Selects the request with the minimum seek time from the current head position.
SSTF scheduling is a form of SJF scheduling;
may cause starvation of some requests.
Illustration shows total head movement of 236 cylinders.
![Page 36: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/36.jpg)
36Principles of Computer Operating Systems
SCAN
The disk arm starts at one end of the disk, and moves toward the other end, servicing requests until it gets to the other end of the disk, where the head movement is reversed and servicing continues.
Sometimes called the elevator algorithm.
Illustration shows total head movement of 208 cylinders.
![Page 37: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/37.jpg)
37Principles of Computer Operating Systems
C-SCAN
Provides a more uniform wait time than SCAN.
The head moves from one end of the disk to the other. servicing requests as it goes. When it reaches the other end, however, it immediately returns to the beginning of the disk, without servicing any requests on the return trip.
Treats the cylinders as a circular list that wraps around from the last cylinder to the first one.
![Page 38: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/38.jpg)
38Principles of Computer Operating Systems
C-LOOK
Version of C-SCAN
Arm only goes as far as the last request in each direction, then reverses direction immediately, without first going all the way to the end of the disk.
![Page 39: Modified from Silberschatz, Galvin and Gagne Lecture 19 Ch 11: File System Implementation Ch. 12: Mass Storage Structure](https://reader036.vdocument.in/reader036/viewer/2022062407/56649d605503460f94a41320/html5/thumbnails/39.jpg)
39Principles of Computer Operating Systems
Selecting a Disk-Scheduling Algorithm
SSTF is common and has a natural appeal
SCAN and C-SCAN perform better for systems that place a heavy load on the disk.
Performance depends on the number and types of requests.
Requests for disk service can be influenced by the file-allocation method.
The disk-scheduling algorithm should be written as a separate module of the operating system, allowing it to be replaced with a different algorithm if necessary.
Either SSTF or LOOK is a reasonable choice for the default algorithm.