1 / 44

Operating Systems

Operating Systems. Dr. Jerry Shiao, Silicon Valley University. File-System Implementation. Overview The Operating System uses a File System to abstract the physical properties of the storage device into the logical storage unit, the file, and the organization of the files, the directory.

haley
Download Presentation

Operating Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Operating Systems Dr. Jerry Shiao, Silicon Valley University SILICON VALLEY UNIVERSITY CONFIDENTIAL

  2. File-System Implementation • Overview • The Operating System uses a File System to abstract the physical properties of the storage device into the logical storage unit, the file, and the organization of the files, the directory. • File-System Structure • Details of implementing local file systems and directory structure. • File-System Implementation. • Structure file use • Remote File Systems. • Directory Implementation • Allocation Methods of Disk Space • Block allocation and Free-Block algorithms. • Free-Space Management • Recover freed Disk Space. • Track locations of data. • Efficiency and Performance • Interface other parts of the Operating System to Secondary Storage. • Recovery • NFS SILICON VALLEY UNIVERSITY CONFIDENTIAL

  3. File-System Implementation • File-System Structure • Most common secondary-storage medium, the disk. • Disk can be rewritten in place ( read a block, modify the block, write block back into same location ). • Disk can access directly any block of information in a file, sequentially or randomly. • I/O transfers in blocks: Each block is one or more sectors. • Sector size is 32 Bytes to 4096 Bytes. Default 512 Bytes. • File Systems provides efficient and convenient access to disk. • File System research active in Operating System design. • File System Design Issues: • User view of the File System: Defining file attributes, file operations, directory structure for file organization. • Algorithms and data structures to map logical file system onto physical secondary-storage device. • CD-ROM support ISO 9660, standard format for CD-ROM Manufactors • Disk File-Systems: • Windows NT, 2000, and XP supports FAT, FAT32, NTFS (Windows NT File System). • UNIX supports UNIX File System (UFS) and Berkeley Fast File System (FFS). • Linux supports Extended File System ( ext2 and ext3). SILICON VALLEY UNIVERSITY CONFIDENTIAL

  4. File-System Implementation • File-System Structure • File System composed of many different levels. • Layer concept can be reused by multiple file systems. • Each file system has own Logical File System and File Organization Module. Logical File System manages metadata information (file system structures except actual data). FCB or File Control Block (Linux Inode) has information on file ownership, permissions, location. Manages the directory structure used by the File Organization Module. File Organization Module handles files and logical block addresses to physical block addresses translation. Free Space Manager tracks unallocated blocks. Basic File System issues commands to device driver to read/write physical block on the disk. Manages memory buffer, cache for file system directories and I/O blocks. Lowest level: I/O control consists of device drivers and interrupt handlers. Transfers I/O blocks from main memory to disk. Hardware-specific instructions used by the hardware controller to interface with I/O device. SILICON VALLEY UNIVERSITY CONFIDENTIAL

  5. File-System Implementation • File-System Structure • Structures On-Disk for Implementing File System • Boot Control Block ( Per Volume ): Information used to boot an Operating System from the volume (first block of volume, can be empty). • UNIX: Boot Block. • NTFS: Partition Boot Sector. • Volume Control Block ( Per Volume ): Number of blocks in volume (or partition), size of the blocks, free-block count/pointers, free-FCB (File Control Block) count/pointers. • UNIX: Super Block. • NTFS: Master File Block. • Directory Structure ( Per File System ): Organize the files. • UNIX: File Names and Inode. • NTFS: Master File Table. • File Control Block ( Per File ): Unique Identifier to associate with a directory entry ( Linux Inode ). • UNIX: FCB. • NTFS: Master File Table. SILICON VALLEY UNIVERSITY CONFIDENTIAL

  6. File-System Implementation • File-System Implementation • Structures In-Memory for Implementing File System • Mount Table: Information on each mounted volume. • Directory Structure Cache: Directory information of recently accessed directories. • Open-File Table ( system wide ): Copy of the FCB of each open file. • Open-File Table ( Per Process): Pointer to the FCB in system-wide Open-File Table. • Buffers holding File-System blocks being read/written from/to disk. File Control Block ( FCB ) • FCB: • Open () system call passes file name to Logical File System and looks up file name in Directory Structure. • Search system-wide Open-File Table. • Already exist (used by another process): Per-Process Open-File Table created pointing to the system-wide Open-File entry. • Not exist, Directory Structure searched, the FCB is copied into system-wide Open-File Table. Open-File Table keeps track of processes using the file. • Per-Process Open-File Table created pointing to the system-wide Open-File entry. • UNIX: File Descriptor is index into Per-Process Open-File Table for the file. • Windows: File Handle. SILICON VALLEY UNIVERSITY CONFIDENTIAL

  7. Open() file name NOT in system-wide open-file table. The directory structure is searched for file name. Parts of the directory structure is cached in memory. The entry contains the pointer to the FCB. File-System Implementation • File-System Implementation Application uses Index (File Descriptor) to access file data. FCB is placed in the system-wide open-file table during the open(). SILICON VALLEY UNIVERSITY CONFIDENTIAL

  8. File-System Implementation • File-System Implementation • FCB Interface to Directory Structure • Process closes a file: Per-process Open-File entry is removed. • System-Wide Open-File Table entry open count is decremented. • If open count is zero, metadata is copied back to disk-based Directory Structure. System-Wide Open-File entry is removed. • FCB Interface to Other System Types (i.e. Networking ( NFS ) or Named Pipes ( FIFO ): • System-Wide Open-File Table also holds similar information for network connections and devices. • Sockets • End-to-end communication between two systems over a network. • Client-Server model. • Named Pipes ( FIFO ) • Inter-process communication using File System. SILICON VALLEY UNIVERSITY CONFIDENTIAL

  9. File-System Implementation • File-System Implementation • Partitions and Mounting • Partition with no File System ( Raw ): • Formatted according to its use. • Swap Space • RAID configuration database and bit maps for mirrored blocks. • Boot Information: • Boot Loader loaded as series of blocks. • Mounts root partition, loads the Kernel and start executing. • Boot Loader can support dual boot: Multiple Operating Systems and multiple File Systems. • Disk can have multiple partitions, each partition contains a different File System with a different Operating System. • Windows: Mount in separate name space, using letter and colon ( i.e. “F:” device “F” is pointer to file structure of partition). • UNIX: Inode of the in-memory directory has flag indicating directory is a mount point. • Directory entry  Mount Table  Super Block of the File System. • Partition with File System ( Cooked ): SILICON VALLEY UNIVERSITY CONFIDENTIAL

  10. File-System Implementation • File-System Implementation • Virtual File System • Integrating Multiple File Systems into Directory Structure • Object-oriented technique to modularize implementation. • Data structures and procedures used to isolate System Calls from implementation details. • VFS API uses same System Call API to be used for different types of File Systems. • Clean VFS interface: Separates file-system-generic operations. • Vnode, file-representaiton structure to uniquely representing a file in a file system locally and throughout a network. • Network File System support. • Vnode structure for each active file or directory node. • UNIX: Inode unique within a single File System. • File-System types • File-System-Specific operations are called through the inode structure. • VFS does not know whether an inode represents a disk file, a directory file or a remote file ( through NFS ). SILICON VALLEY UNIVERSITY CONFIDENTIAL

  11. File-System Implementation 1) User interface with File Descriptors : open(), read(), write(), close(). • File-System Implementation • Virtual File System Major Layers 2) VFS API, Inode for active node (file or directory). Inodes are unique within a single File System. 3) The File System type or the Remote File System. SILICON VALLEY UNIVERSITY CONFIDENTIAL

  12. File-System Implementation • File-System Implementation • Virtual File System • Main Object Types defined by Linux VFS: • Inode Object: Represents an individual file. • File Object: Represents an Open File. • SuperBlock Object: Represents as entire File System. • Dentry Object: Represents an individual Directory entry. • Set of Operations defined for each Object Type. • VFS performs operation on the Object Types by indirectly calling the functions registered for the Object Types. • Does not need to know what kind of object ( i.e. Inode Object could represent a disk file, directory file, or a remote file). SILICON VALLEY UNIVERSITY CONFIDENTIAL

  13. File-System Implementation Virtual File System (VFS) User space has the applications and glibc (provides API file system calls: open, read, write, close). System call interface acts as a switch, funneling system calls from user space to the appropriate endpoints in kernel space. VFS exports APIs and abstracts them to individual file systems. Inode cache and Directory cache provides a pool of recently-used file system objects. Directory cache speeds up translation from file pathname to inode. Individual file systems exports APIs that is used by the VFS. Buffer cache buffers the requests between the file systems and the block devices that they manipulate (for faster access). Spring 2013 SILICON VALLEY UNIVERSITY CONFIDENTIAL 13

  14. File-System Implementation Virtual File System (VFS) Superblock Object Superblock Object Inode Object Inode Object Inode Cache Inode Cache Process 1 File Object Dentry Object Dentry Object Dentry Object Dentry Object Process 2 File Object Dentry Cache Disk File Process 1 File Object Access same file. Process 2 File Object Dentry Cache File Object: Stores info about interaction between open file and process. Dentry Object: Stores info about linking directory entry (file name) and file. Inode Object: Stores info about specific file (inode number identifies file). The file control block. Superblock Object: Stores info about mounted filesystem. The filesystem control block. Spring 2013 SILICON VALLEY UNIVERSITY CONFIDENTIAL 14

  15. File-System Implementation Virtual File System (VFS) Inode represents an object in the file system with a unique identifier (translating filename). struct file_operations abstractions (i.e. read/write/open ) allow all I/O operations to have common interface. The indirect calls (i.e. callback functions) are APIs specific to the file system. To achieve the abstraction (i.e. “black box operation) to the user, common API to the user through glibc library and common callback function signature to the I/O functions. Spring 2013 SILICON VALLEY UNIVERSITY CONFIDENTIAL 15

  16. File-System Implementation • Directory Implementation • Directory Allocation and Management Algorithms • Affects the efficiency, performance, and reliability of the File System. • Linear List • Linear list of File names and pointers to the data blocks. • File search, creation and deletion, needs a linear search. • Improve on file access with: • Software cache of most recent directory information. • Sorted linked list. • Binary tree of directory entries. • Hash Table • Directory search time greatly decreased. • Hash index using the File Name to compute the index. • Hash function can make Hash Table very large. • Handle collisions using linked list of collided entries. • Slower, but easier to implement. SILICON VALLEY UNIVERSITY CONFIDENTIAL

  17. File-System Implementation • Allocation Methods • Disk Space Utilized Effectively • Three Methods of Allocating Disk Space: • Contiguous, Linked, Indexed. • Contiguous Allocation • File occupy set of continguous blocks: Disk address define linear ordering on the disk. • Sequential Access: Disk address of last block plus next block. • Direct Access: Disk address of first block plus block offset. • Minimal head movement, seek minimal. • IBM VM/CMS Operating System uses Contiguous Allocation for performance. • Limitations: Finding contiguous space for new file. • First Fit and Best Fit dynamic storage –allocation. • File extension: Difficult estimating size of an output file (over-estimate). • Over-estimitation and internal fragmentation. • External fragmentation. • Off-line compaction (copying to another disk or tape and then compacting). • Hybrid contiguous-allocation scheme. • Extend to another contiguous block (Internal fragmentation when extend too large). SILICON VALLEY UNIVERSITY CONFIDENTIAL

  18. File-System Implementation • Allocation Methods • Contiguous Allocation SILICON VALLEY UNIVERSITY CONFIDENTIAL

  19. File-System Implementation • Allocation Methods • Linked Allocation • Each file is a linked list of disk blocks, scattered on disk. • Each block contains 4 Byte pointer to the next block. • For 512 Byte block, has 508 Bytes of usable space. • Size of file does not have to be known. • A file can grow as long as free blocks are available. • Directory contains pointer to the first and last block of the file. • Limitations: • Effective only for Sequential-Access files. • Inefficient for Direct-Access files • Allocate clusters of blocks, instead of one block at a time. • Internal fragmentation problem. • Reliability: Pointers can be damaged in the block. • File Allocation Table ( FAT ): MS-DOS and OS/2. • Section of disk at the beginning of each volume contains the FAT. • Table has one entry for each block and indexed by block number • Access similar to Link List. • FAT cached to minimize disk overhead ( disk head seeks ). SILICON VALLEY UNIVERSITY CONFIDENTIAL

  20. File-System Implementation • Allocation Methods • Linked Allocation SILICON VALLEY UNIVERSITY CONFIDENTIAL

  21. File-System Implementation • Allocation Methods • Linked Allocation Directory Entry contains offset to the start of the File in the FAT. File Allocation Table ( FAT ): Each entry represents a physical block on disk and each entry points to the next entry (block). SILICON VALLEY UNIVERSITY CONFIDENTIAL

  22. File-System Implementation • Allocation Methods • Linked Allocation SILICON VALLEY UNIVERSITY CONFIDENTIAL

  23. File-System Implementation • Allocation Methods • Indexed Allocations • Index Block: Bring all pointers into one location. • Each file has index block: Pointers to each Data Block. • Similar to Page Table for Virtual Memory. • Index block allocated disk block from free-space manager. • Supports direct access without external fragmentation. • Linked Index Block: • Large files, link several Index Blocks. The Index Block has pointer to next Index Block. • Pointer overhead of Index Allocation more overhead than Linked Allocation. • Multilevel Index Block: • First –level Index Block points to Second-level Index blocks, etc. • 4096 Byte blocks  1024 4 Byte pointers in Index Block  2 levels Index Blocks  1024 x 1024  1048576 data blocks x 4096 blocks  4 Gbytes file. • Combined Scheme: • First 15 pointers of the Index Block in the Inode. • First 12 pointers are pointing to direct blocks. • Next 3 pointers are single, double, triple indirect blocks. • Number of Data Blocks to a file exceeds 2^32 or 4 GB. • Index Blocks can be cached in memory for performance. SILICON VALLEY UNIVERSITY CONFIDENTIAL

  24. File-System Implementation • Allocation Methods • Indexed Allocation • Directory entry contains the address of the Index Block. • Index Block is an array of disk-block addresses. • “ith” Data Block, use the disk address in the “ith” Index Block entry. • Index block per file similar to Paging scheme with Page Table per process. SILICON VALLEY UNIVERSITY CONFIDENTIAL

  25. File-System Implementation UNIX File System • Allocation Methods • Combined Scheme (Linked and Multi-level) Allocation Index Block Linked Allocation Multi-level Linked Allocation SILICON VALLEY UNIVERSITY CONFIDENTIAL

  26. File-System Implementation • Allocation Methods • Performance • Allocation Methods Measured by: • Storage efficiency and data-block access time. • Criterias: How a system is used • Sequential Access • Linked Allocation (address of next block in memory). • Random Access • Direct Access. • Contiguous Allocation (start of block plus offset). • Define how a file is used and create either contiguous (Direct Access with maximum length) or Linked Allocation (Sequential Access). • File converted from one type to another by creating new file of desired type. • Operating System uses contiguous allocation for small files (3 or 4 blocks) and Index Allocation for larger. • Average performance is good, since most files are small. • UNIX allocates space in clusters of 56 Kbytes (DMA transfer size). • Minimize external fragmentation, seek and latency times. SILICON VALLEY UNIVERSITY CONFIDENTIAL

  27. File-System Implementation • Free-Space Management • Free-Space List: Keep track of free disk space, not allocated to files or directories. • Bit Map or Bit Vector: 1 = Free Block, 0 = Allocated • Hardware instruction to return the offset in a word of the first bit with value 1 (Intel 80386 and Motorola 68020 Family). • (number of bits per word) x (number of 0-value words) + offset of first 1 bit • Ifefficient: • Disk size constantly increases: size of bit vectors will continually increase. • Caching Bit Map in memory increases performance. • 1 TeraByte disk with 4KByte blocks require 32 Mbytes to store Bit Map. • Linked List • Link together free disk blocks: First free block in special location on disk. • Operating System usually requests first block in the Linked List. • FAT uses Free-Block Linked List. • Grouping Linked List • Address of “n” free blocks in first free block. • “(n-1)” block address is the address of another “n” free blocks. SILICON VALLEY UNIVERSITY CONFIDENTIAL

  28. File-System Implementation 0 1 2 n-1 • Free-Space Management • Free-Space List: Keep track of free disk space, not allocated to files or directories. • Bit Map or Bit Vector: 1 = Free Block, 0 = Allocated • Hardware instruction to return the offset in a word of the first bit with value 1 (Intel 80386 and Motorola 68020 Family). • (number of bits per word) x (number of 0-value words) + offset of first 1 bit • Inefficient: • Disk size constantly increases: size of bit vectors will continually increase. • Caching Bit Map in memory increases performance. • 1 TeraByte disk with 4KByte blocks require 32 Mbytes to store Bit Map. … 0  block[i] free 1  block[i] occupied bit[i] =  SILICON VALLEY UNIVERSITY CONFIDENTIAL

  29. File-System Implementation • Free-Space Management • Free-Space Linked List • Linked List • Link together free disk blocks: First free block in special location on disk. • Operating System usually requests first block in the Linked List. • FAT uses Free-Block Linked List. • Grouping Linked List • Address of “n” free blocks in first free block. • “(n-1)” block address is the address of another “n” free blocks. • Counting • Expect several contiguous blocks allocated/freed simultaneously. • Address of first free block and number of free contiguous block that follow. SILICON VALLEY UNIVERSITY CONFIDENTIAL

  30. File-System Implementation • Efficiency and Performance • Analyze the Block-Allocation and Directory-Management Options. • Efficiency: • Disk efficiency depends on Disk allocation and Directory algorithms used. • UNIX inodes preallocated on a volume improves Directory performance. • Clusters of data blocks improves on file-seek and file-transfer performance. • Data block linked allocation, and different levels of Indexed Allocation for directories has difficulties in choosing pointer size because of the evolving nature of disk technology. • Performance: • Cache Data blocks in Buffer Cache in main memoary. • Page Cache to file data as pages rather than File-System-Oriented Data blocks (Unified Virtual Memory Algorithms). SILICON VALLEY UNIVERSITY CONFIDENTIAL

  31. File-System Implementation • Efficiency and Performance • Performance I/O without Unified Buffer Cache. Double Caching and requires caching File-System data twice. Virtual Memory does not interface with the Buffer Cache. Contents of the Buffer Cache must be copied into the Page Cache. Reads in disk blocks from File System into Buffer Cache. SILICON VALLEY UNIVERSITY CONFIDENTIAL

  32. File-System Implementation • Efficiency and Performance • Performance • Unified Virtual Memory • Use Page Caching for both process pages and file data. • Virtual Memory system manages File-System data. • Limitations: • Solaris allocates pages to a process or to the Page Cache. • Operating System performing I/O uses the available memory for caching pages. • Needs Priority Paging, Page Scanner gives priority to process pages over the Page Cache. SILICON VALLEY UNIVERSITY CONFIDENTIAL

  33. File-System Implementation • Efficiency and Performance • Performance: File System Writes • Synchronous Writes. • Occur in the order the disk subsystem receives them: write not buffered. • User process must wait for the data to complete disk write. • Asynchronous Writes. • Data stored in the cache. • User process receives control immediately. • Replacement Algorithm: • Free-behind removes a page from the buffer as soon as the next page is requested. • Previous page not likely to be used again. • Read-ahead reads the requested page and several subsequent pages. • Reading data in one transfer and caching saves I/O processing time. SILICON VALLEY UNIVERSITY CONFIDENTIAL

  34. File-System Implementation • Recovery • System crash can cause inconsistencies among on-disk File-System data structures. • Typical File Operation causes: • Directory Structures are modified. • FCBs are allocated. • Data Blocks are allocated. • Free counts for FCB pointers, Free-Block pointers are decremented. • Operating System caches data structures. • Operating System can interrupt these changes. • Consistency Checking • File System must detect and correct problems. • Metadata scan to confirm or deny the Operating System consistency when system boots. • File System can record its state within File System metadata. • Consistency Checker: fsck ( ) in UNIX and chkdsk in Windows. • Allocation algorithm and Free-Space Management algorithm dictates what type of recovery is possible. SILICON VALLEY UNIVERSITY CONFIDENTIAL

  35. File-System Implementation • Recovery • Log-Based Transaction-Oriented File Systems ( Journaling ) • All metadata changes ( Transactions ) are written sequentially to a circular buffer ( Log ). • Once written to the Log, transactions are considered committed and system call returns to the User Process. • Log entries are replayed across File System and removed from the Log when entry completes. • Operating System crashes before Log entry completed, • Changes from incomplete transaction must be undone when Operating System rebooted. • All transactions in Log will execute to modify the File System. SILICON VALLEY UNIVERSITY CONFIDENTIAL

  36. File-System Implementation Database Backups Level 0 IMAGE backup • Recovery • System Program Back-Up to other Storage Device • Incremental Backup Minimize Copying. Day 1 Level 1 incremental backup Day 2 Day 1 Applied Level 1 incremental backup Day 3 Day 2 Day 3 SILICON VALLEY UNIVERSITY CONFIDENTIAL

  37. File-System Implementation • Network File System ( NFS ) • Client-Server Network File System: Typically integrated with overall directory structure and interface of client system. • Views interconnected workstations as set of independent machines with independent file systems. • Sharing in transparent manner between pair machines. • A system should have both client and server functionality. • Remote directory transparency: • Client must use mount operation. • Mounted directory appears as integral subtree of local File System. • Location or Host Name of remote system must be provided. • Subject to access-rights accreditation, any File System, or any directory within a File System, can be mounted remotely on top of any local directory. • Cascading mounts allow a File System to be mounted over another File System that is remotely mounted, not local. • Mount mechanism does not exhibit a transitivity property. • NFS operate in a heterogeneous environment of different machines, Operating Systems, and Network architectures. • Independence achieved by RPC primitives on top of external data representation ( XDR ) protocol between two implementation-independent interfaces. SILICON VALLEY UNIVERSITY CONFIDENTIAL

  38. File-System Implementation Three independent File Systems of Operating Systems in U, S1, and S2 machines. • Network File System ( NFS ) From U, mount the remote File Systems in dir1 (S1) and dir2 (S2). SILICON VALLEY UNIVERSITY CONFIDENTIAL

  39. File-System Implementation Mounting S1: /usr/shared over U:/usr/local. After mount, users on U can view the contents of dir1 from S1. Original directory /usr/local no longer visible. • Network File System ( NFS ) Cascading Mounting S2:/usr/dir2 over U:/usr/local/dir1. After mount, users on U can view contents of dir1 from S2. S1 S2 SILICON VALLEY UNIVERSITY CONFIDENTIAL

  40. File-System Implementation • Network File System ( NFS ) • Mount Protocol • Initial logical connection between a server and a client. • Mount operation: name of remote directory and name of server machine storing it. • Mount operation  RPC  Forwarded to remote system. • Server maintains: • Export List: Local File System server exports for mounting. • Export List: Names of remote systems permitted to mount. • /etc/dfs/dfstab: Solaris Access Rights • /etc/exports: Linux Access Rights • List of Client machines and currently mounted directories. • Used to send Warning that the server is going down. • File handle returned to client as key for further accesses to the mounted File System. • Other operations: unmount and return Export List. SILICON VALLEY UNIVERSITY CONFIDENTIAL

  41. File-System Implementation • Network File System ( NFS ) • The NFS Protocol • A set of RPCs for remote File operations. • Searching for a file within a directory. • Reading a set of directory entries. • Manipulating links and enties. • Accessing file attributes. • Reading and writing files. • NFS Servers are stateless: • No UNIX’s open-file table or file structures exist on the server side. • Each request has full set of arguments, unique file identifier, absolute offset inside the file for the operations. • Sequence number to identify duplicated or missing requests. • Modified data must be committed to the server’s disk before results are returned to the client. • Does not provide concurrency-control mechanism. • Intermixed UDP packets from multiple requests to the same remote file. • Locking mechanism outside of NFS protocol to coordinate and synchronize access. • Integrated into the Operating System though Virtual File System. SILICON VALLEY UNIVERSITY CONFIDENTIAL

  42. File-System Implementation • The client initiates a write operation to remote file. • Operating System maps to VFS operation and appropriate inode. • VFS layer identifies the file as remote and invokes the NFS procedure. • RPC call is made to the NFS service layer at the remote server. • Call is reinjected to the VFS layer on the remote system. • Remote VFS finds that system call is local and invokes file-operation operation. • Path is retraced to return the result. • Network File System ( NFS ) • The NFS Protocol SILICON VALLEY UNIVERSITY CONFIDENTIAL

  43. File-System Implementation • Network File System ( NFS ) • The NFS Protocol • Path-Name Translation • Parsing the path name (i.e. /usr/local/dir1/file.txt) into component names and performing a separate NFS lookup call for every pair of component name and directory vnode. • NFS Lookup Call for: (1) /usr (2) /usr/local (3) /usr/local/dir1 • Server needs separate component names, since the client’s file directory layout is unique. • Remote Operations • File operation (except open / close) translate to NFS protocol RPC. • File-blocks cache – When a file is opened, the kernel checks with the remote server whether to fetch or revalidate the cached attributes. • File blocks cache – Used if corresponding cached attributes are up to date. • Clients do not free delayed-write blocks until the server confirms that the data have been written to disk. SILICON VALLEY UNIVERSITY CONFIDENTIAL

  44. File-System Implementation • Summary • File System Structure is used to abstract the physical properties of secondary storage (disk) into the logical storage unit, the file, and the organization of the files, the directory. • The physical disk can be a partition with one File System or segmented into multiple partitions or multiple File Systems. • File Systems are implemented in a layered or modular structure. • Logical File System ( Directory Structure and File Control Block (FCB). • File-organization Module ( Logical to Physical Block Translation ). • Basic File System ( Commands to Device Driver and manages’anages the memory buffers and caches). • I/O Control ( Device Drivers and Interrupt handlers ). • Allocation Space on Disk can be done in three ways: Through Contiguous, Linked or Index Allocation. • Free Space Allocation Methods: • Bit Vectors and Linked Lists. • Optimized through Grouping, Counting, and the FAT (Linked List in MBS • Directory using Linear List or Chained-Overflow Hash Table. • Directory Implemented as Network File System (NFS). • Using Mount and RPC protocol to execute File System operations on the Remote Server. SILICON VALLEY UNIVERSITY CONFIDENTIAL

More Related