1. Trang chủ
  2. » Công Nghệ Thông Tin

Advanced Operating Systems: Lecture 29 - Mr. Farhan Zaidi

14 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 14
Dung lượng 455,78 KB

Nội dung

Advanced Operating Systems - Lecture 29: File systems. This lecture will cover the following: the implementation of the abstraction for secondary storage; logical organization of files into directories; sharing of data between processes, people and machines;...

CS703 ­ Advanced  Operating Systems By Mr Farhan Zaidi Lecture No.  29 File systems  The implementation of the abstraction for secondary storage  Logical organization of files into directories  Sharing of data between processes, people and machines Files  A file is a collection of data with some properties  contents, size, owner, last read/write time, protection … Basic operations Unix NT • create(name) • CreateFile(name, CREATE) • open(name, mode) • CreateFile(name, OPEN) • read(fd, buf, len) • ReadFile(handle, …) • write(fd, buf, len) • WriteFile(handle, …) • sync(fd) • FlushFileBuffers(handle, …) • seek(fd, pos) • SetFilePointer(handle, …) • close(fd) • CloseHandle(handle, …) • unlink(name) • DeleteFile(name) • rename(old, new) • CopyFile(name) • MoveFile(name) File access methods  Sequential access  read bytes one at a time, in order  Direct access  random access given a block/byte number  Record access  file is array of fixed- or variable-sized records  Indexed access  FS contains an index to a particular field of each record in a file  apps can find a file based on value in that record (similar to DB) Directories  Most file systems support multi-level directories   naming hierarchies (/, /usr, /usr/local, /usr/local/bin, …) Most file systems support the notion of current directory  absolute names: fully-qualified starting from root of FS bash$ cd /usr/local  relative names: specified with respect to current directory bash$ cd /usr/local (absolute) bash$ cd bin (relative, equivalent to cd /usr/local/bin) Path name translation  Let’s say you want to open “/one/two/three” fd = open(“/one/two/three”, O_RDWR); File protection  FS must implement some kind of protection system   to control who can access a file (user) to control how they can access it (e.g., read, write, or exec) Simple mechanism: contiguous allocation file a (base=1,len=3)      file b (base=5,len=2)  what happens if    file c needs 2    sectors??? Linked files  how do you find   the last block in a? file a (base=1)      file b (base=5)    pro: easy dynamic growth & sequential access, no fragmentation con? Examples (sort-of): Alto, TOPS-10, DOS FAT Example: DOS FS (simplified) Directory (5) a: 6 b: 2 FAT (16­bit entries) file a free   6            4           3  eof   1 file b eof   2            1             3    eof .. .Lecture? ?No.  29 File systems  The implementation of the abstraction for secondary storage  Logical organization... access  random access given a block/byte number  Record access  file is array of fixed- or variable-sized records  Indexed access  FS contains an index to a particular field of each record... support multi-level directories   naming hierarchies (/, /usr, /usr/local, /usr/local/bin, …) Most file systems support the notion of current directory  absolute names: fully-qualified starting

Ngày đăng: 05/07/2022, 12:31