Operating System Concepts Silberschatz Instructor Manual 8

Operating System Concepts, now in its ninth edition, continues to provide a solid theoretical foundation for understanding operating systems. The ninth edition has been thoroughly updated to include contemporary examples of how operating systems function. The text includes content to bridge the gap between concepts and actual implementations. End-of-chapter problems, exercises, review questions, and programming exercises help to further reinforce important concepts. A new Virtual Machine provides interactive exercises to help engage students with the material. Abraham Silberschatz is the Sidney J.

Weinberg Professor of Computer Science at Yale University. Prior to joining Yale, he was the Vice President of the Information Sciences Research Center at Bell Laboratories.

Prior to that, he held a chaired professorship in the Department of Computer Sciences at the University of Texas at Austin. His research interests include database systems, operating systems, storage systems, and network management. Professor Silberschatz is a Fellow of the Association of Computing Machinery (ACM), a Fellow of Institute of Electrical and Electronic Engineers (IEEE), a Fellow of the American Association for the Advancement of Science (AAAS), and a member of the Connecticut Academy of Science and Engineering. He received the 2002 IEEE Taylor L. Booth Education Award, the 1998 ACM Karl V. Karlstrom Outstanding Educator Award, and the 1997 ACM SIGMOD Contribution Award.

Operating System Concepts Silberschatz Instructor Manual 8th Edition Solutions

In recognition of his outstanding level of innovation and technical excellence, he was awarded the Bell Laboratories President's Award for three different Projects –– the QTM Project (1998), the DataBlitz Project (1999), and the NetInventory Project (2004). Solution manual statistical mechanics stowe. Professor Silberschatz' writings have appeared in numerous ACM and IEEE publications and other professional conferences and journals. He is a coauthor of the textbook Database System Concepts.

He has also written Op-Ed articles for the New York Times, the Boston Globe, and the Hartford Courant, among others. Peter Baer Galvin is the chief solutions architect for Pluribus Networks (www.pluribusnetworks.com). Previously he was the CTO for the systems integrator Corporate Technologies, and a lecturer at Boston University.

He has also been a columnist for;login:, SunWorld, and SysAdmin magazines, and has written articles for Byte and other magazines. Galvin blogs for anewdomain.net and byte.com. As a consultant and trainer, he has given talks and tutorials on security and system administration worldwide. Greg Gagne is chair of the Computer Science department at Westminster College in Salt Lake City where he has been teaching since 1990. In addition to teaching operating systems, he also teaches computer networks, parallel programming, and software engineering.

He has made presentations at educational conferences and also provides workshops to industry professionals. Professor Gagne was the recipient of the Shaw Faculty Publication Prize in 2007. New, updated content throughout including increased coverage of multicore systems and parallel programming, new coverage of mobile systems including IOS and Android, updated coverage of Memory, and an update of the Linux chapter to include the 3.4 kernel. New chapters on virtual machines and Windows 7. Integrated coverage of Linux and Windows throughout.

Streamlined the second half of the book by consolidating three networking chapters into one completely rewritten chapter and eliminating the multimedia chapter. Many new exercises, programming problems, and programming projects.

Offers a more interactive experience with exercises using a Linux Virtual Machine with GCC development environment and Linux source code distribution. Uses real-world operating systems to illustrate fundamental operating system concepts. Particular attention is paid to the Microsoft family of operating systems and various versions of UNIX (Solaris, BSD, and Mac OS X). Teaches general concepts in operating systems while allowing for a choice in implementation systems. Rather than concentrating on a particular operating system or hardware, the text discusses key concepts that are applicable to a wide variety of systems.

Currency of coverage:. Guided by many comments and suggestions from users and the authors' own observations about the rapidly changing fields of operating systems, chapter material represents the most current thought and practice in operating systems. Coverage of open-source operating systems (Chapter 1). Abundant opportunity for student practice:.

Practice Exercises, Exercises, and Programming Problems. To apply for permission please send your request to with specific details of your requirements. This should include, the Wiley title(s), and the specific portion of the content you wish to re-use (e.g figure, table, text extract, chapter, page numbers etc), the way in which you wish to re-use it, the circulation/print run/number of people who will have access to the content and whether this is for commercial or academic purposes.

If this is a republication request please include details of the new work in which the Wiley content will appear.

For- mally, it can be expressed as: f ib0 = 0 f ib1 = 1 f ibn = f ibn−1 + f ibn−2 Write a multithreaded program that generates the Fibonacci series using either the Java, Pthreads, or Win32 thread library. This program should work as follows: The user will enter on the command line the number of Fibonacci numbers that the program is to generate. The program will then create a separate thread that will generate the Fibonacci numbers, placing the sequence in data that is shared by the threads (an array is 26 Chapter 4 Threads probably the most convenient data structure). When the thread finishes execution, the parent thread will output the sequence generated by the child thread.

Because the parent thread cannot begin outputting the Fi- bonacci sequence until the child thread finishes, this will require having the parent thread wait for the child thread to finish using the techniques described in Section 4.3. Answer: (Please refer to the supporting Web site for source code solu- tion.) 4.12 Exercise 3.9 in Chapter 3 specifies designing an echo server using the Java threading API. However, this server is single-threaded meaning the server cannot respond to concurrent echo clients until the current client exits. Modify the solution to Exercise 3.9 such that the echo server services each client in a spearate request Answer: Please refer to the supportingWeb site for source code solution. 5CHAPTER CPU Scheduling CPU scheduling is the basis ofmultiprogrammedoperating systems.

By switch- ing the CPU among processes, the operating system can make the computer more productive. In this chapter, we introduce the basic scheduling concepts and discuss in great length CPU scheduling. FCFS, SJF, Round-Robin, Priority, and the other scheduling algorithms should be familiar to the students.

This is their first exposure to the idea of resource allocation and scheduling, so it is important that they understand how it is done. Gantt charts, simulations, and play acting are valuable ways to get the ideas across. Show how the ideas are used in other situations (like waiting in line at a post office, a waiter time sharing between customers, even classes being an interleaved Round-Robin scheduling of professors). A simple project is to write several different CPU schedulers and compare their performance by simulation. The source of CPU and I/O bursts may be generated by random number generators or by a trace tape. The instructor can make the trace tape up in advance to provide the same data for all students.

The file that I usedwas a set of jobs, each job being a variable number of alternating CPU and I/O bursts. The first line of a jobwas theword JOB and the job number. An alternating sequence of CPU n and I/O n lines followed, each specifying a burst time. The job was terminated by an END line with the job number again. Compare the time to process a set of jobs using FCFS, Shortest-Burst-Time, and Round-Robin scheduling. Round-Robin is more difficult, since it requires putting unfinished requests back in the ready queue.

Exercises 5.1 Why is it important for the scheduler to distinguish I/O-boundprograms from CPU-bound programs? Answer: I/O-bound programs have the property of performing only a small amount of computation before performing IO. Such programs typically do not use up their entireCPUquantum.

Operating system concepts silberschatz instructor manual 8000

CPU-bound programs, 27 28 Chapter 5 CPU Scheduling on the other hand, use their entire quantum without performing any blocking IO operations. Consequently, one could make better use of the computer’s resouces by giving higher priority to I/O-bound programs and allow them to execute ahead of the CPU-bound programs. 5.2 Discuss how the following pairs of scheduling criteria conflict in certain settings. CPU utilization and response time b. Average turnaround time and maximum waiting time c. I/O device utilization and CPU utilization Answer:  CPU utilization and response time: CPU utilization is increased if the overheads associated with context switching is minimized. The context switching overheads could be lowered by performing context switches infrequently.

This could however result in increasing the response time for processes.  Average turnaround time and maximum waiting time: Average turnaround time is minimized by executing the shortest tasks first. Such a scheduling policy could however starve long-running tasks and thereby increase their waiting time.  I/O device utilization and CPU utilization: CPU utilization is maximized by running long-running CPU-bound tasks without performing context switches.

I/O device utilization is maximized by scheduling I/O-bound jobs as soon as they become ready to run, thereby incurring the overheads of context switches. 5.3 Consider the exponential average formula used to predict the length of the next CPU burst. What are the implications of assigning the following values to the parameters used by the algorithm? = 0 and 0 = 100milliseconds b.

= 0.99 and 0 = 10milliseconds Answer: When = 0 and 0 = 100milliseconds, the formula always makes a prediction of 100milliseconds for the next CPU burst. When = 0.99 and 0 = 10milliseconds, the most recent behavior of the process is given much higher weight than the past history associated with the process. Consequently, the scheduling algorithm is almost memory-less, and simplypredicts the lengthof theprevious burst for thenext quantum of CPU execution.

5.4 Consider the following set of processes, with the length of the CPU-burst time given in milliseconds: Exercises 29 Process Burst Time Priority P1 10 3 P2 1 1 P3 2 3 P4 1 4 P5 5 2 The processes are assumed to have arrived in the order P1, P2, P3, P4, P5, all at time 0. Draw four Gantt charts illustrating the execution of these pro- cesses using FCFS, SJF, a nonpreemptive priority (a smaller pri- ority number implies a higher priority), and RR (quantum = 1) scheduling. What is the turnaround time of each process for each of the scheduling algorithms in part a?

What is thewaiting time of each process for each of the scheduling algorithms in part a? Which of the schedules in part a results in the minimal average waiting time (over all processes)? The four Gantt charts are b.

Turnaround time FCFS RR SJF Priority P1 10 19 19 16 P2 11 2 1 1 P3 13 7 4 18 P4 14 4 2 19 P5 19 14 9 6 c. Waiting time (turnaround time minus burst time) FCFS RR SJF Priority P1 0 9 9 6 P2 10 1 0 0 P3 11 5 2 16 P4 13 3 1 18 P5 14 9 4 1 d. Shortest Job First 5.5 Which of the following scheduling algorithms could result in starvation? First-come, first-served b. Shortest job first c.

Round robin 30 Chapter 5 CPU Scheduling d. Priority Answer: Shortest job first and priority-based scheduling algorithms could result in starvation. 5.6 Consider a variant of the RR scheduling algorithm where the entries in the ready queue are pointers to the PCBs. What would be the effect of putting two pointers to the same process in the ready queue? What would be the major advantages and disadvantages of this scheme? How would you modify the basic RR algorithm to achieve the same effect without the duplicate pointers? In effect, that process will have increased its priority since by getting time more often it is receiving preferential treatment.

The advantage is that more important jobs could be given more time, in other words, higher priority in treatment. The conse- quence, of course, is that shorter jobs will suffer. Allot a longer amount of time to processes deserving higher pri- ority.

In other words, have two or more quantums possible in the Round-Robin scheme. 5.7 Consider a system running ten I/O-bound tasks and one CPU-bound task. Assume that the I/O-bound tasks issue an. 8.