Operating Systems - File Systems
Upcoming SlideShare
Loading in...5
×
 

Operating Systems - File Systems

on

  • 2,339 views

From the Operating Systems course (CMPSCI 377) at UMass Amherst, Fall 2007.

From the Operating Systems course (CMPSCI 377) at UMass Amherst, Fall 2007.

Statistics

Views

Total Views
2,339
Views on SlideShare
2,334
Embed Views
5

Actions

Likes
2
Downloads
92
Comments
0

2 Embeds 5

http://prisms.cs.umass.edu 3
http://www.slideshare.net 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Operating Systems - File Systems Operating Systems - File Systems Presentation Transcript

  • Operating Systems CMPSCI 377 File Systems Emery Berger University of Massachusetts Amherst UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science
  • Files Associate  names with data Usually  stored on persistent media (disks) UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 2
  • File Names Hierarchical  directory structure Absolute,  relative to current Windows  names = location + dir UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 3
  • Directories Directory – just special file  Contains metadata, filenames, inodes  inode = unique number for file  May contain other directory, etc.  Beware: fixed max filename length  File systems use directory structure to  improve locality E.g., ext2 – all files in same directory  clustered in same region of disk UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 4
  • Poor Man’s Database Because files & directories are easy to use,  they get used as de facto databases e.g., Internet Explorer web cache  ~ 1000 files in each hash subdirectory  C:Documents and SettingsEmeryLocal SettingsTemporary Internet FilesContent.IE5> ls -ltra total 1873 -rwx------+ 1 Emery None 67 Jan 10 17:31 desktop.ini drwx------+ 2 Emery None 0 Jan 17 22:42 0NDWKTYT drwx------+ 7 Emery None 0 Feb 19 19:53 . drwx------+ 7 Emery None 0 Apr 20 14:45 .. drwx------+ 2 Emery None 0 May 1 21:41 8HZD6WS6 drwx------+ 2 Emery None 0 May 1 21:54 I4F15DOK drwx------+ 2 Emery None 0 May 1 22:03 XM0N4Q4W -rwx------+ 1 Emery None 1916928 May 3 12:21 index.dat drwx------+ 2 Emery None 0 May 3 12:21 S0RKZRFZ C:Documents and SettingsEmeryLocal SettingsTemporary Internet FilesContent.IE5> UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 5
  • File Systems Abstraction File system manages files  Traditionally: file system maps files to disk  But: files convenient abstraction  use same, easy interface (read, write) Block devices (/dev/scsi0)  Disk drives – transfer in blocks  Character devices (/dev/tty)  Console, printer  Proc filesystem (/proc/mem)  FIFO (named pipes)  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 6
  • Device files Unix devices live in /dev,  act like ordinary files elnux14> echo quot;fooquot; > /dev/tty foo UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 7
  • /proc filesystem Normal file access to kernel internals  elnux14> ls -l /proc/30917/ total 0 dr-xr-xr-x 2 emery fac 0 May 3 13:18 attr -r-------- 1 emery fac 0 May 3 13:18 auxv -r--r--r-- 1 emery fac 0 May 3 13:01 cmdline lrwxrwxrwx 1 emery fac 0 May 3 13:18 cwd -> /nfs/elsrv4/users5/fac/em -r-------- 1 emery fac 0 May 3 13:18 environ lrwxrwxrwx 1 emery fac 0 May 3 13:18 exe -> /bin/tcsh dr-x------ 2 emery fac 0 May 3 12:06 fd -rw-r--r-- 1 emery fac 0 May 3 13:18 loginuid -r-------- 1 emery fac 0 May 3 13:18 maps -rw------- 1 emery fac 0 May 3 13:18 mem -r--r--r-- 1 emery fac 0 May 3 13:18 mounts lrwxrwxrwx 1 emery fac 0 May 3 13:18 root -> / -r--r--r-- 1 emery fac 0 May 3 13:01 stat -r--r--r-- 1 emery fac 0 May 3 13:18 statm -r--r--r-- 1 emery fac 0 May 3 13:01 status dr-xr-xr-x 3 emery fac 0 May 3 13:18 task -r--r--r-- 1 emery fac 0 May 3 13:10 wchan UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 8
  • Named Pipes (FIFO) Special file: acts like unnamed pipe  E.g., cat file | wc -l  elnux14> mkfifo thePipe elnux14> ls -ld thePipe prw-r----- 1 emery fac 0 May 3 14:00 thePipe elnux14> cat simplesocket.h > thePipe & [1] 32242 elnux14> wc -l < thePipe 155 [1] Done cat simplesocket.h > thePipe elnux14> UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 9
  • Named Pipes (FIFO) Special file: acts like unnamed pipe  E.g., cat file | wc -l  elnux14> mkfifo thePipe elnux14> ls -ld thePipe prw-r----- 1 emery fac 0 May 3 14:00 thePipe elnux14> cat simplesocket.h > thePipe & [1] 32242 elnux14> wc -l < thePipe 155 [1] Done cat simplesocket.h > thePipe elnux14> UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 10
  • Named Pipes (FIFO) Special file: acts like unnamed pipe  E.g., cat file | wc -l  elnux14> mkfifo thePipe elnux14> ls -ld thePipe prw-r----- 1 emery fac 0 May 3 14:00 thePipe elnux14> cat simplesocket.h > thePipe & [1] 32242 elnux14> wc -l < thePipe 155 [1] Done cat simplesocket.h > thePipe elnux14> UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 11
  • Named Pipes (FIFO) Special file: acts like unnamed pipe  E.g., cat file | wc –l  elnux14> mkfifo thePipe elnux14> ls -ld thePipe prw-r----- 1 emery fac 0 May 3 14:00 thePipe elnux14> cat simplesocket.h > thePipe & [1] 32242 elnux14> wc -l < thePipe 155 [1] Done cat simplesocket.h > thePipe elnux14> Useful when cannot do redirection  Especially for compression  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 12
  • Named Pipes (FIFO) Exercise:  Program named “joe” outputs file “joe.out”  Huge (~ 3 GB)  Compress it automagically using gzip -c &  named FIFO to “joe.out.gz” UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 13
  • Named Pipes (FIFO) Exercise:  Program named “joe” outputs file “joe.out”  Huge (~ 3 GB)  Compress it automagically using gzip -c &  named FIFO to “joe.out.gz” elnux14> mkfifo joe.out elnux14> gzip –c < joe.out > joe.out.gz & [1] elnux14> joe UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 14
  • File Metadata Files have a lot of associated “metadata”;  ex.: Unix (from stat) Date created, last modified, last accessed  Size (bytes)  User & group ID of file’s owner  File type (not content type)  Directory  Regular file  Block / character device (disk drive, screen)  FIFO  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 15
  • Untyped Files Unix, Windows – file contents untyped  Stream of bytes  Type implied by convention (extensions)  .ppt, .pdf, …  Mac: file types stored in metadata  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 16
  • File Types Unix, Windows – file contents untyped  Stream of bytes  Type implied by convention (extensions)  .ppt, .pdf, …  Mac: file types stored in metadata  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 17
  • Access Control Unix: each file has associated bits that  control access (& other stuff) Read  Write  Execute  Can specify for three “users”  User (file owner)  Group (set of users)  Other (everyone else)  UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 18
  • Access Control - chmod Can read bits via ls, set bits via chmod  elnux14> ls -l ack.scm -rw-r----- 1 emery fac 197 Feb 25 15:19 ack.scm elnux14> chmod -r ack.scm elnux14> ls -l ack.scm --w------- 1 emery fac 197 Feb 25 15:19 ack.scm elnux14> cat ack.scm cat: ack.scm: Permission denied UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 19
  • The End UNIVERSITY OF MASSACHUSETTS AMHERST • Department of Computer Science 20