Presentation is loading. Please wait.

Presentation is loading. Please wait.

COT 4600 Operating Systems Spring 2011 Dan C. Marinescu Office: HEC 304 Office hours: Tu-Th 5:00 – 6:00 PM.

Similar presentations


Presentation on theme: "COT 4600 Operating Systems Spring 2011 Dan C. Marinescu Office: HEC 304 Office hours: Tu-Th 5:00 – 6:00 PM."— Presentation transcript:

1 COT 4600 Operating Systems Spring 2011 Dan C. Marinescu Office: HEC 304 Office hours: Tu-Th 5:00 – 6:00 PM

2 Last time: Binding and indirection Generic naming model  Name mapping algorithms  Comparing names; name discovery Practical design of naming scheme  Contexts  Name overloading Today: Computer system organization; operating systems The hardware layer  Bus sharing  Optimization, DMA The software layer – the file abstraction Case studies  UNIX File System  URLs Next time  Modularity Lecture 9 – Thursday, February 10, 2011 Lecture 92

3 Computer System Organization Operating Systems (OS)  software used to  Control the allocation of resources (hardware and software)  Support user applications  Sandwiched between the hardware layer and the application layer OS-bypass: the OS does not hide completely the hardware from applications. It only hides dangerous functions such as  I/O operations  Management function Names  modularization Lecture 93

4 Figure 2.16 from the textbook 4

5 The hardware layer Modules representing each of the three abstractions (memory, interpreter, communication link) are interconnected by a bus. The bus  a broadcast communication channel, each module hears every transmission.  Control lines  Data lines  Address lines Each module  is identified by a unique address  has a bus interface Modules other than processors need a controller. Lecture 95

6 Figure 2.17 from the textbook 6

7 Bus sharing and optimization Communication  broadcast Arbitration protocol  decide which module has the control of the bus. Supported by hardware:  a bus arbiter circuit  distributed among interfaces – each module has a priority  daisy chaining Split-transaction  a module uses the arbitration protocol to acquire control of the bus Optimization:  hide the latency of I/O devices Channels  dedicated processors capable to execute a channel program (IBM) DMA (Direct Memory Access)  Support transparent access to files: Memory Mapped I/O Lecture 97

8 Optimization Direct Memory Access (DMA):  supports direct communication between processor and memory; the processor provides the disk address of a block in memory where data is to be read into or written from.  hides the disk latency; it allows the processor to execute a process while data is transferred Memory Mapped I/O:  LOAD and STORE instructions access the registers and buffers of an I/O module bus addresses are assigned to control registers and buffers of the I/O module the processor maps bus addresses to its own address space (registers)  Supports software functions such as UNIX mmap which map an entire file. Swap area: disk image of the virtual memory of a process. Lecture 98

9 DMA Transfer 9 Lecture 99

10 B. The software layer: the file abstraction File: memory abstraction used by the application and OS layers  linear array of bits/bytes  properties: durable  information will not be changed in time has a name  allows access to individual bits/bytes  has a cursor which defines the current position in the file. The OS provides an API (Application Programming Interface) supporting a range of file manipulation operations. A user must first OPEN a file before accessing it and CLOSE it after it has finished with it. This strategy:  allows different access rights (READ, WRITE, READ-WRITE)  coordinate concurrent access to the file Some file systems  use OPEN and CLOSE to enforce before-or-after atomicity  support all-or-nothing atomicity  e.g., ensure that if the system crashes before a CLOSE either all or none of WRITEs are carried out Lecture 910

11 Open and Read operations 11 Lecture 911

12 Unix and Unix File System Developed in early 1970s at Bell Labs for PDP computers made by Digital Lineage  MULTICS developed at MIT in 1960s Versions:  Berkeley Unix (BSD)  GNU/Linux  Darwin – part of MAC OS Unix file system – hierarchical data organization: blocks  files  directories  file systems  the objects: files – linear arrays of blocks of data; each file has a cursor giving the current position directories – collections of files; tree structure metadata - useful information about the file, not contained in the file (e.g., owner, access modes, last modified date, length, etc.)  supports: creation, deletion, renaming of files and directories reading data from and writing data to a file reading and writing metadata describing a file Lecture 912

13 API for the Unix File System OPEN(name, flags, model)  connect to a file Open an existing file called name, or Create a new file with permissions set to mode if flags is set. Set the file pointer (cursor) to 0. Return the file descriptor (fd). CLOSE(fd)  disconnect from a file Delete file descriptor fd. READ(fd, buf,n)  read from file Read n bytes from file fd into buf; start at the current cursor position and update the file cursor (cursor = cursor + n). WRITE(fd, buf,n)  write to file Write n bytes to the file fd from buf; start at the current cursor position and update the file cursor (cursor = cursor + n). SEEK(fd, offset,whence)  move cursor of file Set the cursor position of file fd to offset from the position specified by whence (beginning, end, current position) Lecture 913

14 API for the Unix File System (cont’d) FSYNC(fd)  make all changes to file fd durable. STAT(name)  read metadata CHMOD, CHOWN  change access mode/ownership RENAME(from_name,to_name)  change file name LINK(name, link_name)  create a hard link UNLINK(name)  remove name from directory SYMLINK(name, link_name)  create a symbolic link MKDIR(name)  create directory name RMDIR(name)  delete directory name CHDIR(name)  change current directory to name CHROOT  Change the default root directory name MOUNT(name,device)  mount the file system name onto device UNMOUNT(name)  unmount file system name Lecture 914


Download ppt "COT 4600 Operating Systems Spring 2011 Dan C. Marinescu Office: HEC 304 Office hours: Tu-Th 5:00 – 6:00 PM."

Similar presentations


Ads by Google