Software Systems Spring 2005 For today, you should have: 1) worked on your project 2) read Silberschatz and Galvin, I/O Systems, part 1 3) written a draft of your final report Outline: 1) questions from I/O Systems 2) "evolution of I/O function" 3) journaling file systems For next time you should: 1) work on your project 2) read Silberschatz and Galvin, I/O Systems, part 2 Reading questions ----------------- Silberschatz and Galvin, I/O Systems, part 2 1) What are two reasons for the OS to reschedule I/O requests? 2) What are the three reasons for the OS to provide I/O buffering? 3) Given that the OS provides buffering, how can you get a little bit of caching free (mostly)? 4) What is the goal of spooling? 5) What is the difference between spooling and buffering? 6) What kind of errors can the OS compensate for? 7) What state does the OS need to maintain for an open file? 8) Page 420 lists some of the services most operating systems provide. For each service, can you name a data structure the OS maintains in order to provide the service? 9) In UNIX, how can you tell by looking at a path which device the file is on? 10) What are the pros and cons of implementing an I/O feature at the application level? In the kernel? In hardware? Regarding that last question, read the following article from eWeek (eweek.com/article2/0,1759,1787112,00.asp) Kernel Changes Draw Concern from Open-Source Community By Peter Galli April 17, 2005 Members of the open-source community are expressing concern over rapid feature changes in the Linux 2.6 kernel, which they say are too focused on the desktop and could make the kernel too large. Sam Greenblatt, a senior vice president at Computer Associates International Inc., in Islandia, N.Y., said that while the kernel is evolving for the desktop, server and embedded markets, more and more technology is being included, and the kernel is "getting fatter. We are not interested in the game drivers and music drivers that are being added to the kernel. We are interested in a more stable kernel." Andrew Morton, the current maintainer of the Linux 2.6 kernel, who works for Open Source Development Labs Inc., in Beaverton, Ore., said there is no formal road map for an enterprise Linux feature set since the development of those technologies rests largely with vendors such as Red Hat Inc., IBM, Novell Inc. and CA. "We are pumping feature changes into the kernel at an enormous rate," said Morton. Still, Morton took issue with Greenblatt's contention, saying that most new features are optional and that their use is at the discretion of organizations compiling their builds of the kernel. Morton said new features should continue to be added to the stable 2.6 tree rather than forming a new 2.7 development tree. Critics of the development process point to growing competition among vendors to get code for new features accepted. But Morton maintains that the competition is healthy because it helps top-level kernel developers understand what subfeatures are required and what other users need.