CS 149: Operating Systems April 7 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak www.cs.sjsu.edu/~mak
Jan 03, 2016
CS 149: Operating SystemsApril 7 Class Meeting
Department of Computer ScienceSan Jose State University
Spring 2015Instructor: Ron Mak
www.cs.sjsu.edu/~mak
2Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
Unofficial Field Trip
Computer History Museum in Mt. View http://www.computerhistory.org/
Saturday, May 9, 11:30 – closing time
Special free admission. Do a self-guided tour of the new Revolution exhibit. See a life-size working model of Charles Babbage’s
Difference Engine in operation, a hand-cranked mechanical computer designed in the early 1800s.
Experience a fully restored IBM 1401 mainframe computer from the early 1960s in operation. General info: http://en.wikipedia.org/wiki/IBM_1401 My summer seminar: http://www.cs.sjsu.edu/~mak/1401/ Restoration:
http://ed-thelen.org/1401Project/1401RestorationPage.html
3Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
Unofficial Field Trip
The new Revolution exhibit is now open! Walk through a timeline of the
First 2000 Years of Computing History. Historic computer systems, data processing equipment,
and other artifacts. Small theater presentations.
Atanasoff-Berry Computer
HollerithCensus
Machine
4Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
Unofficial Field Trip Babbage Difference Engine,
fully operational. Hand-cranked mechanical
computer. Computed polynomial
functions. Designed by Charles
Babbage in the early to mid 1800s. Arguably the world’s
first computer scientist, lived 1791-1871.
He wasn’t able to build it because he lost his funding.
Live demo at 1:00
His plans survived and this working model was built. Includes a working printer!
http://www.computerhistory.org/babbage/
5Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
Unofficial Field Trip IBM 1401 computer, fully restored and operational
A small transistor-based mainframe computer. Extremely popular with small businesses in the late 1950s
through the mid 1960s Maximum of 16K bytes of memory. 800 card/minute card reader (wire brushes). 600 line/minute line printer (impact). 6 magnetic tape drives, no disk drives.
6Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
File Structure
UNIX supports a minimal set of file structures.
A file is simply a stream of bytes. Each byte is addressable by its offset
from the file beginning or end. User programs can organize these bytes
into fixed- or variable-length records.
Other operating systems (especially on older machines) supported other file structures.
7Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
Sequential Access Method
Programs access the records in forward order, one after another.
The file pointer keeps track of the I/O location. Read the next record. Append to the end of the file. Rewind to the beginning of the file. Skip to record n
Operating Systems Concepts, 9th editionSilberschatz, Galvin, and Gagne (c) 2013 John Wiley & Sons. All rights reserved. 978-1-118-06333-0
8Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
Direct (Random) Access Method
Programs can read or write records rapidly in any order. Each record has a position which is a relative block
number n relative to the beginning of the file. Fixed-length records.
read(n) write(n) position_to(n) read_next() write_next() rewrite(n)
Why?
9Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
Other Access Methods
Build other access methods on top of direct-access. Example: An indexed access method.
Operating Systems Concepts, 9th editionSilberschatz, Galvin, and Gagne (c) 2013 John Wiley & Sons. All rights reserved. 978-1-118-06333-0
10Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
Disk Structure
A disk can be subdivided into partitions.
Disks or partitions can be RAID-protected against failure.
Raw disk or partition: without a file system Formatted: with a file system
Volume: An entity containing a file system.
Each volume tracks its file system’s information in a device directory or volume table of contents.
11Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
Disk Structure, cont’d
Operating Systems Concepts, 9th editionSilberschatz, Galvin, and Gagne (c) 2013 John Wiley & Sons. All rights reserved. 978-1-118-06333-0
12Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
Disk Structure, cont’d
Along with general-purpose file systems, there are many special-purpose file systems.
Frequently, all the file systems reside within the same operating system or computer.
13Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
Directories
A directory is a container (“folder”) of files.
Provides a way to organize a collection of files on disk.
14Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
Directory Operations
Efficiency Locate a file quickly.
Naming Convenient to users. Two users can have same name for different files. The same file can have several different names.
Grouping Logical grouping of files by properties.
15Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
Directory Operations, cont’d
Operations
Create a file Delete a file Search for a file Rename a file List a directory Traverse the file system
16Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
Single-Level Directory
A single directory for all users.
Disadvantages: Naming Grouping
Operating Systems Concepts, 9th editionSilberschatz, Galvin, and Gagne (c) 2013 John Wiley & Sons. All rights reserved. 978-1-118-06333-0
17Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
Two-Level Directory
The operating system maintains a master file directory.
Each user has a user file directory.
Operating Systems Concepts, 9th editionSilberschatz, Galvin, and Gagne (c) 2013 John Wiley & Sons. All rights reserved. 978-1-118-06333-0
18Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
Two-Level Directory, cont’d
Advantages Different users can use the same file names. More efficient searching.
Disadvantages No grouping. Operating Systems Concepts, 9th edition
Silberschatz, Galvin, and Gagne (c) 2013 John Wiley & Sons. All rights reserved. 978-1-118-06333-0
19Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
Tree-Structured Directories
Users can create their own subdirectories.
Operating Systems Concepts, 9th editionSilberschatz, Galvin, and Gagne (c) 2013 John Wiley & Sons. All rights reserved. 978-1-118-06333-0
20Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
Acyclic-Graph Directories
Allow shared directories and files.
Links Resolve a link by locating the actual file or directory. Symbolic links
Operating Systems Concepts, 9th editionSilberschatz, Galvin, and Gagne (c) 2013 John Wiley & Sons. All rights reserved. 978-1-118-06333-0
21Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
File Path Names
Absolute path name
Begins with the root / Example: /usr/local/make
Relative path name
Search begins with the current directory . current directory .. parent directory
Example: cd /usrls local/make
22Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
File Path Names, cont’d
Modern Operating Systems, 3rd ed.Andrew Tanenbaum(c) 2008 Prentice-Hall, Inc.. 0-13-600663-9All rights reserved
23Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
Mounting a File System
Mount an external file system in order to access it.
This file system can be located on another disk or on some external removable medium (such as a DVD ROM).
Define a mount point in the current file system. Usually, it’s an empty directory.
24Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
Mounting a File System, cont’d
Mount the external file system onto the mount point.
Now the contents of the external file system appear under the directory name of the mount point.
If the mount point was not an empty directory, the files that were stored in that directory are now hidden and inaccessible.
25Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
Mounting a File System, cont’d
a) The current file system
b) A volume on /devices/dskOperating Systems Concepts, 9th editionSilberschatz, Galvin, and Gagne (c) 2013 John Wiley & Sons. All rights reserved. 978-1-118-06333-0
26Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
Mounting a File System, cont’d
The result of mounting /devices/dsk onto /users. The previous contents of /users
are no longer accessible.Operating Systems Concepts, 9th editionSilberschatz, Galvin, and Gagne (c) 2013 John Wiley & Sons. All rights reserved. 978-1-118-06333-0
27Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
File Protection
The file owner or creator should be able to control:
What can be done to the file By whom
Types of access:
Read Write Execute
Append Delete List
28Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
File Protection in UNIX
Types of access: read, write, execute (RWX) Three classes of users and sample access:
RWXa) owner access 7 1 1 1b) group access 6 1 1 0c) public access 4 1 0 0
For a particular file or directory (such as game), define an appropriate access with thechmod command.
owner group public
chmod 764 game
29Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
File Protection in UNIX, cont’d
Sample UNIX file listing via the ls command. Access rights to each file and directory
are at the left.
30Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
Layered File System Architecture
I/O control
Device drivers Interrupt handlers
Basic file system
Issue generic commands to the device drivers.
Manage memory buffers and caches that hold file system, directory, and data blocks.
Operating Systems Concepts, 9th editionSilberschatz, Galvin, and Gagne (c) 2013 John Wiley & Sons. All rights reserved. 978-1-118-06333-0
31Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
Layered File System Architecture, cont’d
File-organization module
Manage logical and physical blocks of files.
Translate logical block addresses to physical block address.
Logical file system
Manage file metadata. File control blocks
(UNIX inodes)Operating Systems Concepts, 9th editionSilberschatz, Galvin, and Gagne (c) 2013 John Wiley & Sons. All rights reserved. 978-1-118-06333-0
32Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
File System Layout on Disk
Master Boot Record (MBR)
Located at sector 0 of the disk Used to boot the computer Contains the disk partition table Contains code to boot the computer
The MBR code locates the active disk partition.
Read and execute the boot block of the active partition.
Load the operating system residing in the partition.
33Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
File System Layout on Disk, cont’d
The superblock
Contains key parameters about the file system that is read into main memory.
File-control blocks (UNIX inodes)
Array of data structures, one per file. Information about each file:
Where its disk blocks are located, etc.
34Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
File System Layout on Disk, cont’d
Root directory Other directories and files
Modern Operating Systems, 3rd ed.Andrew Tanenbaum(c) 2008 Prentice-Hall, Inc.. 0-13-600663-9All rights reserved
35Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
Contiguous File Allocation
Each file occupies a set of contiguous blocks.
Usually best performance. Simple: Requires only the
starting location (block #) and length (block count).
Problems Finding space for file Knowing the file size External fragmentation Need for compaction
Still used today on CD ROMs and DVDs.
Operating Systems Concepts, 9th editionSilberschatz, Galvin, and Gagne (c) 2013 John Wiley & Sons. All rights reserved. 978-1-118-06333-0
36Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
Linked File Allocation
Each file is a linked list of blocks. No external fragmentation. No compaction.
Each block contains a pointer to the next block. Free space management system
called when a new block needed. Improve efficiency by clustering
blocks into groups, but increases internal fragmentation.
Locating a block can take many I/Os and disk seeks. Poor random access performance. Reliability can be a problem. Operating Systems Concepts, 9th edition
Silberschatz, Galvin, and Gagne (c) 2013 John Wiley & Sons. All rights reserved. 978-1-118-06333-0
37Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
File Allocation Table (FAT)
At the beginning of a volume Indexed by block number Much like a linked list. Used by Microsoft Windows.
Needs to be cached in memory for performance.
Simple to allocate a new block. Operating Systems Concepts, 9th edition
Silberschatz, Galvin, and Gagne (c) 2013 John Wiley & Sons. All rights reserved. 978-1-118-06333-0
38Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
Indexed File Allocation
Each file has its own index block, an array of disk-block addresses.
No external fragmentation.
Overhead of the index block.
Operating Systems Concepts, 9th editionSilberschatz, Galvin, and Gagne (c) 2013 John Wiley & Sons. All rights reserved. 978-1-118-06333-0
39Computer Science Dept.Spring 2015: April 7
CS 149: Operating Systems© R. Mak
UNIX Inode
Operating Systems Concepts, 9th editionSilberschatz, Galvin, and Gagne (c) 2013 John Wiley & Sons. All rights reserved. 978-1-118-06333-0
UNIX inode has pointers to: direct blocks single indirect blocks double indirect blocks triple indirect blocks