introduction to unix and linux by mike gideon. guide to operating systems, 4th ed.2 understanding...
TRANSCRIPT
INTRODUCTION TO UNIX AND LINUX
By Mike Gideon
Guide to Operating Systems, 4th ed. 2
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. 3
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. 4
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. 5
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. 6
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. 7
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. 8
Files
Guide to Operating Systems, 4th ed. 9
Guide to Operating Systems, 4th ed. 10
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
Cylinders
Guide to Operating Systems, 4th ed. 11
Hard Drive
Guide to Operating Systems, 4th ed. 12
Guide to Operating Systems, 4th ed. 13
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• Linux: usr, var, and home are different file systems
Guide to Operating Systems, 4th ed. 14
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. 15
Guide to Operating Systems, 4th ed. 16
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. 17
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. 18
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. 19
Formatting
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. 20
Guide to Operating Systems, 4th ed. 21
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. 22
Guide to Operating Systems, 4th ed. 23
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
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. 24
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. 25
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. 26
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. 27
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)
• 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. 28
The UNIX File System
UNIX/Linux file system path entries
Guide to Operating Systems, 4th ed. 29
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. 30
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. 31
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. 32
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. 33
The UNIX File System
UNIX/Linux file system commands
Guide to Operating Systems, 4th ed. 34
The File System
A file is a container for storing information.
Unix/Linux does not impose any structure.
No end-of-file (eof) mark.
Name and size is not stored in the file itself.
File attributes are stored separately / accessible by kernel
The File System
The Shell is a file
The Kernel is a file
Directories are treated like files
Devices are treated like files (printers, keyboard, etc.)
Types of Files
• Ordinary File
• Directory File
• Device or Pseudo File
• Symbolic link
also socket and named pipes
Types of Files
• Ordinary File – aka Regular Files
Text – printable characters with newline characters
Binary – printable and non printable characters (ASCII range 0-255)
commands, images, music files, videos, databases
Cat .profileCat /bin/ls
Types of Files
• Directory File
Contains no data but maintains some details about files and subdirectories it contains.
Hierarchical structure – “tree” for organization
Types of Files
• Device or Pseudo Files
Take up no space
Internal representation of a physical device (keyboard, monitor, hard drive, etc.)
Types of Files
• Symbolic link
Pointer to another file (similar to a shortcut)
Hard links - uses original file’s i-number- indistinguishable
Soft links - contains pathname to other file
File System Hierarchy
• Inverted Tree
• Top called the “root” (represented by frontslash / )
• Absolute paths /home/mike
• No two files can have the same absolute path (same name, different directories is okay)
• Don’t always use absolute paths - example
File System Hierarchy
File System Directories (folders)• /bin /proc• /boot /root• /cdrom /sbin• /dev /srv• /etc /tmp• /home /usr• /lib /var• /lost+found• /media /usr = static data (user and programmers)
• /mnt /var = variable data (admin stuff)
• /opt
References• Information gathered from: • Hahn, H. Guide to Unix and Linux• Das, S. Your Unix/Linux the Ultimate Guide• Palmer, M, & Walters, M. Guide to Operating Systems, 4th ed.