cs341 Lecture Notes Spring 2002 Week 12, Monday For today you should have: 1) solved the Smokers problem 2) continued work on homework 7 (due Thursday) 3) prepared for a Quiz on Chapter 15 For next time you should: 1) read the next section of the semaphore book and work on the H2O problem if you want to 2) read the Fast File System paper and answer the preparation questions below. 3) finish homework 7 Today's topics 1) finish up the discussion of Chapter 15 Section 15.4 ------------ Internet protocols are divided into two layers, which provide different abstractions: Network level (IP) provides 1) universal addresses 2) conversion between link-level protocols 3) routing 4) best-effort delivery Example: A machine on an Ethernet has 1) a hardware address, which is built into the network card 48-bits, usually written as 12 hexadecimal numbers rocky's is 00:01:02:49:33:D0 2) an IP address, assigned by a local administrator out of a range allocated by a public agency The IP address is used to get a packet delivered to my network. The Ethernet address is used to get it to my machine. Section 15.5 ------------ The Transport level (TCP) provides 1) process-to-process communication 2) reliable delivery (eventually) 3) an abstract byte stream When a process opens a TCP connection, it specifies the IP address of the destination machine and the port of a process. Example: 149.130.13.78, port 80 Which is the web server running on rocky. When the packet arrives at my machine, it has 1) an Ethernet header with my hardware address 2) an IP header with my IP address 3) a TCP header with a destination port indicating which process on my machine should get the packet. Section 15.6 ------------ How do we get from domain names, like rocky.wellesley.edu to IP addresses? The Domain Name System (DNS) is a distributed system that performs that translation. Read Section 15.6.2 on the Client-Server model. Fast File System for UNIX ------------------------- What kind of workload requires the highest throughput from the file system? What are the two advantages of larger block sizes? What is the primary disadvantage of larger block sizes? How do the authors mitigate this disadvantage? Why might we expect the performance of a file system to deteriorate over time? What is a cylinder group? What does it mean to say that the layout of a file is rotationally optimal? Why is it difficult to write a file system that will work well on a variety of hardware? How do the authors deal with that difficulty? What are the two conflicting goals of the layout policy? What do the authors mean by "effective utilization of the disk"? On the old file system, why were writes faster than reads? How does the new file system make reads faster? How does the new file system make writes faster?