SlideShare a Scribd company logo
FILE SYSTEM TOPICS
Lei Xu
Agenda
 Introduction
 VFS
 Optimizations
 Examples
 F&Q
Introduction
 “A file system is a means to organize data expected
to be retained after a program terminates by
providing procedures to store, retrieve and update
data, as well as manage the available space on the
device(s) which contain it.” – from Wikipedia
 Store data
 Organize data
 Access data
 Manage storage resources (e.g. hard drive)
Relationship to Architecture Course
Acknowledge to the slides from 830 course
Relationship to Architecture Course
 File system is designed between memory and
secondary storage (or remote servers)
 One of the most complex part in an operating system
 Main R&D focuses:
 Performance: throughput, latency, scalability
 Reliability and availability
 Management: snapshot and etc.
Acknowledge to the slides from 830 course
Different types of file systems
 Local file systems
 Stored data on local hard drives, SSDs, floppy drives,
optical disks or etc.
 Examples: NTFS, EXT4, HFS+, ZFS
 Network/distributed file systems
 Stored data on remote file server(s)
 Example: NFS, CIFS/Samba, AFP, Hadoop DFS, Ceph
 Pseudo file systems
 Example: procfs, devfs, tmpfs
 “List of file systems”
 http://en.wikipedia.org/wiki/List_of_file_systems
Agenda
 Introduction
 VFS
 Optimizations
 Examples
 F&Q
Overall Architecture of Linux file
system components
Acknowledgement: “Anatomy of the Linux file system”, IBM
developerWorks.
Virtual File System (VFS)
 VFS is the essential concept in UNIX-like FS
 Specify an interface between the kernel and a concrete file
system
 Introduced by SUN in 1985
 Pass system calls to the underlying file systems
 E.g. pass sys_write() to Ext4 (i.e. ext4_write())
 Three major metadata in VFS
 Metadata: the data about data (wikipedia)
 Super block, dentry and inode
 OO design
 Each component defines a set of data members and the functions
to access them
Super block
 A segment of metadata that describes a file system
 Is constructed when mount a file system
 Usually, a persistent copy of super block is stored in the
beginning of a storage device
 Describes:
 File system type, size, status (e.g. dirty bit, read only bit)
 Block size, max file bytes, device size..
 How to find other metadata and data.
 How to manipulates these data (i.e. sb_ops)
Inode
 “Index-node” in Unix-style file system
 All information about one file (or directory)
 Except its name
 In UNIX-like system, file names are stored in the directory file:
the content of it is an “array” of file names
 E.g. owner, access rights, mode, size, time and etc.
 Pointers to data
Directory Entry (dentry)
 Dentry conceptually points a file name to its
corresponding Inode
 Each file/directory has a dentry presenting it
 File systems use dentry to lookup a file in the
hierarchical namespace
 Each dentry has a pointer to the dentry of its parent
directory
 Each dentry of a directory has a list of dentries of its sub-
directories and sub-files
Agenda
 Introduction
 VFS
 Optimizations
 Examples
 F&Q
Optimizations
 Most of file system optimizations are designed
based on the characteristics of the memory
hierarchy and storage devices.
 Recall:
 RAM 50-100 ns
 Disks: 5-10 ms
 2-3 orders of magnitude difference
 Almost all widely used local file systems are designed for
hard disk drives, which have their unique characteristics
Hard Disk Drive (HDD)
 Stores data on one or
more rotating disks,
coated with magnetic
material
 Introduce by IBM in
1956
 Use magnetic head to
read data
The very early HDD…..
Acknowledge to:
HDD (Cont’d)
 The essential structure of
HDD has not changed
too much…
 Constitute with several
disks
 Each disk is divided to
tracks, each of which
then is divided to sectors
 The single most
significant factor:
 Seek time
Why seek time matters
 When access a data (sector), the HDD head must
first move to the track (seek time), then rotates the
disk to the sector (rotational time)
 Seek time: 3 ms on high-end server disks, 12 ms on
desktop-level disks [1]
 Rotational time: 5.56ms on 5400 RPM HDD, 4.17ms on
7200 RPM HDD [1]
 As a result, sequential IO is much faster than
random IO, because there is no seek /rotational
time
[1], http://en.wikipedia.org/wiki/Disk-drive_performance_characteristics
General Optimizations
 Based on two principles:
 RAM access is much faster than the access on disk
 Sequential IOs is much faster than random IOs on disk
 So we design file systems that
 Largely utilizes CPU/RAM to reduce IO to disks (various
caches/write buffers)
 Prefers sequential IOs
 Computes disk layout to arrange related data sequentially
located on disks
Dcache
 Dentry cache (dcache)
 Directories are stored as files on disks.
 For each file lookup, we want obtain the inode from the
given full file path
 OS looks the dentries from the root to all parent directories in the
path.
 E.g. for looking up file “/Users/john/Documents/course.pdf”, OS
needs traverse the dentries that presents “/”, “Users”, “john”,
“Documents”, and “course.pdf”
 To accelerate this:
 We use a global hash table (dcache) to map “file path” -> dentry
 A two-list solution: one for active dentries, and one for “recent
unused dentries” (LRU).
Inode cache
 Similar to the dcache,
OS maintains a cache
for inode objects.
 Each inode object has
1-to-1 relation to a
dentry
 If the dentry object is
evicted, this inode is
evicted
P1 P2 P10
f0 f1 f0 f2 f3 f0
File
Objects
VFS
Processes
Dentry Cache (hash table)
Dentry 0 Dentry 10 Dentry 20
Inode 0 Inode 10 Inode 20
Inode Cache
Page
Cache 0
Page
Cache 10
Page
Cache 20
Page Cache
(Radix Tree)
Page Cache
 …a “transparent” buffer for disk-backed pages kept in
RAM for fast access… [wikipedia]
 A write-back cache
 Main purpose: reducing the # of IOs to disks
 Access based on page (usually 4KB).
 Page cache is per-file based.
 A Redix-tree in inode object.
 Prefetch pages to serve future read
 Absorb writes to reduce # of IOs
 The dirty pages (modified) are flushed to disks for : 1) each
30s or 5s, or 2) OS wants to reclaim RAMs
 Also can be forced to flush by calling “fsync()” system call
Agenda
 Introduction
 VFS
 Optimizations
 Examples
 F&Q
Examples
 Several concrete file system designs
 Ext4, classic UNIX-like file system concepts
 NTFS, advanced Windows file system
 ZFS, “the last word of file system”
 NFS, a standard network file system
 Google File System, a special distributed file system for
special requirements
Ext4
 The latest version of
the “extended file
system” (Ext2/3/4)
 The standard Linux file
system for a long time
 Inspired from UFS from
BSD/Solaris
 Group files to block
groups
 Keep file data near to
inodes
Ack: http://bit.ly/tjipWY
NTFS
 “New Technology File
System” (NTFS)
 The standard file
system in Windows
world.
 A Master File Table
(MFT) contains all
metadata.
 Directory is also a file
ZFS
 ZFS: “the last word of file system”
 The most advanced local file system in production
 128 bits space (2128 bytes in theory)
 larger the # of sand in the earth…
 A lot of advanced features:
 E.g. transactional commits, end-to-end integration, snapshot,
volume management and much more…
 Will never lose data and always be consistent.
 Every OS community wants to clone or copy its features…
 Btrfs on Linux, ReFS on Windows, ZFS on FreeBSD
NFS
 “Network File System
(NFS)”
 A protocol developed
by SUN in 1984
 A set of RPC calls
 IETF standard
 Supported by all major
OSs
 Simple and efficient
Google File System (GFS)
 A large distributed file
system specially
designed for
MapReduce framework
 High throughput
 High availability
 Special designed. Not
compatible to
VFS/POSIX API.
 Requires clients linked to
the GFS library.
 Hadoop DFS clones the
concepts of GFS
More File Systems
 Interesting file systems that are worth to explore
 Btrfs (B-tree FS) from oracle, expected to be the next
standard Linux file system. Many concepts are shared
with ZFS.
 ReFS: The file system for Windows 8 (from Microsoft).
Many concepts are shared with ZFS (too!).
 WAFL (Write Anywhere File Layout) file system from
NetApp.
 FUSE (Filesystem in Userspace): a cross-platform library
that allows developers to write file system running in
user mode
Thanks
FAQ?

More Related Content

ODP
Distributed File System
Ntu
 
PPTX
File system Os
Nehal Naik
 
PPTX
Ankit Bargali Ouiiihhhoojpk;oihigigiS BCA-IV.pptx
AnkitBargali
 
PPTX
Graphical user interface _ SEOSKILLS Hyderabad
SEO SKills
 
PPT
File Management in Operating Systems
vampugani
 
PPT
The Storage Systems
Dhaivat Zala
 
DOCX
File system interfacefinal
marangburu42
 
PPTX
Files and directories in Linux 6
Meenakshi Paul
 
Distributed File System
Ntu
 
File system Os
Nehal Naik
 
Ankit Bargali Ouiiihhhoojpk;oihigigiS BCA-IV.pptx
AnkitBargali
 
Graphical user interface _ SEOSKILLS Hyderabad
SEO SKills
 
File Management in Operating Systems
vampugani
 
The Storage Systems
Dhaivat Zala
 
File system interfacefinal
marangburu42
 
Files and directories in Linux 6
Meenakshi Paul
 

Similar to 009709863.pdf (20)

DOCX
Linux File System.docx
BhuvanaR13
 
PPTX
Operating System
VijayaPriya14
 
PPTX
Linux command line tutorial for beginners.pptx
ciphersecio
 
PDF
File management
Mohd Arif
 
PDF
File
Mohd Arif
 
PDF
Introduction One of the key goals for the Windows Subsystem for Li.pdf
anwarfoot
 
PPTX
Linux file system
Md. Tanvir Hossain
 
PDF
linuxfilesystem-180727181106 (1).pdf
ShaswatSurya
 
PPTX
Disk and File System Management in Linux
Henry Osborne
 
PPTX
FILE Implementation Introduction imp .pptx
pranilArunJadhav
 
PPT
file management_part2_os_notes.ppt
HelalMirzad
 
PPT
Ch12 OS
C.U
 
PPT
OSCh12
Joe Christensen
 
PPTX
I/O System and Case study
Lavanya G
 
PPT
presentations
MISY
 
PPT
Ie Storage, Multimedia And File Organization
MISY
 
PPTX
UNIT III.pptx
YogapriyaJ1
 
Linux File System.docx
BhuvanaR13
 
Operating System
VijayaPriya14
 
Linux command line tutorial for beginners.pptx
ciphersecio
 
File management
Mohd Arif
 
File
Mohd Arif
 
Introduction One of the key goals for the Windows Subsystem for Li.pdf
anwarfoot
 
Linux file system
Md. Tanvir Hossain
 
linuxfilesystem-180727181106 (1).pdf
ShaswatSurya
 
Disk and File System Management in Linux
Henry Osborne
 
FILE Implementation Introduction imp .pptx
pranilArunJadhav
 
file management_part2_os_notes.ppt
HelalMirzad
 
Ch12 OS
C.U
 
I/O System and Case study
Lavanya G
 
presentations
MISY
 
Ie Storage, Multimedia And File Organization
MISY
 
UNIT III.pptx
YogapriyaJ1
 
Ad

More from KalsoomTahir2 (20)

PDF
005813616.pdf
KalsoomTahir2
 
PDF
009576860.pdf
KalsoomTahir2
 
PDF
005813185.pdf
KalsoomTahir2
 
PDF
HASH FUNCTIONS.pdf
KalsoomTahir2
 
PPTX
6. McCall's Model.pptx
KalsoomTahir2
 
PPT
ch02-Database System Concepts and Architecture.ppt
KalsoomTahir2
 
PPT
9223301.ppt
KalsoomTahir2
 
PPT
11885558.ppt
KalsoomTahir2
 
PPT
Indexing.ppt
KalsoomTahir2
 
PPT
chap05-info366.ppt
KalsoomTahir2
 
PPT
1650607.ppt
KalsoomTahir2
 
PDF
005281271.pdf
KalsoomTahir2
 
PPT
soa_and_jra.ppt
KalsoomTahir2
 
PPT
ERP_Up_Down.ppt
KalsoomTahir2
 
PPT
Topic1CourseIntroduction.ppt
KalsoomTahir2
 
PPT
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
KalsoomTahir2
 
PPT
CommercialSystemsBahman.ppt
KalsoomTahir2
 
PPT
EJBDetailsFeb25.ppt
KalsoomTahir2
 
PPT
jan28EAI.ppt
KalsoomTahir2
 
PDF
005428052.pdf
KalsoomTahir2
 
005813616.pdf
KalsoomTahir2
 
009576860.pdf
KalsoomTahir2
 
005813185.pdf
KalsoomTahir2
 
HASH FUNCTIONS.pdf
KalsoomTahir2
 
6. McCall's Model.pptx
KalsoomTahir2
 
ch02-Database System Concepts and Architecture.ppt
KalsoomTahir2
 
9223301.ppt
KalsoomTahir2
 
11885558.ppt
KalsoomTahir2
 
Indexing.ppt
KalsoomTahir2
 
chap05-info366.ppt
KalsoomTahir2
 
1650607.ppt
KalsoomTahir2
 
005281271.pdf
KalsoomTahir2
 
soa_and_jra.ppt
KalsoomTahir2
 
ERP_Up_Down.ppt
KalsoomTahir2
 
Topic1CourseIntroduction.ppt
KalsoomTahir2
 
Lecture 19 - Dynamic Web - JAVA - Part 1.ppt
KalsoomTahir2
 
CommercialSystemsBahman.ppt
KalsoomTahir2
 
EJBDetailsFeb25.ppt
KalsoomTahir2
 
jan28EAI.ppt
KalsoomTahir2
 
005428052.pdf
KalsoomTahir2
 
Ad

Recently uploaded (20)

PPTX
Information Texts_Infographic on Forgetting Curve.pptx
Tata Sevilla
 
PPTX
Basics and rules of probability with real-life uses
ravatkaran694
 
DOCX
pgdei-UNIT -V Neurological Disorders & developmental disabilities
JELLA VISHNU DURGA PRASAD
 
PDF
The Minister of Tourism, Culture and Creative Arts, Abla Dzifa Gomashie has e...
nservice241
 
PDF
The-Invisible-Living-World-Beyond-Our-Naked-Eye chapter 2.pdf/8th science cur...
Sandeep Swamy
 
PPTX
CONCEPT OF CHILD CARE. pptx
AneetaSharma15
 
PPTX
Tips Management in Odoo 18 POS - Odoo Slides
Celine George
 
PPTX
family health care settings home visit - unit 6 - chn 1 - gnm 1st year.pptx
Priyanshu Anand
 
PPTX
How to Track Skills & Contracts Using Odoo 18 Employee
Celine George
 
PPTX
HISTORY COLLECTION FOR PSYCHIATRIC PATIENTS.pptx
PoojaSen20
 
PDF
Health-The-Ultimate-Treasure (1).pdf/8th class science curiosity /samyans edu...
Sandeep Swamy
 
PPTX
How to Close Subscription in Odoo 18 - Odoo Slides
Celine George
 
PPTX
Artificial-Intelligence-in-Drug-Discovery by R D Jawarkar.pptx
Rahul Jawarkar
 
PPTX
INTESTINALPARASITES OR WORM INFESTATIONS.pptx
PRADEEP ABOTHU
 
PPTX
CARE OF UNCONSCIOUS PATIENTS .pptx
AneetaSharma15
 
DOCX
Modul Ajar Deep Learning Bahasa Inggris Kelas 11 Terbaru 2025
wahyurestu63
 
PPTX
An introduction to Dialogue writing.pptx
drsiddhantnagine
 
PPTX
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
 
PPTX
Five Point Someone – Chetan Bhagat | Book Summary & Analysis by Bhupesh Kushwaha
Bhupesh Kushwaha
 
PPTX
BASICS IN COMPUTER APPLICATIONS - UNIT I
suganthim28
 
Information Texts_Infographic on Forgetting Curve.pptx
Tata Sevilla
 
Basics and rules of probability with real-life uses
ravatkaran694
 
pgdei-UNIT -V Neurological Disorders & developmental disabilities
JELLA VISHNU DURGA PRASAD
 
The Minister of Tourism, Culture and Creative Arts, Abla Dzifa Gomashie has e...
nservice241
 
The-Invisible-Living-World-Beyond-Our-Naked-Eye chapter 2.pdf/8th science cur...
Sandeep Swamy
 
CONCEPT OF CHILD CARE. pptx
AneetaSharma15
 
Tips Management in Odoo 18 POS - Odoo Slides
Celine George
 
family health care settings home visit - unit 6 - chn 1 - gnm 1st year.pptx
Priyanshu Anand
 
How to Track Skills & Contracts Using Odoo 18 Employee
Celine George
 
HISTORY COLLECTION FOR PSYCHIATRIC PATIENTS.pptx
PoojaSen20
 
Health-The-Ultimate-Treasure (1).pdf/8th class science curiosity /samyans edu...
Sandeep Swamy
 
How to Close Subscription in Odoo 18 - Odoo Slides
Celine George
 
Artificial-Intelligence-in-Drug-Discovery by R D Jawarkar.pptx
Rahul Jawarkar
 
INTESTINALPARASITES OR WORM INFESTATIONS.pptx
PRADEEP ABOTHU
 
CARE OF UNCONSCIOUS PATIENTS .pptx
AneetaSharma15
 
Modul Ajar Deep Learning Bahasa Inggris Kelas 11 Terbaru 2025
wahyurestu63
 
An introduction to Dialogue writing.pptx
drsiddhantnagine
 
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
 
Five Point Someone – Chetan Bhagat | Book Summary & Analysis by Bhupesh Kushwaha
Bhupesh Kushwaha
 
BASICS IN COMPUTER APPLICATIONS - UNIT I
suganthim28
 

009709863.pdf

  • 2. Agenda  Introduction  VFS  Optimizations  Examples  F&Q
  • 3. Introduction  “A file system is a means to organize data expected to be retained after a program terminates by providing procedures to store, retrieve and update data, as well as manage the available space on the device(s) which contain it.” – from Wikipedia  Store data  Organize data  Access data  Manage storage resources (e.g. hard drive)
  • 4. Relationship to Architecture Course Acknowledge to the slides from 830 course
  • 5. Relationship to Architecture Course  File system is designed between memory and secondary storage (or remote servers)  One of the most complex part in an operating system  Main R&D focuses:  Performance: throughput, latency, scalability  Reliability and availability  Management: snapshot and etc. Acknowledge to the slides from 830 course
  • 6. Different types of file systems  Local file systems  Stored data on local hard drives, SSDs, floppy drives, optical disks or etc.  Examples: NTFS, EXT4, HFS+, ZFS  Network/distributed file systems  Stored data on remote file server(s)  Example: NFS, CIFS/Samba, AFP, Hadoop DFS, Ceph  Pseudo file systems  Example: procfs, devfs, tmpfs  “List of file systems”  http://en.wikipedia.org/wiki/List_of_file_systems
  • 7. Agenda  Introduction  VFS  Optimizations  Examples  F&Q
  • 8. Overall Architecture of Linux file system components Acknowledgement: “Anatomy of the Linux file system”, IBM developerWorks.
  • 9. Virtual File System (VFS)  VFS is the essential concept in UNIX-like FS  Specify an interface between the kernel and a concrete file system  Introduced by SUN in 1985  Pass system calls to the underlying file systems  E.g. pass sys_write() to Ext4 (i.e. ext4_write())  Three major metadata in VFS  Metadata: the data about data (wikipedia)  Super block, dentry and inode  OO design  Each component defines a set of data members and the functions to access them
  • 10. Super block  A segment of metadata that describes a file system  Is constructed when mount a file system  Usually, a persistent copy of super block is stored in the beginning of a storage device  Describes:  File system type, size, status (e.g. dirty bit, read only bit)  Block size, max file bytes, device size..  How to find other metadata and data.  How to manipulates these data (i.e. sb_ops)
  • 11. Inode  “Index-node” in Unix-style file system  All information about one file (or directory)  Except its name  In UNIX-like system, file names are stored in the directory file: the content of it is an “array” of file names  E.g. owner, access rights, mode, size, time and etc.  Pointers to data
  • 12. Directory Entry (dentry)  Dentry conceptually points a file name to its corresponding Inode  Each file/directory has a dentry presenting it  File systems use dentry to lookup a file in the hierarchical namespace  Each dentry has a pointer to the dentry of its parent directory  Each dentry of a directory has a list of dentries of its sub- directories and sub-files
  • 13. Agenda  Introduction  VFS  Optimizations  Examples  F&Q
  • 14. Optimizations  Most of file system optimizations are designed based on the characteristics of the memory hierarchy and storage devices.  Recall:  RAM 50-100 ns  Disks: 5-10 ms  2-3 orders of magnitude difference  Almost all widely used local file systems are designed for hard disk drives, which have their unique characteristics
  • 15. Hard Disk Drive (HDD)  Stores data on one or more rotating disks, coated with magnetic material  Introduce by IBM in 1956  Use magnetic head to read data
  • 16. The very early HDD….. Acknowledge to:
  • 17. HDD (Cont’d)  The essential structure of HDD has not changed too much…  Constitute with several disks  Each disk is divided to tracks, each of which then is divided to sectors  The single most significant factor:  Seek time
  • 18. Why seek time matters  When access a data (sector), the HDD head must first move to the track (seek time), then rotates the disk to the sector (rotational time)  Seek time: 3 ms on high-end server disks, 12 ms on desktop-level disks [1]  Rotational time: 5.56ms on 5400 RPM HDD, 4.17ms on 7200 RPM HDD [1]  As a result, sequential IO is much faster than random IO, because there is no seek /rotational time [1], http://en.wikipedia.org/wiki/Disk-drive_performance_characteristics
  • 19. General Optimizations  Based on two principles:  RAM access is much faster than the access on disk  Sequential IOs is much faster than random IOs on disk  So we design file systems that  Largely utilizes CPU/RAM to reduce IO to disks (various caches/write buffers)  Prefers sequential IOs  Computes disk layout to arrange related data sequentially located on disks
  • 20. Dcache  Dentry cache (dcache)  Directories are stored as files on disks.  For each file lookup, we want obtain the inode from the given full file path  OS looks the dentries from the root to all parent directories in the path.  E.g. for looking up file “/Users/john/Documents/course.pdf”, OS needs traverse the dentries that presents “/”, “Users”, “john”, “Documents”, and “course.pdf”  To accelerate this:  We use a global hash table (dcache) to map “file path” -> dentry  A two-list solution: one for active dentries, and one for “recent unused dentries” (LRU).
  • 21. Inode cache  Similar to the dcache, OS maintains a cache for inode objects.  Each inode object has 1-to-1 relation to a dentry  If the dentry object is evicted, this inode is evicted P1 P2 P10 f0 f1 f0 f2 f3 f0 File Objects VFS Processes Dentry Cache (hash table) Dentry 0 Dentry 10 Dentry 20 Inode 0 Inode 10 Inode 20 Inode Cache Page Cache 0 Page Cache 10 Page Cache 20 Page Cache (Radix Tree)
  • 22. Page Cache  …a “transparent” buffer for disk-backed pages kept in RAM for fast access… [wikipedia]  A write-back cache  Main purpose: reducing the # of IOs to disks  Access based on page (usually 4KB).  Page cache is per-file based.  A Redix-tree in inode object.  Prefetch pages to serve future read  Absorb writes to reduce # of IOs  The dirty pages (modified) are flushed to disks for : 1) each 30s or 5s, or 2) OS wants to reclaim RAMs  Also can be forced to flush by calling “fsync()” system call
  • 23. Agenda  Introduction  VFS  Optimizations  Examples  F&Q
  • 24. Examples  Several concrete file system designs  Ext4, classic UNIX-like file system concepts  NTFS, advanced Windows file system  ZFS, “the last word of file system”  NFS, a standard network file system  Google File System, a special distributed file system for special requirements
  • 25. Ext4  The latest version of the “extended file system” (Ext2/3/4)  The standard Linux file system for a long time  Inspired from UFS from BSD/Solaris  Group files to block groups  Keep file data near to inodes Ack: http://bit.ly/tjipWY
  • 26. NTFS  “New Technology File System” (NTFS)  The standard file system in Windows world.  A Master File Table (MFT) contains all metadata.  Directory is also a file
  • 27. ZFS  ZFS: “the last word of file system”  The most advanced local file system in production  128 bits space (2128 bytes in theory)  larger the # of sand in the earth…  A lot of advanced features:  E.g. transactional commits, end-to-end integration, snapshot, volume management and much more…  Will never lose data and always be consistent.  Every OS community wants to clone or copy its features…  Btrfs on Linux, ReFS on Windows, ZFS on FreeBSD
  • 28. NFS  “Network File System (NFS)”  A protocol developed by SUN in 1984  A set of RPC calls  IETF standard  Supported by all major OSs  Simple and efficient
  • 29. Google File System (GFS)  A large distributed file system specially designed for MapReduce framework  High throughput  High availability  Special designed. Not compatible to VFS/POSIX API.  Requires clients linked to the GFS library.  Hadoop DFS clones the concepts of GFS
  • 30. More File Systems  Interesting file systems that are worth to explore  Btrfs (B-tree FS) from oracle, expected to be the next standard Linux file system. Many concepts are shared with ZFS.  ReFS: The file system for Windows 8 (from Microsoft). Many concepts are shared with ZFS (too!).  WAFL (Write Anywhere File Layout) file system from NetApp.  FUSE (Filesystem in Userspace): a cross-platform library that allows developers to write file system running in user mode