Da-Wei Chang CSIE.NCKU. Professor Hao-Ren Ke, National Chiao Tung University Professor Hsung-Pin Chang, National Chung Hsing University

Size: px
Start display at page:

Download "Da-Wei Chang CSIE.NCKU. Professor Hao-Ren Ke, National Chiao Tung University Professor Hsung-Pin Chang, National Chung Hsing University"

Transcription

1 Chapter 11 Implementing File System Da-Wei Chang CSIE.NCKU Source: Professor Hao-Ren Ke, National Chiao Tung University Professor Hsung-Pin Chang, National Chung Hsing University

2 Outline File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency and Performance Recovery NFS

3 File-System Structure I/O transfers between memory and disk are performed in units of blocks File system: provide efficient and convenient access to disk Two design problems How the file system looks to the user File and its attributes, operations on a file Map the logical file system onto the physical disk

4 Layered File Systems file system core

5 Layered File System file name/id Application Programs write(data_file, item, size) Logical File System information of data_file File-Organization Module (FOM) 2144 th block Basic File System Given a file name/id, use directory structure to provide information needed by FOM Transform logical block address to physical block address Issue I/O command to device driver to physical block on the disk I/O Control Issue actual hardware commands Devices

6 Layered File System I/O control device drivers and interrupt handlers Transfer information between main memory and disk system Retrieve physical block XXX HW-specific commands Basic file system Manages the memory buffers/caches Issue generic I/O commands to device driver to read/write physical blocks on the disk

7 Layered File System (Cont.) File-organization module Know about files, their logical blocks, and physical blocks Translate logical blocks to physical blocks Logical blocks: 0 ~ N Free-space management: track free blocks in disk Block allocation: allocated free blocks when requested

8 Layered File System (Cont.) Logical file system manage metadata information Metadata: data used to manage file data directory structure File Control Blocks (FCB) a data structure contains information about a file each file has a FCB Ownership, permissions, and location of the file content Mentioned later In UNIX, an FCB is called an inode.

9 A Typical File Control Block

10 Layered File System (Cont.) Why layered file system? All the advantages of the layered approach Duplication of code is minimized for different file system standard Usually, the I/O control and the basic file system code can be used by multiple file system formats Common file system format: ext3 and ext4 (Extended File Systems 3 and 4), FAT, FAT32, NTFS

11 Outline File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency and Performance Recovery NFS

12 File-System Implementation A file system implementation has both on-disk data structures, and in-memory data structures

13 On Disk Structures - A Possible File System Layout Boot OS from the partition 2. Volume control block 3. Directory structure and file data 4. FCBs

14 On-Disk Structures Boot control block (per volume): information needed by the system to boot an OS from that partition Typically, first block in that volume If no OS empty UFS: called boot block; NTFS: called partition boot sector *UFS: Unix File System (also called Berkeley Fast File System or FFS) *A volume represents a physical partition here. Volume control block (per volume): volume details No. of blocks, size of the blocks, free-block count and freeblock pointers, free FCB count and FCB pointers UFS: called superblock; NTFS: called Master File Table

15 On-Disk Structures (Cont.) Directory structure (per FS): used to organize files UFS: includes file names and FCB numbers (inode #s) NTFS: within the Master File Table See the next slide A per-file File Control Block: details about a file File permissions, ownership, size, location of the data blocks.. UFS: called inode; NTFS: within the Master File Table

16 Directory Structure directory structure Soft Link? Hard link?

17 In-Memory Information Caching information to avoid retrieving the information every time from disk An in-memory mount table Contain information about each mounted volume The system-wide open-file table A copy of FCB of each open file Chapter 10 The per-process open-file table Chapter 10 Directory-structure cache Hold the information of recently accessed directories Buffer cache Hold the information of recently accessed file data

18 In-Memory File System Structures When opening a file, the OS Searches the directory structure for the given file name Caches parts of the directory structure Copies the FCB into the system-wide open-file table Creates an entry in the per-process open-file table File descriptor Return value of open() FP = fopen(filename, "r"); An index to the entry in the per-process table

19 In-Memory File System Structures o1 o2 file descriptor o5: return the file descriptor r1 o4 r2 r3 o3 file open (o1-o5) *o1-o2 are for pathname lookup file read (r1-r3)

20 Partitions and Mounting A disk can be sliced into multiple partitions Each partition can be Raw: contain no file system Example: swap space/area Cooked: contain a file system Root partition: contains OS (including the file system code) Mounted at boot time Other partitions are mounted at boot time or manually

21 Virtual File Systems How to integrated multiple types of file systems in a system? See the following two slides Sol: Virtual File Systems (VFS) File-system implementation consists of three major layers 1st layer: file-system interface: open(), write(), 2nd layer: virtual file system layer 3rd layer: implementation of the actual file systems

22 Multiple File Systems in a System EXT4 EXT2 FAT32 NTFS

23 Schematic View of Virtual File System (Cont.) Open, read, write

24 Virtual File Systems Two functions Separate file-system-generic operations from their implementation Several implementations for the VFS interface can coexist on the same machine See the following Linux example Provide a mechanism for uniquely representing a file throughput a network VFS maintain a file-representation structure, called a vnode, for a network-wide uniqueness

25 Example: VFS in Linux VFS in Linux uses four main objects inode object: FCB; information related to an individual file file object: represent an open file superblock object: represent an entire file system dentry object: represent an individual directory entry For each object, VFS defines a set of operations (interface) that must be implemented Each actual file systems must implement these operations

26 For superblock object, the operation interface defined by VFS EXT2 Implementation of the superblock operations

27 EXT2 Implementation of the Superblock Operations ext2_read_inode() {.. } ext2_write_inode() { }..

28 Operation Interface Defined by VFS for Inode Object

29 Operations Interface Defined by VFS for File Object

30 Virtual File Systems (Cont.) Thus, the file access API is issued to the VFS layer Rather than any specific type of file system Then, VFS calls the appropriate function from the operation table Depends on which file system is accessed E.g. read() system call vfs_read() ext2_read() Without knowing the details of how the file system is implemented

31 Outline File-System Structure File-System Implementation Directory Implementation Linear List Hash Table Allocation Methods Free-Space Management Efficiency and Performance Recovery NFS

32 Directory Implementation- Linear List Linear list of file names with pointer to the data blocks. Advantage Simple to program Disadvantage Time-consuming for searching Linear search to find a particular entry A solution cache the most recently used directory information

33 Linear List Implementation Suppose /pub/temp has three files: a.doc, 3.ppt, b.c a.doc 3.ppt b. c inode 134 inode 5 inode 677

34 Outline File-System Structure File-System Implementation Directory Implementation Linear List Hash Table Allocation Methods Free-Space Management Efficiency and Performance Recovery NFS Example: WAFL File System

35 Directory Implementation- Hash Table Hash Table linear list with hash data structure. (File name) => hash function => a pointer to the linear list Decreases directory search time Hash collisions? Two file names hash to the same location Each hash table entry is a linked list; solve the collision problem

36 Hash Table Implementation Suppose /pub/temp has three files: a.doc, 3.ppt, b.c f(a.doc)=3 f(b.c) =3 f(3.ppt)= ppt 5 a.doc b. c pointers are offsets in the directory file

37 Outline File-System Structure File-System Implementation Directory Implementation Allocation Methods Contiguous Allocation Linked Allocation Indexed Allocation Free-Space Management Efficiency and Performance Recovery NFS Example: WAFL File System

38 Allocation Methods How to allocate space to files? so that disk space is utilized effectively and files can be accessed quickly An allocation method refers to how disk blocks are allocated for files. Contiguous allocation Extend-based system Linked allocation Indexed allocation

39 Contiguous Allocation Each file occupies a set of contiguous blocks on the disk Directory entry or FCB for each file Only starting location (block #) + length (number of blocks) See the next slide Advantages Fast -- minimal seek time and head movement Support both sequential and direct access Direct access to block i of a file that starts at block b, Access block b+i

40 Contiguous Allocation of Disk Space

41 (a) Contiguous allocation of disk space for 7 files (b) State of the disk after files D and F have been removed

42 Contiguous Allocation Finding space for a new file Similar to contiguous memory allocation problem Introduced in Chapter 8 Request n blocks from a list of free holes by first fit or best fit Disadvantages External fragmentation Solution: compaction (expensive) See the next following slide Files are difficult to grow Copy the content to a larger hole So, when creating a file, one may need to determine how much space is needed for a file

43 External Fragmentation A request of 650 KB. Total memory is big enough but cannot satisfy this request

44 Compaction (I) From Ka, Ha-Zen

45 Contiguous Allocation with Extent A modified contiguous allocation scheme to minimize the problem of contiguous allocations Extent-based file systems allocate disk blocks in extents An extent is a contiguous set of blocks Extents are allocated for file allocation A file consists of one or more extents. Integrate contiguous allocation and linked allocation (described later)

46 Outline File-System Structure File-System Implementation Directory Implementation Allocation Methods Contiguous Allocation Linked Allocation Indexed Allocation Free-Space Management Efficiency and Performance Recovery NFS

47 Linked Allocation Each file is a linked list of disk blocks Blocks may be scattered anywhere on the disk Directory entry or FCB contains a pointer to the first and last blocks Each block contains a pointer to the next block Advantages No external fragmentation Easy to grow any free block is OK block = pointer

48 Linked Allocation

49 Storing a file as a linked list of disk blocks

50 Linked Allocation (Cont.) Disadvantages Inefficient to support random/direct accesses Efficient only for sequential accesses To find i th block, must start at the beginning and follow the pointer Space required for the pointers Solutions: cluster scheme Reliability What if a pointer is lost (e.g. points to a free block or an used block of another file)?

51 Linked Allocation (Cont.) Solution for inefficient random/direct accesses FAT (describe in the next slide) Solution for spaces for pointers: cluster scheme Group blocks into clusters, and allocate clusters instead of single blocks use BIG blocks! Fewer disk head seeks Decrease the space overhead Pointers then uses a much smaller percentage Problem: internal fragmentation Solution for reliability Doubly linked list or store the filename and relative block number in each block More overhead for each file

52 Linked Allocation (Cont.) FAT (File Allocation Table) OS/2, MS-DOS The table has one entry for each disk block and is indexed by block number Similar to the linked list Contain the block number of the next block in the file Random access time is improved since FS doesn t need to traverse the data blocks to find the needed block Increased number of disk head seeks (for seq. accesses) One for FAT, one for data FAT may far from the data Improved by caching FAT Put all the pointers in FAT, instead of in the data blocks

53 Outline File-System Structure File-System Implementation Directory Implementation Allocation Methods Contiguous Allocation Linked Allocation Indexed Allocation Free-Space Management Efficiency and Performance Recovery NFS

54 Indexed Allocation Bring all pointers together into the index block The i th entry points to the i th block of the file The directory entry or FCB contains the address of the index block Similar to paging scheme in memory management Page table = index block

55 Example of Indexed Allocation

56 Indexed Allocation (Cont.) Advantages Support direct access No external fragmentation Disadvantage Wasted space: space for index block Generally larger than the linked allocation If a file is smaller than a block Linked allocation: a pointer Index allocation: an entire index block

57 Indexed Allocation (Cont.) Challenge: how large the index block should be Large index block: waste space for small files Small index block: how to handle large files?

58 Indexed Allocation (Cont.) Mechanism for handling the index block Linked scheme: link together several index blocks Multilevel index: like multi-level paging A first-level index block points to a set of second-level index blocks Then second-level index blocks point to the file blocks Combined scheme: Direct blocks + indirect blocks + double indirect blocks + triple indirect blocks Used by BSD UNIX System

59 Linked Scheme directory file first index block jeep 19 Null index block next data data data data next data data data data next data data data data

60 Multilevel Index (Two-Level) first-level second-level

61 Combined Scheme: UNIX inode

62 Outline File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management Bit vector (bit map) Linked list Grouping Counting Efficiency and Performance Recovery NFS

63 Free-Space Management Free-space management: keep track of free disk space bit vector (bit map) linked list grouping counting

64 Bit Vector Simple to find the first free block, or n consecutive free blocks Example: 2~5, 8~13, 17~18, 25~27 blocks are free, others are allocated Bit vector =

65 Bit Vector Inefficient unless the entire vector is kept in main memory So only for small disks? Example: 1.3 GB disks need a bit map of over 332 KB block size = 2 9 bytes (512 bytes) disk size = 1.3 x 2 30 bytes (1.3 gigabyte) n = 1.3 x 2 30 /2 9 = 1.3 x 2 21 bits = (or K bytes)

66 Outline File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management Bit vector (bit map) Linked list Grouping Counting Efficiency and Performance Recovery NFS

67 Linked List Link together all free blocks Keep a pointer to the first free block See the next slide Advantages No waste of space Disadvantages Cannot get contiguous space easily Not easy to traverse the list Fortunately, OS needs one free block at a time Just find the first free block, no traversal FAT incorporate the linked list mechanism Not always valid for modern OS

68 Linked Free Space List on Disk

69 Outline File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management Bit vector (bit map) Linked list Grouping Counting Efficiency and Performance Recovery NFS

70 Grouping And Counting Grouping: Store the address of n free blocks in the first free block. The n th block contains the addresses of another n free blocks and so on Good: find a large number of free blocks quickly Counting: Keep the address of the first free blocks and the number n of free contiguous blocks Since several contiguous blocks may be allocated or freed at the same time

71 Example Of Free-Space Management Bit Vector Grouping (n = 3) Block 2 stores (3, 4, 5) Block 5 stores (8, 9, 10) Block 10 stores (11, 12, 13) Block 13 stores (17, 28, 25) Block 25 stores (26, 27, -1) Counting

72 Outline File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency and Performance Recovery NFS

73 Efficiency Efficiency: disk space utilization Methods Minimize the metadata, internal fragmentation, external fragmentation Example: in FAT Each entry was 12 bits, pointing to 8-KB cluster Efficient but support only 32 MB disk drive (2^12 x 2^ 13 B = 2 ^25 B = 32 MB) Thus, each FAT entry was changed to 16 bits, and later 32 bits

74 Performance Performance (MB/s or IOPS) On-board cache local memory in disk controller to store entire tracks at a time Buffer cache separate section of main memory for frequently used blocks Mentioned later Synchronous writes v.s. asynchronous writes Mentioned later Free-behind and read-ahead techniques to optimize sequential access Mentioned later

75 Various Caching Locations

76 Performance Buffer Cache and Page Cache Buffer cache: frequently accessed blocks are kept in memory A page cache caches pages rather than disk blocks by virtual memory techniques More efficient than caching through blocks Since accesses throughput virtual memory is more efficient than file systems Due to layering architecture in file systems

77 I/O Without a Unified Buffer Cache

78 I/O Without a Unified Buffer Cache Problem: double caching See the previous figure Memory-mapped I/O uses a page cache Routine I/O through the file system uses the buffer cache Data may be cached in both buffer cache and page cache Buffer cache: for using ordinary file operations Page cache: for using memory-mapped file Solution: unified buffer cache

79 Unified Buffer Cache Unified buffer cache Uses the same cache to cache both memorymapped pages and ordinary file system I/O

80 I/O Using a Unified Buffer Cache

81 Synchronous and Asynchronous Writes Synchronous writes Writes are not buffered Caller must wait for the data to reach the disk drive Metadata are usually synchronous writes Directory entries, FCB Asynchronous writes Writes are stored in the cache and return to the caller

82 Free-Behind and Read-Ahead Usually, replacement algorithm of page cache: LRU However, LRU is not suitable for sequential access Free-behind Remove a page from the buffer as soon as the next page is requested The previous pages are not likely to be used again Read-ahead A requested page and several subsequent pages are read and cached These pages are likely to be requested soon Both are applied to sequential access

83 Outline File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency and Performance Recovery Consistency Checking Log-Structured File Systems Other Solutions Backup and Restore NFS

84 Recovery Some directory information is kept in main memory If a computer crash, information in memory are lost Cache, buffer contents, and the current I/O operation The file system may be in inconsistent state

85 Consistency Checker Consistency checker check metadata and tries to fix inconsistencies e.g. an inode points to a free data block Examples UNIX: fsck Windows: chkdsk

86 Log Structured File Systems Log structured (or journaling) file systems record each metadata update to the file system as a transaction All metadata changes (i.e., 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 Then, the changes are made on the actual file system If the file system crashes the committed transactions in the log is replayed to bring the FS to a consistent state

87 Backup and Restore 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 Incremental backup v.s. full backup

88 Outline File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency and Performance Recovery NFS

89 The Sun Network File System (NFS) An implementation and a specification of a software system for accessing remote files across LANs (or WANs) Goal: allows sharing among file systems on different machines in a transparent manner Based on client-server model

90 NFS (Cont.) Steps A remote directory is mounted over a local directory Specification of the remote directory for the mount operation is nontransparent The host name of the remote directory has to be provided Next two Figures But, after than, files in the remote directory can be accessed in a transparent manner

91 Three Independent File Systems

92 Mounting Results mount S1:/user/shared over U:/user/local

93 NFS (Cont.) NFS is designed to operate in a heterogeneous environment Different machines, operating systems, and network architectures This independence is achieved through the RPC primitives built on top of an External Data Representation (XDR) See the next slide The NFS specification defines two services The services provided by a mount mechanism : the mount protocol The actual remote-file-access services : the NFS protocol

94 Schematic View of NFS Architecture

95 The Mount Protocol Implement the mount operations Mount request is mapped to corresponding RPC and forwarded to mount server running on server machine Then, 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 The mount operation changes only the user s view and does not affect the server side

96 NFS Protocol Provides a set of RPCs 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 No open() and close() Each request has to provide a full set of arguments Include a unique file identifier and offset

97 Three Major Layers of NFS Architecture See the next slide Layer 1: UNIX file-system interface open(), read(), write(), and close() calls Layer 2: Virtual File System (VFS) Distinguishes local files from remote ones If remote, calls the NFS protocol for remote requests Layer 3: NFS service layer Implements the NFS protocol

98 Schematic View of NFS Architecture

99 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 performance File block and file attributes are fetched by RPCs and are cached locally

100 NFS Remote Operations (Cont.) Two Caches File-attribute cache the inode information File-blocks cache the data blocks Read-ahead and delay-write are used

Chapter 12 File-System Implementation

Chapter 12 File-System Implementation Chapter 12 File-System Implementation 1 Outline File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency and Performance Recovery Log-Structured

More information

Chapter 11: Implementing File-Systems

Chapter 11: Implementing File-Systems Chapter 11: Implementing File-Systems Chapter 11 File-System Implementation 11.1 File-System Structure 11.2 File-System Implementation 11.3 Directory Implementation 11.4 Allocation Methods 11.5 Free-Space

More information

Chapter 11: Implementing File Systems

Chapter 11: Implementing File Systems Chapter 11: Implementing File Systems Chapter 11: File System Implementation File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency

More information

OPERATING SYSTEM. Chapter 12: File System Implementation

OPERATING SYSTEM. Chapter 12: File System Implementation OPERATING SYSTEM Chapter 12: File System Implementation Chapter 12: File System Implementation File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management

More information

Chapter 11: Implementing File Systems

Chapter 11: Implementing File Systems Chapter 11: Implementing File Systems Operating System Concepts 99h Edition DM510-14 Chapter 11: Implementing File Systems File-System Structure File-System Implementation Directory Implementation Allocation

More information

Chapter 12: File System Implementation

Chapter 12: File System Implementation Chapter 12: File System Implementation Chapter 12: File System Implementation File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency

More information

Chapter 10: File System Implementation

Chapter 10: File System Implementation Chapter 10: File System Implementation Chapter 10: File System Implementation File-System Structure" File-System Implementation " Directory Implementation" Allocation Methods" Free-Space Management " Efficiency

More information

Chapter 12: File System Implementation. Operating System Concepts 9 th Edition

Chapter 12: File System Implementation. Operating System Concepts 9 th Edition Chapter 12: File System Implementation Silberschatz, Galvin and Gagne 2013 Chapter 12: File System Implementation File-System Structure File-System Implementation Directory Implementation Allocation Methods

More information

Chapter 12: File System Implementation

Chapter 12: File System Implementation Chapter 12: File System Implementation Silberschatz, Galvin and Gagne 2013 Chapter 12: File System Implementation File-System Structure File-System Implementation Directory Implementation Allocation Methods

More information

CHAPTER 11: IMPLEMENTING FILE SYSTEMS (COMPACT) By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

CHAPTER 11: IMPLEMENTING FILE SYSTEMS (COMPACT) By I-Chen Lin Textbook: Operating System Concepts 9th Ed. CHAPTER 11: IMPLEMENTING FILE SYSTEMS (COMPACT) By I-Chen Lin Textbook: Operating System Concepts 9th Ed. File-System Structure File structure Logical storage unit Collection of related information File

More information

OPERATING SYSTEMS II DPL. ING. CIPRIAN PUNGILĂ, PHD.

OPERATING SYSTEMS II DPL. ING. CIPRIAN PUNGILĂ, PHD. OPERATING SYSTEMS II DPL. ING. CIPRIAN PUNGILĂ, PHD. File System Implementation FILES. DIRECTORIES (FOLDERS). FILE SYSTEM PROTECTION. B I B L I O G R A P H Y 1. S I L B E R S C H AT Z, G A L V I N, A N

More information

Chapter 11: Implementing File

Chapter 11: Implementing File Chapter 11: Implementing File Systems Chapter 11: Implementing File Systems File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency

More information

Chapter 11: Implementing File Systems. Operating System Concepts 9 9h Edition

Chapter 11: Implementing File Systems. Operating System Concepts 9 9h Edition Chapter 11: Implementing File Systems Operating System Concepts 9 9h Edition Silberschatz, Galvin and Gagne 2013 Chapter 11: Implementing File Systems File-System Structure File-System Implementation Directory

More information

Week 12: File System Implementation

Week 12: File System Implementation Week 12: File System Implementation Sherif Khattab http://www.cs.pitt.edu/~skhattab/cs1550 (slides are from Silberschatz, Galvin and Gagne 2013) Outline File-System Structure File-System Implementation

More information

Chapter 11: File System Implementation

Chapter 11: File System Implementation Chapter 11: File System Implementation Chapter 11: File System Implementation File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency

More information

Chapter 11: File System Implementation

Chapter 11: File System Implementation Chapter 11: File System Implementation Chapter 11: File System Implementation File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency

More information

CS307: Operating Systems

CS307: Operating Systems CS307: Operating Systems Chentao Wu 吴晨涛 Associate Professor Dept. of Computer Science and Engineering Shanghai Jiao Tong University SEIEE Building 3-513 wuct@cs.sjtu.edu.cn Download Lectures ftp://public.sjtu.edu.cn

More information

Chapter 11: Implementing File Systems

Chapter 11: Implementing File Systems Chapter 11: Implementing File-Systems, Silberschatz, Galvin and Gagne 2009 Chapter 11: Implementing File Systems File-System Structure File-System Implementation ti Directory Implementation Allocation

More information

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University Che-Wei Chang chewei@mail.cgu.edu.tw Department of Computer Science and Information Engineering, Chang Gung University Chapter 10: File System Chapter 11: Implementing File-Systems Chapter 12: Mass-Storage

More information

Chapter 11: File System Implementation. Objectives

Chapter 11: File System Implementation. Objectives Chapter 11: File System Implementation Objectives To describe the details of implementing local file systems and directory structures To describe the implementation of remote file systems To discuss block

More information

Chapter 11: Implementing File Systems

Chapter 11: Implementing File Systems Silberschatz 1 Chapter 11: Implementing File Systems Thursday, November 08, 2007 9:55 PM File system = a system stores files on secondary storage. A disk may have more than one file system. Disk are divided

More information

CS3600 SYSTEMS AND NETWORKS

CS3600 SYSTEMS AND NETWORKS CS3600 SYSTEMS AND NETWORKS NORTHEASTERN UNIVERSITY Lecture 11: File System Implementation Prof. Alan Mislove (amislove@ccs.neu.edu) File-System Structure File structure Logical storage unit Collection

More information

File-System Structure

File-System Structure Chapter 12: File System Implementation File System Structure File System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency and Performance Recovery Log-Structured

More information

EI 338: Computer Systems Engineering (Operating Systems & Computer Architecture)

EI 338: Computer Systems Engineering (Operating Systems & Computer Architecture) EI 338: Computer Systems Engineering (Operating Systems & Computer Architecture) Dept. of Computer Science & Engineering Chentao Wu wuct@cs.sjtu.edu.cn Download lectures ftp://public.sjtu.edu.cn User:

More information

Computer Systems Laboratory Sungkyunkwan University

Computer Systems Laboratory Sungkyunkwan University File System Internals Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics File system implementation File descriptor table, File table

More information

File System Internals. Jo, Heeseung

File System Internals. Jo, Heeseung File System Internals Jo, Heeseung Today's Topics File system implementation File descriptor table, File table Virtual file system File system design issues Directory implementation: filename -> metadata

More information

File System Internals. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

File System Internals. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University File System Internals Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics File system implementation File descriptor table, File table

More information

File System: Interface and Implmentation

File System: Interface and Implmentation File System: Interface and Implmentation Two Parts Filesystem Interface Interface the user sees Organization of the files as seen by the user Operations defined on files Properties that can be read/modified

More information

Chapter 12: File System Implementation

Chapter 12: File System Implementation Chapter 12: File System Implementation Silberschatz, Galvin and Gagne 2013 Chapter 12: File System Implementation File-System Structure File-System Implementation Allocation Methods Free-Space Management

More information

Operating Systems 2010/2011

Operating Systems 2010/2011 Operating Systems 2010/2011 File Systems part 2 (ch11, ch17) Shudong Chen 1 Recap Tasks, requirements for filesystems Two views: User view File type / attribute / access modes Directory structure OS designers

More information

FILE SYSTEM IMPLEMENTATION. Sunu Wibirama

FILE SYSTEM IMPLEMENTATION. Sunu Wibirama FILE SYSTEM IMPLEMENTATION Sunu Wibirama File-System Structure Outline File-System Implementation Directory Implementation Allocation Methods Free-Space Management Discussion File-System Structure Outline

More information

File System Implementation

File System Implementation File System Implementation Last modified: 16.05.2017 1 File-System Structure Virtual File System and FUSE Directory Implementation Allocation Methods Free-Space Management Efficiency and Performance. Buffering

More information

C13: Files and Directories: System s Perspective

C13: Files and Directories: System s Perspective CISC 7310X C13: Files and Directories: System s Perspective Hui Chen Department of Computer & Information Science CUNY Brooklyn College 4/19/2018 CUNY Brooklyn College 1 File Systems: Requirements Long

More information

Chapter 11: Implementing File Systems. Operating System Concepts 8 th Edition,

Chapter 11: Implementing File Systems. Operating System Concepts 8 th Edition, Chapter 11: Implementing File Systems, Silberschatz, Galvin and Gagne 2009 Chapter 11: Implementing File Systems File-System Structure File-System Implementation Directory Implementation Allocation Methods

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2018 Lecture 22 File Systems Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 Disk Structure Disk can

More information

File Systems: Interface and Implementation

File Systems: Interface and Implementation File Systems: Interface and Implementation CSCI 315 Operating Systems Design Department of Computer Science Notice: The slides for this lecture have been largely based on those from an earlier edition

More information

File System Implementation. Sunu Wibirama

File System Implementation. Sunu Wibirama File System Implementation Sunu Wibirama File-System Structure Outline File-System Implementation Directory Implementation Allocation Methods Free-Space Management Discussion File System Structure File

More information

Chapter 7: File-System

Chapter 7: File-System Chapter 7: File-System Interface and Implementation Chapter 7: File-System Interface and Implementation File Concept File-System Structure Access Methods File-System Implementation Directory Structure

More information

V. File System. SGG9: chapter 11. Files, directories, sharing FS layers, partitions, allocations, free space. TDIU11: Operating Systems

V. File System. SGG9: chapter 11. Files, directories, sharing FS layers, partitions, allocations, free space. TDIU11: Operating Systems V. File System SGG9: chapter 11 Files, directories, sharing FS layers, partitions, allocations, free space TDIU11: Operating Systems Ahmed Rezine, Linköping University Copyright Notice: The lecture notes

More information

CS720 - Operating Systems

CS720 - Operating Systems CS720 - Operating Systems File Systems File Concept Access Methods Directory Structure File System Mounting File Sharing - Protection 1 File Concept Contiguous logical address space Types: Data numeric

More information

File-System Structure. Allocation Methods. Free-Space Management. Directory Implementation. Efficiency and Performance. Recovery

File-System Structure. Allocation Methods. Free-Space Management. Directory Implementation. Efficiency and Performance. Recovery CHAPTER 11: FILE-SYSTEM IMPLEMENTATION File-System Structure Allocation Methods Free-Space Management Directory Implementation Efficiency and Performance Recovery Operating System Concepts, Addison-Wesley

More information

File System Internals. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

File System Internals. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University File System Internals Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics File system implementation File descriptor table, File table

More information

Filesystem. Disclaimer: some slides are adopted from book authors slides with permission 1

Filesystem. Disclaimer: some slides are adopted from book authors slides with permission 1 Filesystem Disclaimer: some slides are adopted from book authors slides with permission 1 Storage Subsystem in Linux OS Inode cache User Applications System call Interface Virtual File System (VFS) Filesystem

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 25 File Systems Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ Q 2 Data and Metadata

More information

CHAPTER 10 AND 11 - FILE SYSTEM & IMPLEMENTING FILE- SYSTEMS

CHAPTER 10 AND 11 - FILE SYSTEM & IMPLEMENTING FILE- SYSTEMS CHAPTER 10 AND 11 - FILE SYSTEM & IMPLEMENTING FILE- SYSTEMS OBJECTIVES Explain the function and interfaces of file systems Discuss file-system design tradeoffs, including access methods, file sharing,

More information

Chapter 14: File-System Implementation

Chapter 14: File-System Implementation Chapter 14: File-System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency and Performance Recovery 14.1 Silberschatz, Galvin and Gagne 2013 Objectives To describe

More information

Operating System Concepts Ch. 11: File System Implementation

Operating System Concepts Ch. 11: File System Implementation Operating System Concepts Ch. 11: File System Implementation Silberschatz, Galvin & Gagne Introduction When thinking about file system implementation in Operating Systems, it is important to realize the

More information

Filesystem. Disclaimer: some slides are adopted from book authors slides with permission

Filesystem. Disclaimer: some slides are adopted from book authors slides with permission Filesystem Disclaimer: some slides are adopted from book authors slides with permission 1 Recap Directory A special file contains (inode, filename) mappings Caching Directory cache Accelerate to find inode

More information

Chapter 11: File System Implementation

Chapter 11: File System Implementation Chapter 11: File System Implementation File System Structure File System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency and Performance Recovery Log-Structured

More information

Ricardo Rocha. Department of Computer Science Faculty of Sciences University of Porto

Ricardo Rocha. Department of Computer Science Faculty of Sciences University of Porto Ricardo Rocha Department of Computer Science Faculty of Sciences University of Porto Slides based on the book Operating System Concepts, 9th Edition, Abraham Silberschatz, Peter B. Galvin and Greg Gagne,

More information

Operating Systems. Lecture File system implementation. Master of Computer Science PUF - Hồ Chí Minh 2016/2017

Operating Systems. Lecture File system implementation. Master of Computer Science PUF - Hồ Chí Minh 2016/2017 Operating Systems Lecture 7.2 - File system implementation Adrien Krähenbühl Master of Computer Science PUF - Hồ Chí Minh 2016/2017 Design FAT or indexed allocation? UFS, FFS & Ext2 Journaling with Ext3

More information

File-System Interface

File-System Interface File-System Interface Chapter 10: File-System Interface File Concept Access Methods Directory Structure File-System Mounting File Sharing Protection Objectives To explain the function of file systems To

More information

File Management By : Kaushik Vaghani

File Management By : Kaushik Vaghani File Management By : Kaushik Vaghani File Concept Access Methods File Types File Operations Directory Structure File-System Structure File Management Directory Implementation (Linear List, Hash Table)

More information

Chapter 12: File System Implementation

Chapter 12: File System Implementation Chapter 12: File System Implementation Virtual File Systems. Allocation Methods. Folder Implementation. Free-Space Management. Directory Block Placement. Recovery. Virtual File Systems An object-oriented

More information

File Systems: Interface and Implementation

File Systems: Interface and Implementation File Systems: Interface and Implementation CSCI 315 Operating Systems Design Department of Computer Science File System Topics File Concept Access Methods Directory Structure File System Mounting File

More information

File Systems: Interface and Implementation

File Systems: Interface and Implementation File Systems: Interface and Implementation CSCI 315 Operating Systems Design Department of Computer Science Notice: The slides for this lecture have been largely based on those from an earlier edition

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 24 File Systems Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 Questions from last time How

More information

File Systems. CS170 Fall 2018

File Systems. CS170 Fall 2018 File Systems CS170 Fall 2018 Table of Content File interface review File-System Structure File-System Implementation Directory Implementation Allocation Methods of Disk Space Free-Space Management Contiguous

More information

EI 338: Computer Systems Engineering (Operating Systems & Computer Architecture)

EI 338: Computer Systems Engineering (Operating Systems & Computer Architecture) EI 338: Computer Systems Engineering (Operating Systems & Computer Architecture) Dept. of Computer Science & Engineering Chentao Wu wuct@cs.sjtu.edu.cn Download lectures ftp://public.sjtu.edu.cn User:

More information

ICS Principles of Operating Systems

ICS Principles of Operating Systems ICS 143 - Principles of Operating Systems Lectures 17-20 - FileSystem Interface and Implementation Prof. Ardalan Amiri Sani Prof. Nalini Venkatasubramanian ardalan@ics.uci.edu nalini@ics.uci.edu Outline

More information

Ricardo Rocha. Department of Computer Science Faculty of Sciences University of Porto

Ricardo Rocha. Department of Computer Science Faculty of Sciences University of Porto Ricardo Rocha Department of Computer Science Faculty of Sciences University of Porto Slides based on the book Operating System Concepts, 9th Edition, Abraham Silberschatz, Peter B. Galvin and Greg Gagne,

More information

Operating Systems. Operating Systems Professor Sina Meraji U of T

Operating Systems. Operating Systems Professor Sina Meraji U of T Operating Systems Operating Systems Professor Sina Meraji U of T How are file systems implemented? File system implementation Files and directories live on secondary storage Anything outside of primary

More information

File System & Device Drive Mass Storage. File Attributes (Meta Data) File Operations. Directory Structure. Operations Performed on Directory

File System & Device Drive Mass Storage. File Attributes (Meta Data) File Operations. Directory Structure. Operations Performed on Directory CS341: Operating System Lect39: 12 th 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,

More information

Advanced Operating Systems. File Systems Lecture 9

Advanced Operating Systems. File Systems Lecture 9 Advanced Operating Systems File Systems Lecture 9 File System Implementation File Concept Access Methods Disk and Directory Structure File-System Mounting File Sharing File-System Structure File-System

More information

Lecture 19: File System Implementation. Mythili Vutukuru IIT Bombay

Lecture 19: File System Implementation. Mythili Vutukuru IIT Bombay Lecture 19: File System Implementation Mythili Vutukuru IIT Bombay File System An organization of files and directories on disk OS has one or more file systems Two main aspects of file systems Data structures

More information

File System Case Studies. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

File System Case Studies. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University File System Case Studies Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics The Original UNIX File System FFS Ext2 FAT 2 UNIX FS (1)

More information

Outlook. File-System Interface Allocation-Methods Free Space Management

Outlook. File-System Interface Allocation-Methods Free Space Management File System Outlook File-System Interface Allocation-Methods Free Space Management 2 File System Interface File Concept File system is the most visible part of an OS Files storing related data Directory

More information

File System. Minsoo Ryu. Real-Time Computing and Communications Lab. Hanyang University.

File System. Minsoo Ryu. Real-Time Computing and Communications Lab. Hanyang University. File System Minsoo Ryu Real-Time Computing and Communications Lab. Hanyang University msryu@hanyang.ac.kr File Concept Directory Structure File System Structure Allocation Methods Outline 2 2 File Concept

More information

File Systems: Fundamentals

File Systems: Fundamentals File Systems: Fundamentals 1 Files! What is a file? Ø A named collection of related information recorded on secondary storage (e.g., disks)! File attributes Ø Name, type, location, size, protection, creator,

More information

File System Management

File System Management Lecture 8: 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

More information

Typical File Extensions File Structure

Typical File Extensions File Structure CS 355 Operating Systems File Systems File Systems A file is a collection of data records grouped together for purpose of access control and modification A file system is software responsible for creating,

More information

File System CS170 Discussion Week 9. *Some slides taken from TextBook Author s Presentation

File System CS170 Discussion Week 9. *Some slides taken from TextBook Author s Presentation File System CS170 Discussion Week 9 *Some slides taken from TextBook Author s Presentation File-System Structure File structure Logical storage unit Collection of related information File system resides

More information

File Systems: Fundamentals

File Systems: Fundamentals 1 Files Fundamental Ontology of File Systems File Systems: Fundamentals What is a file? Ø A named collection of related information recorded on secondary storage (e.g., disks) File attributes Ø Name, type,

More information

File System Implementation. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

File System Implementation. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University File System Implementation Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Implementing a File System On-disk structures How does file system represent

More information

Filesystem. Disclaimer: some slides are adopted from book authors slides with permission 1

Filesystem. Disclaimer: some slides are adopted from book authors slides with permission 1 Filesystem Disclaimer: some slides are adopted from book authors slides with permission 1 Recap Blocking, non-blocking, asynchronous I/O Data transfer methods Programmed I/O: CPU is doing the IO Pros Cons

More information

File Systems. Kartik Gopalan. Chapter 4 From Tanenbaum s Modern Operating System

File Systems. Kartik Gopalan. Chapter 4 From Tanenbaum s Modern Operating System File Systems Kartik Gopalan Chapter 4 From Tanenbaum s Modern Operating System 1 What is a File System? File system is the OS component that organizes data on the raw storage device. Data, by itself, is

More information

File Systems. Chapter 11, 13 OSPP

File Systems. Chapter 11, 13 OSPP File Systems Chapter 11, 13 OSPP What is a File? What is a Directory? Goals of File System Performance Controlled Sharing Convenience: naming Reliability File System Workload File sizes Are most files

More information

Long-term Information Storage Must store large amounts of data Information stored must survive the termination of the process using it Multiple proces

Long-term Information Storage Must store large amounts of data Information stored must survive the termination of the process using it Multiple proces File systems 1 Long-term Information Storage Must store large amounts of data Information stored must survive the termination of the process using it Multiple processes must be able to access the information

More information

Introduction to OS. File Management. MOS Ch. 4. Mahmoud El-Gayyar. Mahmoud El-Gayyar / Introduction to OS 1

Introduction to OS. File Management. MOS Ch. 4. Mahmoud El-Gayyar. Mahmoud El-Gayyar / Introduction to OS 1 Introduction to OS File Management MOS Ch. 4 Mahmoud El-Gayyar elgayyar@ci.suez.edu.eg Mahmoud El-Gayyar / Introduction to OS 1 File Management Objectives Provide I/O support for a variety of storage device

More information

File System Implementation

File System Implementation Introduction to Operating Systems File System Implementation John Franco Electrical Engineering and Computing Systems University of Cincinnati Layered File System Application Programs Logical File System

More information

File System Implementation

File System Implementation File System Implementation Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu SSE3044: Operating Systems, Fall 2016, Jinkyu Jeong (jinkyu@skku.edu) Implementing

More information

File Systems. ECE 650 Systems Programming & Engineering Duke University, Spring 2018

File Systems. ECE 650 Systems Programming & Engineering Duke University, Spring 2018 File Systems ECE 650 Systems Programming & Engineering Duke University, Spring 2018 File Systems Abstract the interaction with important I/O devices Secondary storage (e.g. hard disks, flash drives) i.e.

More information

Modulo V Sistema de Arquivos

Modulo V Sistema de Arquivos April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Modulo V Sistema de Arquivos Prof. Ismael H F Santos Ementa File-System Interface File Concept Directory Structure File Sharing Protection

More information

UNIX File Systems. How UNIX Organizes and Accesses Files on Disk

UNIX File Systems. How UNIX Organizes and Accesses Files on Disk UNIX File Systems How UNIX Organizes and Accesses Files on Disk Why File Systems File system is a service which supports an abstract representation of the secondary storage to the OS A file system organizes

More information

File System (FS) Highlights

File System (FS) Highlights CSCI 503: Operating Systems File System (Chapters 16 and 17) Fengguang Song Department of Computer & Information Science IUPUI File System (FS) Highlights File system is the most visible part of OS From

More information

CS 4284 Systems Capstone

CS 4284 Systems Capstone CS 4284 Systems Capstone Disks & File Systems Godmar Back Filesystems Files vs Disks File Abstraction Byte oriented Names Access protection Consistency guarantees Disk Abstraction Block oriented Block

More information

File Systems. File system interface (logical view) File system implementation (physical view)

File Systems. File system interface (logical view) File system implementation (physical view) File Systems File systems provide long-term information storage Must store large amounts of data Information stored must survive the termination of the process using it Multiple processes must be able

More information

Frequently asked questions from the previous class survey

Frequently asked questions from the previous class survey CS 370: OPERATING SYSTEMS [FILE SYSTEMS] Shrideep Pallickara Computer Science Colorado State University L28.1 Frequently asked questions from the previous class survey How are files recovered if the drive

More information

CS 550 Operating Systems Spring File System

CS 550 Operating Systems Spring File System 1 CS 550 Operating Systems Spring 2018 File System 2 OS Abstractions Process: virtualization of CPU Address space: virtualization of memory The above to allow a program to run as if it is in its own private,

More information

File System (Internals) Dave Eckhardt

File System (Internals) Dave Eckhardt File System (Internals) Dave Eckhardt de0u@andrew.cmu.edu 1 Synchronization P2 grading questions Send us mail, expect to hear from your grader Today Chapter 12 (not: Log-structured, NFS) 2 Outline File

More information

Principles of Operating Systems

Principles of Operating Systems Principles of Operating Systems Lecture 24-26 - File-System Interface and Implementation Ardalan Amiri Sani (ardalan@uci.edu) [lecture slides contains some content adapted from previous slides by Prof.

More information

Operating Systems Design Exam 2 Review: Fall 2010

Operating Systems Design Exam 2 Review: Fall 2010 Operating Systems Design Exam 2 Review: Fall 2010 Paul Krzyzanowski pxk@cs.rutgers.edu 1 1. Why could adding more memory to a computer make it run faster? If processes don t have their working sets in

More information

File System Case Studies. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

File System Case Studies. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University File System Case Studies Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics The Original UNIX File System FFS Ext2 FAT 2 UNIX FS (1)

More information

File Layout and Directories

File Layout and Directories COS 318: Operating Systems File Layout and Directories Jaswinder Pal Singh Computer Science Department Princeton University (http://www.cs.princeton.edu/courses/cos318/) Topics File system structure Disk

More information

F 4. Both the directory structure and the files reside on disk Backups of these two structures are kept on tapes

F 4. Both the directory structure and the files reside on disk Backups of these two structures are kept on tapes Directory Structure A collection of nodes containing information about all files Directory Files F 1 F 2 F 3 F 4 F n Both the directory structure and the files reside on disk Backups of these two structures

More information

TDDB68 Concurrent Programming and Operating Systems. Lecture: File systems

TDDB68 Concurrent Programming and Operating Systems. Lecture: File systems TDDB68 Concurrent Programming and Operating Systems Lecture: File systems Mikael Asplund, Senior Lecturer Real-time Systems Laboratory Department of Computer and Information Science Copyright Notice: Thanks

More information

ECE 650 Systems Programming & Engineering. Spring 2018

ECE 650 Systems Programming & Engineering. Spring 2018 ECE 650 Systems Programming & Engineering Spring 2018 File Systems Tyler Bletsch Duke University Slides are adapted from Brian Rogers (Duke) File Systems Disks can do two things: read_block and write_block

More information

Operating Systems. File Systems. Thomas Ropars.

Operating Systems. File Systems. Thomas Ropars. 1 Operating Systems File Systems Thomas Ropars thomas.ropars@univ-grenoble-alpes.fr 2017 2 References The content of these lectures is inspired by: The lecture notes of Prof. David Mazières. Operating

More information

What is a file system

What is a file system COSC 6397 Big Data Analytics Distributed File Systems Edgar Gabriel Spring 2017 What is a file system A clearly defined method that the OS uses to store, catalog and retrieve files Manage the bits that

More information

File Systems Management and Examples

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

More information