54
Guide to Operating Systems, 4 th ed. Chapter 4: File Systems

9781111306366 ppt ch4

Embed Size (px)

Citation preview

Guide to Operating Systems, 4th ed.

Chapter 4: File Systems

Guide to Operating Systems, 4th ed. 2

Objectives

2

• List the basic functions common to all file systems

• Explain the file systems used by Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, and Windows 7 (FAT16, FAT32, FAT64, and NTFS)

• Discuss the file systems used by UNIX and Linux systems, including ufs and ext

• Explain the Mac OS X Extended (HFS+) file system including new features added in Mac OS X version 10.6 Leopard

Guide to Operating Systems, 4th ed. 3

Understanding the File System Functions

• All information stored on a computer’s hard disk is managed, stored, and retrieved through a file system– The file system allocates locations on a disk for storage and it

keeps a record of where specific information is kept– Some file systems also implement recovery procedures when a

disk area is damaged or when the OS goes down

• The overall purpose of a file system is to create a structure for filing data

• A file is a set of data that is grouped in some logical manner, assigned a name, and stored on the disk

Guide to Operating Systems, 4th ed. 4

Understanding File System Functions

• File systems used by operating systems perform the following general tasks:– Partition and format disks to store and retrieve information– Enable files to be organized through directories and folders– Establish file-naming conventions– Provide utilities to maintain and manage the file system and

storage media– Provide for file and data integrity– Enable error recovery or prevention– Secure the information in files

Guide to Operating Systems, 4th ed. 5

Understanding File System Functions

• Directory or folder – organizational structure that contains files and may additionally contain subdirectories (or subfolders)

• Directories may store the following information– Date and time the directory or file was created– Date and time the directory or file was last modified– Date and time when the directory or file was last accessed– Directory or file size– Directory or file attributes, such as security information, or if the

directory or file was backed up– If the information in a directory or file is compressed or

encrypted

Guide to Operating Systems, 4th ed. 6

Designing a Directory Structure

• A chaotic file structure:– makes it difficult to run or remove programs

– Makes it difficult to determine the most current versions

– Makes users spend unproductive time looking for specific files

• Some users keep most of their files in the computer’s primary level or root directory (root folder)

• Some programs use an automated setup that suggests folders for new programs– Example – creating new subfolders under the Program Files folder

• To avoid chaos, design the file and folder structure from the start (especially on servers)

Guide to Operating Systems, 4th ed. 7

Designing a Directory Structure

• Consider following some general practices:– Root folder should not be cluttered with files or too many

directories/folders– Each software application should have its own folder/subfolder– Similar information should be grouped (example: accounting

systems or office productivity software)– Operating system files should be kept separate and protected– Directories and folders should have names that clearly reflect

their purposes (a folder named “Shared” would contain documents that can be shared by many users)

Guide to Operating Systems, 4th ed. 8

Designing a Directory Structure

Sample folder structure for a Windows-based system

Guide to Operating Systems, 4th ed. 9

Disk Storage Basics

• Hard disks arrive from manufacturer with low-level formatting– A low-level format is a software process that marks the

location of disk tracks and sectors– Tracks are like several circles around a disk and each track is

divided into sections of equal size called sectors

Disk Storage Basics

Disk tracks and sectors on a platter

Guide to Operating Systems, 4th ed. 10

Guide to Operating Systems, 4th ed. 11

Block Allocation

• Block allocation – divides the disk into logical blocks called clusters, which correlate to sectors, heads, and tracks on the disk– Keeps track of where specific files are stored on the disk

• Cylinders – tracks that line up on each platter from top to bottom and are all read at the same time

• Data regarding block allocation is stored using one of two techniques:– File allocation table (FAT)

– New Technology File System (NTFS) and Unix/Linux file systems – uses various locations on the disk to store a special type of file that is used for directory and file allocation information

Guide to Operating Systems, 4th ed. 12

Partitions

• Partitioning – process of blocking a group of tracks and sectors to be used by a particular file system, such as FAT or NTFS

• After partitioning, the disk must be high-level formatted in order for the OS to store files

• It might be necessary for a disk to have more than one file system– Will require a partition for each file system– Example: To allow the installation of Red Hat Enterprise Linux

and Windows 7 on the same computer

Guide to Operating Systems, 4th ed. 13

Partitions

• Logical drives – creating multiple logical volumes on a single disk and assigning drive letters to each volume

• When a partition is created, information about that partition is stored in a special area of the disk known as the partition table (in MS-DOS, Mac OS, and Windows) and disk label (in UNIX/Linux)

• Another piece of disk that is reserved is known as the boot block in UNIX/Linux and Mac OS X, or the Master Boot Record (MBR) in MS-DOS and Windows.

Partitions

• In Windows, the MBR consists of four elements:– The boot program – examines the partition table to determine

which partition to boot from– The disk signature – stores information about the disk and is

used by management software such as the Windows registry– The partition table for the active partition– The end-of-MBR marker – where the MBR ends

• Not all operating systems support partitions in the same way

• Each operating system uses specific utilities to create partitions

Guide to Operating Systems, 4th ed. 14

Guide to Operating Systems, 4th ed. 15

Formatting

• Formatting – the process of placing the file system on the partition– Necessary in order to install an operating system

• After the OS is installed, a disk management tool can be used to partition and format additional free space

• Can also use the format command from the Command Prompt window – The format command includes several switches (extra codes) – To view a list of these switches, type format /?

Guide to Operating Systems, 4th ed. 16

Formatting

• When a file is stored to disk:– Data is written to clusters on the disk

– Filename is stored in the folder, along with the number of the first cluster the data is stored in

– When the OS fills the first cluster, data is written to the next free cluster and the FAT entry corresponding with the first cluster points to the number of the second cluster used

– When the second cluster is full, the OS continues with the next free cluster and the FAT entry for the second cluster points to the number of the third cluster used, and so on…

– When a file is completely written to the disk, the FAT entry for the final cluster is filled with all 1s (means end of file)

– This is commonly referred to as the linked-list method

Guide to Operating Systems, 4th ed. 17

Formatting

• Clusters are a fixed length– When a files does not use all of the space in a cluster, the rest of

the cluster is unusable– Unusable spots are marked in the FAT as bad clusters (never

used for file storage)

• Each partition stores and extra copy of the FAT table in case the first copy gets damaged

• There is only one copy of the root directory on each partition (see figure on the following slide)

• The FAT tables and root directory are at the beginning of each partition and always at the same location

Guide to Operating Systems, 4th ed. 18

Formatting

Typical FAT directory structure

Formatting

• Each FAT directory entry contains filename, file change date and time, file size, and file attributes

• Attributes can indicate whether a file is set to:– Read-only– Archive (to be backed up the next time a backup is made)– System– Hidden

Guide to Operating Systems, 4th ed. 19

Guide to Operating Systems, 4th ed. 20

Windows File Systems

• Windows XP, Vista 7, Server 2003, and Server 2008 support three files systems:– Extended FAT16– FAT32– NTFS

• These OSs also support file systems for DVD/CD-ROM drives and USB devices (flash drives)

FAT16 and Extended FAT16

• Extended FAT16 evolved from FAT16 used in earlier versions of MS-DOS and Windows (3.x/95/98/Me)

• In extended FAT16:– Maximum size of a volume is 4GB– Maximum size of a file is 2GB– Has been around for awhile and can be read by non-Windows

operating systems like UNIX/Linux – Considered a stable file system– Long filenames (LFNs) can be used

• Can contain up to 255 characters

• Not case sensitive

Guide to Operating Systems, 4th ed. 21

Guide to Operating Systems, 4th ed. 22

FAT32

• Support for FAT32 started with Windows 95 Release 2

• Designed to accommodate larger capacity disks

• FAT32:– Root folder does not have to be at the beginning of a volume– Can use disk space more efficiently than FAT16 (because it

uses smaller cluster sizes)– Largest volume that can be formatted is 32 GB– Maximum file size is 4 GB– Offers fast response on small 1 or 2 GB partitions

Guide to Operating Systems, 4th ed. 23

FAT64

• FAT64 is also known as exFAT

• Proprietary file system introduced by Microsoft for mobile personal storage

• Good choice for USB flash devices that may store large files (such as pictures, videos, etc…)

• Available in Service Pack 1 for Windows Vista, Windows 7, and Windows Server 2008, Mac OS X Snow Leopard

• Support is available for Linux from a third party

Guide to Operating Systems, 4th ed. 24

NTFS

• NTFS – dominant Windows file system for all Windows operating systems starting with Windows 2000

• Uses a Master File Table (MFT) instead of FAT tables

• The MFT and related files take up about 1 MB of disk space

• When a file is created, a record for that file is added to the MFT– Contains additional attributes such as security settings,

ownership, and permissions

Guide to Operating Systems, 4th ed. 25

NTFS

• The MFT record reflects the sequence of clusters that a file uses

• It is possible to have multiple filenames that refer to the same file– A technique known as hard linking– This feature is also available in UNIX/Linux file systems

• Windows Vista, Server 2008, and 7 use NTFS version 6

• Windows XP and Server 2003 use NTFS version 5

• Windows NT 4.0 used NTFS 4

Guide to Operating Systems, 4th ed. 26

NTFS

• Basic features of NTFS:– Long filenames– Built-in security features– Better file compression than FAT– Ability to use larger disks and files than FAT– File activity tracking for better recovery and stability than FAT– Portable Operating System Interface for Unix (POSIX)

support– Volume striping and volume extensions– Less disk fragmentation than FAT

Guide to Operating Systems, 4th ed. 27

NTFS

• NTFS is equipped with security features that meet the US government’s C2 security specifications– Refers to high-level, “top-secret” standards for data protection,

system auditing, and system access

• Examples:– System files can be protected so only the server administrator

has access– A folder of databases can be protected with read access, but

no access to change data– Public folder can give users in a designated group access to

read and update files, but not to delete files

Guide to Operating Systems, 4th ed. 28

NTFS

• Some files can be compressed by more than 40%, saving disk storage for other storage needs

• NTFS has the ability to keep a log or journal of file system activity (called journaling)– Makes it possible for files to be restored in the event of a power

failure

• NTFS supports volume striping– Process that equally divides the contents of each file across two or

more volumes to extend disk life, enable fault tolerance, and balance disk load for better performance

• NTFS has hot fix capabilities– If a bad disk area is detected, automatically copies the information

to another disk area that is not damaged

Guide to Operating Systems, 4th ed. 29

NTFS

• In addition to NTFS 4 features, NTFS 5 adds several new features:– Ability to encrypt files – No system reboot required after creating an extended volume– Ability to reduce drive designations– Indexing for fast access– Ability to retain shortcuts and other file information when files

and folders are placed on other volumes– Ability to establish disk quotas (to control how much disk space

users can occupy)

NTFS

• NTFS 6 (latest version) adds several new features:– Transactional NTFS – used to perform operations in

transactions (all at once or not all)– Partition resizing – allows administrator to expand or shrink

partitions– Self-healing – the chkdsk utility runs in the background to

correct hard disk problems (instead of having to take the volume down to run it)

Guide to Operating Systems, 4th ed. 30

NTFS

• The chkdsk utility can detect and fix an extensive set of file system problems in FAT and NTFS system– This utility is available in all versions of Windows starting with

Windows 2000– The most common problems found are files with 0 sizes,

caused when a file is not properly closed or chains of clusters that have no directory entries

• Windows 2000 and later versions have a built-in disk defragmenting tool– Rearranges data on the disk in a continuous fashion, ridding

the disk of scattered open clusters

Guide to Operating Systems, 4th ed. 31

NTFS

FAT16, FAT32, FAT64, and NTFS compared

Guide to Operating Systems, 4th ed. 32

CDFS and UDF

• Windows versions after Windows 2000 recognize some additional file systems used by peripheral storage technologies

• CD-ROM File System (CDFS) – supported so that OSs can read and write files to DVD/CD-ROM drives

• Universal Disk Format (UDF) – also used on DVD/CD-ROMs, which are used for huge file storage to accommodate movies and games

Guide to Operating Systems, 4th ed. 33

The UNIX File System

• There are many different file systems that can be used with UNIX– Some file systems are more “native” to specific UNIX operating

systems than others

• Most versions of UNIX and Linux support the UNIX file system (ufs), which is the original native UNIX file system– ufs is a hierarchical file system that is expandable, supports

large storage, provides excellent security, and is reliable– Many qualities of NTFS are modeled after ufs (journaling and

hot fixes)

Guide to Operating Systems, 4th ed. 34

The UNIX File System

• In Linux, the native file system is called the extended file system (ext or ext fs)

• ext is modeled after ufs and enables the use of the full range of built-in Linux commands, file manipulation, and security

• The first ext version had bugs– ext2 – reliable file system that handles large disk storage– ext3 – added journaling capabilities– ext4 – supports file sizes up to 16 TB

Guide to Operating Systems, 4th ed. 35

The UNIX File System

• Both ufs and ext use the same structure– Built on the concept of information nodes (or inodes)– Each file has an inode and is identified by an inode number– An inode contains general information about that file such as:

• User and group ownership, permissions, size and type of file, date the file was created, and the date the file was last modified and read

– Each disk is divided into logical blocks• The superblock contains information about the layout of blocks,

sectors, and cylinder groups on the file system

– The inode for a file contains a pointer (number) that tells the OS where to find a file on the hard disk (based on logical blocks)

– Inode 0 contains the root of the folder structure and is the jumping off point for all other inodes

Guide to Operating Systems, 4th ed. 36

The UNIX File System

• A UNIX/Linux system can have many file systems– Mounts file systems as a sub file system of the root file system– All file systems are referred to by a path– The path starts out with / (/ indicates the main root directory of

the file system)– See Figure 4-14 on the next slide for examples

• Directories in the file system contain a series of filenames– UNIX/Linux allows the use of long filenames, which may

include any character that can be represented by ASCII

Guide to Operating Systems, 4th ed. 37

The UNIX File System

UNIX/Linux file system path entries

Guide to Operating Systems, 4th ed. 38

The UNIX File System

• Disks are referenced by a special inode called a device

• There are two types of devices:– Raw device – has no logical division in blocks – Block device – does have logical division in blocks

• Devices are normally kept in the /dev or /devices directory

• Symbolic link – used to link a directory entry to a file that is on a different partition– Merely a pointer to a file

Guide to Operating Systems, 4th ed. 39

The UNIX File System

• You must first partition a disk to use the UNIX/Linux file system

• The command to partition the disk differs slightly– Most UNIX systems use either fdisk or format

– Typing man fdisk or man format at the command prompt gives you an overview of available commands

Guide to Operating Systems, 4th ed. 40

The UNIX File System

• Once a partition is made, a file system can be created– You must know the device name of the partition on which you

wish to create a file system– Type newfs, followed by the name of the device– The newfs command is not available in all versions of Linux

• Use the mkfs command instead

Guide to Operating Systems, 4th ed. 41

The UNIX File System

• When a file is saved to disk, the system first stores part of the data to memory until it has time to write to disk– If computer is shut down prior to data being written to disk, you

can end up with a damaged file system– UNIX/Linux systems should always be shut down using proper

shutdown commands– You can manually force a write of all data in memory by using

the sync command

• Another utility is known as fsck– Verifies the integrity of the superblock, the inodes, all cluster

groups, and all directory entries

Guide to Operating Systems, 4th ed. 42

The UNIX File System

UNIX/Linux file system commands

Guide to Operating Systems, 4th ed. 43

The Macintosh File System

• The original Macintosh Filing System (MFS) of 1984 was limited– Kept track of 128 documents, applications or folders– Reasonable limit when the only storage device was a 400 KB

floppy disk drive

• In 1986, Apple created Hierarchical Filing System (HFS)– Divided a volume (disk partition) into allocation blocks – similar

to clusters on PCs

• In 1998, Apple released Mac OS 8.1 with a new file system called Hierarchical Filing System Extended Format (HFS+)

Guide to Operating Systems, 4th ed. 44

The Macintosh File System

• In Mac OS X version 3.0, Mac OS Extended (HFS+) includes new features:– A case-sensitive format to make the file system more

compatible with other UNIX/Linux systems– Journaling– Ability to store up to 16 TB of data

• The first two sectors of a Mac-formatted disk are:– Boot sectors, or boot blocks– Volume information block – contains catalog b-tree

• Catalog b-tree is a list of all files on the volume and keeps track of a file’s name, location in the folder structure, and its physical location

Guide to Operating Systems, 4th ed. 45

The Macintosh File System

• Macintoshes can read and write to disks from other operating systems

• Mac OS has always supported what might be called medium filenames (up to 31 characters)– Any character may be used in a filename except the colon (:)– Reason for this: Macintosh paths are written as colon-

separated entities such as:• Hard Drive:System Folder:Preferences:Finder Prefs

• Mac uses type codes and creator codes instead of filename extensions as in Windows– Files created with Apple’s SimpleText editor have a type code

of APPL and a creator code of ttxt

Guide to Operating Systems, 4th ed. 46

The Macintosh File System

• Macintosh files can contain two parts, or forks:– Data fork – contains frequently changing information (such as

word processing data)– Resource fork – contains information that is fixed (such as a

program’s icons, menu resources, and splash screens)

• Because Mac files have type and creator codes and two forks can create problems when storing files on non-Macintosh servers– MacBinary – format which joins the two forks into one, and

safely stores the type and creator codes and finder flags

Guide to Operating Systems, 4th ed. 47

The Macintosh File System

• Apple’s equivalent to a Windows shortcut is the alias (introduced in System 7.0 in 1991)– The system-level Alias Manager keeps track of the original– The word “alias” is tacked onto the filename when the alias is

created and the filename is italicized

• Mac OS X comes with two disk utilities:– Disk Utility – manages disk drives– Disk First Aid – repairs disk problems

• Mac OS X also comes with a utility (Sherlock) that searches disks for filenames and text within files– Spotlight replaced Sherlock in Mac OS X 10.4 Tiger

Guide to Operating Systems, 4th ed. 48

The Macintosh File System

A Spotlight search in Mac OS X Snow Leopard

Guide to Operating Systems, 4th ed. 49

The Macintosh File System

• When a Mac is not shut down properly a disk integrity check will automatically run at the next startup

• Macs will boot from a DVD/CD-ROM or various SCSI devices– To boot from a DVD/CD-ROM, press the “C” key while booting

up– Pressing the Shift-Option-Delete-Apple (SODA) keys while

booting will bypass the internal hard drive and boot from the next drive in a SCSI chain

Guide to Operating Systems, 4th ed. 50

Chapter Summary

• For the user, files are the “bread and butter” of an operating system. Besides containing the operating system kernel, files hold documents and programs on which users rely.

• Files are made possible by a file system that enables them to be created, written, managed, and stored on disk media. All OSs must have a file system that provides a file-naming convention, a way to store files, and a means to partition and format disks.

• Besides creating and modifying files, the file system also should offer the ability to defragment files, compress file contents, ensure file and data integrity, secure files, and control removable storage media.

• The main file systems used in Windows since Windows 2000 are extended FAT16, FAT32, and NTFS.

Guide to Operating Systems, 4th ed. 51

Chapter Summary

• In FAT16 and FAT32, the file system creates a file allocation table to store information about files.

• FAT32 is more robust than FAT16, providing for the use of more clusters and larger partitions.

• FAT64 (exFAT) is mainly used for personal mobile storage devices like flash drives.

• NTFS is the native file system for Windows 2000 and after with the advantage of better security, larger disk and file sizes, better management tools, and greater stability than FAT16 and FAT32.

• chkdsk is an important disk verification and repair utility that works for FAT16, FAT32, and NTFS.

Guide to Operating Systems, 4th ed. 52

Chapter Summary

• UNIX and Linux support many support many different file systems but typically employ ufs or ext

• ufs and ext use information nodes (inodes) to organize information about files.

• Different varieties of UNIX/Linux use different file system utilities, such as fdisk and format to partition and format disks. The fsck (file system checker) utility is used to verify the integrity of UNIX/Linux file systems.

• Mac OS X uses Mac OS Extended (HFS+) file system, which is an enhancement of HFS and was introduced in 1998 with Mac OS 8.1.

Guide to Operating Systems, 4th ed. 53

Chapter Summary

• Two important Mac OS X disk tools include Disk Utility and Disk First Aid.

• Table 4-8 shows the disk management tools you have learned about in the chapter. Of these tools, the Mac OS X tool might be the most “one-stop,” because you can use it to configure, repair, and manage disks.

Guide to Operating Systems, 4th ed. 54