cs341 Lecture Notes Spring 2002 Week 13, Monday For today you should have 1) finished homework 7 2) solved the River Crossing problem For next time you should 1) start hw08 (at least do the reading) 2) read the Unisex Bathroom problem 3) Read the Sections of Chapter 16 indicated in the reading notes below (couple of questions) 4) prepare for a quiz Monday on the Fast File System paper. Today's topics 1) finish up the Fast File System paper 2) introduce Chapter 16 3) Smoker problem, river crossing solution 4) homework 7 reports Interesting parts of Chapter 16 ------------------------------- Section 16.2 Nutt talks about three kinds of systems with remote disks 1) diskless workstations clients have no local disks. access to disks gets translated into network requests all processing is local 2) diskless X terminals all user operations (mouse and key events) are translated into network requests processing happens on the server, which generates display information display information sent back over network and appears on client 3) network computers user operations are translated locally, and some are handled locally other user operations cause requests to go over the network reply from server might be display data (as in an X terminal) or code that will execute on the client usually client provides a virtual machine interpreter (like, um, the Java Virtual Machine) Section 16.2.4 What is the difference between a remote disk server and a remote file server? Remote disk server 1) server stores blocks but generally doesn't know what they are 2) client requests are low-level: give me such and such a sector Remove file server 1) server stores file and inodes, and knows what's what 2) client requests are high-level: give me a block from a file What is the primary advantage of a remote disk server? What is the primary advantage of a remote file server? Nutt tends to focus on the performance limitations of remote disks/files. For many systems, the administrative advantages outweigh the performance issues. The most important aspect of remote files is that they provide THE SINGLE SYSTEM IMAGE (SSI) The SSI is the holy grail of operating system design. It is the abstraction that all machines on a network 1) comprise a single homogeneous system 2) provide local and remote computing resources 3) provide local and remote storage resources 4) provide local and remote I/O resources as if there were only one big machine. Section 16.3.2 Buffering is the (very common) practice of storing information temporarily while it is in transit from one place to another. Buffering + prefetch can improve the performance of a system, provided that we can predict future accesses. If you have buffering and you keep things in buffer in anticipation of upcoming requests, then you have a cache. Figure 16.9 is a pretty good picture of what the file system looks like in the Linux lab. There are disk caches (block caches) at both the clients and the server. What is the cache consistency problem? What are the characteristics of the cache system of the Sprite Network File System? Section 16.3.3.1 The Linux Lab uses an implementation of the Network File System (NFS) What is the VFS? What additional major capability does NFS provide, besides access to remote file systems? Section 16.5.1 There are two ways to specify a remote file 1) superpath name augment the path name with a machine name this is the approach used for URLS 2) remote mounting certain directories are declare to be "mount points" a remote directory is "mounted" on the local file hierarchy the names of remote files are indistinguishable from the names of local files all access to files within a mounted directory are intercepted by the VFS and translated into network requests Vocabulary scavenger hunt: what does "idempotent" mean?