skip to main content
Skip header Section
Applied operating system conceptsSeptember 1999
Publisher:
  • John Wiley & Sons, Inc.
  • 605 Third Ave. New York, NY
  • United States
ISBN:978-0-471-36508-2
Published:16 September 1999
Pages:
840
Skip Bibliometrics Section
Bibliometrics
Abstract

No abstract available.

Cited By

  1. ACM
    Avigdor-Elgrabli N and Rabani Y (2015). An Improved Competitive Algorithm for Reordering Buffer Management, ACM Transactions on Algorithms (TALG), 11:4, (1-15), Online publication date: 23-Jun-2015.
  2. Huang Y, Maple C, Sant P, Bessis N and Sotiriadis S (2011). Defining Minimum Requirements of Inter-Collaborated Nodes by Measuring the Weight of Node Interactions, International Journal of Distributed Systems and Technologies, 2:3, (19-36), Online publication date: 1-Jul-2011.
  3. Avigdor-Elgrabli N and Rabani Y An improved competitive algorithm for reordering buffer management Proceedings of the twenty-first annual ACM-SIAM symposium on Discrete algorithms, (13-21)
  4. ACM
    Gamzu I and Segev D (2009). Improved online algorithms for the sorting buffer problem on line metrics, ACM Transactions on Algorithms, 6:1, (1-14), Online publication date: 1-Dec-2009.
  5. ACM
    Black M (2009). Build an operating system from scratch, ACM SIGCSE Bulletin, 41:1, (448-452), Online publication date: 4-Mar-2009.
  6. ACM
    Black M Build an operating system from scratch Proceedings of the 40th ACM technical symposium on Computer science education, (448-452)
  7. ACM
    Sheehan R (2007). Teaching operating systems with ruby, ACM SIGCSE Bulletin, 39:3, (38-42), Online publication date: 25-Jun-2007.
  8. ACM
    Sheehan R Teaching operating systems with ruby Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education, (38-42)
  9. ACM
    Feng H, Misra V and Rubenstein D (2019). PBS, ACM SIGMETRICS Performance Evaluation Review, 35:1, (203-214), Online publication date: 12-Jun-2007.
  10. ACM
    Feng H, Misra V and Rubenstein D PBS Proceedings of the 2007 ACM SIGMETRICS international conference on Measurement and modeling of computer systems, (203-214)
  11. Sung A, Choi B and Shin S (2007). An interface test model for hardware-dependent software and embedded OS API of the embedded system, Computer Standards & Interfaces, 29:4, (430-443), Online publication date: 1-May-2007.
  12. Gamzu I and Segev D Improved online algorithms for the sorting buffer problem Proceedings of the 24th annual conference on Theoretical aspects of computer science, (658-669)
  13. ACM
    Egger B, Kim C, Jang C, Nam Y, Lee J and Min S A dynamic code placement technique for scratchpad memory using postpass optimization Proceedings of the 2006 international conference on Compilers, architecture and synthesis for embedded systems, (223-233)
  14. ACM
    Leino J and Virtamo J An approximative method for calculating performance measures of Markov processes Proceedings of the 1st international conference on Performance evaluation methodolgies and tools, (67-es)
  15. Chisnall D, Chen M and Hansen C Knowledge-based out-of-core algorithms for data management in visualization Proceedings of the Eighth Joint Eurographics / IEEE VGTC conference on Visualization, (107-114)
  16. ACM
    Robbins S (2006). A UNIX concurrent I/O simulator, ACM SIGCSE Bulletin, 38:1, (303-307), Online publication date: 31-Mar-2006.
  17. ACM
    Robbins S A UNIX concurrent I/O simulator Proceedings of the 37th SIGCSE technical symposium on Computer science education, (303-307)
  18. Khandekar R and Pandit V Online sorting buffers on line Proceedings of the 23rd Annual conference on Theoretical Aspects of Computer Science, (584-595)
  19. Levine J, Grizzard J and Owen H (2006). Detecting and Categorizing Kernel-Level Rootkits to Aid Future Detection, IEEE Security and Privacy, 4:1, (24-32), Online publication date: 1-Jan-2006.
  20. ACM
    Quammen C (2005). Introduction to programming shared-memory and distributed-memory parallel computers, XRDS: Crossroads, The ACM Magazine for Students, 12:1, (2-2), Online publication date: 1-Oct-2005.
  21. ACM
    Coburn J, Ravi S, Raghunathan A and Chakradhar S SECA Proceedings of the 2005 international conference on Compilers, architectures and synthesis for embedded systems, (78-89)
  22. Colohan C, Ailamaki A, Steffan J and Mowry T Optimistic intra-transaction parallelism on chip multiprocessors Proceedings of the 31st international conference on Very large data bases, (73-84)
  23. ACM
    Son S, Chen G and Kandemir M Power-aware code scheduling for clusters of active disks Proceedings of the 2005 international symposium on Low power electronics and design, (293-298)
  24. Yen L and Chi K (2004). Maintaining a ring structure for mobile ad hoc computing, Journal of Parallel and Distributed Computing, 64:12, (1371-1379), Online publication date: 1-Dec-2004.
  25. ACM
    Park C, Lim J, Kwon K, Lee J and Min S Compiler-assisted demand paging for embedded systems with flash memory Proceedings of the 4th ACM international conference on Embedded software, (114-124)
  26. Levine J, Grizzard J and Owen H A Methodology to Detect and Characterize Kernel Level Rootkit Exploits Involving Redirection of the System Call Table Proceedings of the Second IEEE International Information Assurance Workshop (IWIA'04)
  27. Chan T (2004). A software tool in Java for teaching CPU scheduling, Journal of Computing Sciences in Colleges, 19:4, (257-263), Online publication date: 1-Apr-2004.
  28. ACM
    Bayrak C and Davis C (2003). The relationship between distributed systems and open software development, Communications of the ACM, 46:12, (99-102), Online publication date: 1-Dec-2003.
  29. ACM
    Carter L and Rae S Bridging the gap between the undergraduate and graduate experience in computer systems studies Proceedings of the 2003 workshop on Computer architecture education: Held in conjunction with the 30th International Symposium on Computer Architecture, (6-es)
  30. ACM
    Shin E, Mooney V and Riley G Round-robin arbiter design and generation Proceedings of the 15th international symposium on System Synthesis, (243-248)
  31. ACM
    Scott K (2002). MISC, ACM SIGCSE Bulletin, 34:3, (223-223), Online publication date: 1-Sep-2002.
  32. ACM
    Davis C and Bayrak C (2002). Open source development and the World Wide Web, ACM SIGSOFT Software Engineering Notes, 27:5, (93-97), Online publication date: 1-Sep-2002.
  33. ACM
    Scott K MISC Proceedings of the 7th annual conference on Innovation and technology in computer science education, (223-223)
  34. ACM
    Quammen C (2002). Introduction to programming shared-memory and distributed-memory parallel computers, XRDS: Crossroads, The ACM Magazine for Students, 8:3, (16-22), Online publication date: 1-Apr-2002.
  35. ACM
    Reek K (2002). The well-tempered semaphore, ACM SIGCSE Bulletin, 34:1, (356-359), Online publication date: 1-Mar-2002.
  36. ACM
    Reek K The well-tempered semaphore Proceedings of the 33rd SIGCSE technical symposium on Computer science education, (356-359)
  37. England R (2001). The virtual machine and user process model used inmoses2, Journal of Computing Sciences in Colleges, 17:2, (301-309), Online publication date: 1-Dec-2001.
Contributors
  • Yale University
  • Brown University
  • Westminster College, Salt Lake City

Recommendations

Reviews

R. Clayton

In the preface, the authors claim that this book “provides a clear description of the concepts that underlie operating systems” (p. vii). They go on to distinguish this book from its progenitor, the fifth edition of Operating system concepts [1], which “presented concepts fundamental to all operating systems, rather than particular implementations of systems. This text discusses applied knowledge” (p. x). It might be possible to reconcile these two descriptions, but I will just say that the first description is more appropriate than the second. The book contains 22 chapters divided into six parts. Part 1 is a general introduction and an introduction to the structures of computer systems and operating systems. Part 2 presents process management, with chapters on processes, threads, scheduling, synchronization, and deadlocks. Part 3 is dedicated to storage management. It covers memory management, virtual memory, file systems, I/O systems, and mass storage structures. Part 4 covers distributed systems in terms of network structures, distributed communications, distributed coordination, and distributed file systems. Protection and security each get a chapter in Part 5, and Part 6 contains case studies of the Unix, Linux, and Windows NT operating systems. Each chapter ends with exercises and a bibliography. The exercises mostly test recall; there is no answer section. The bibliography covers references of historical and modern interest and of both theoretical and practical interest. A pair of related Web pages contain supplementary material, including extra chapters, course material, and an errata sheet. Applied operating systems knowledge is presented using examples drawn from current commercial operating systems, mainly Solaris, Windows NT and, to a lesser extent, the Macintosh OS. Applied knowledge is also described by code fragments in Java. The operating systems examples are detailed and relevant. They are, however, spread throughout the book, and some rearrangement may be necessary to get the best classroom use out of the text. For example, instructors who want to include the Solaris Virtual File System in a section on file systems will have to detour to the chapter on distributed file systems. Such problems cannot be entirely resolved, because there is no one best order, but they can be minimized by good cross-referencing, of which this book needs more, particularly between the case studies in Part 6 and the rest of the book. The index is good, and a diligent and patient reader will be able to navigate through the book, but casual, hurried, or less knowledgable readers may have difficulty discovering everything the book has to offer. Java appears to have been chosen because of its thread and synchronization facilities; a majority of the Java examples appear in Part 2, on processes management. Java is a fashionable choice, but one that has practical problems. In particular, Java's thread synchronization facilities are semantically weak, and it can be difficult to use them as a basis for implementing stronger synchronization facilities [2]. Writing correct synchronization facilities is a notoriously difficult problem, and it is not a strong mark against Java that it does not do much to simplify the problem. This difficulty suggests that writing correct synchronization facilities—as opposed to correctly using synchronization facilities—is beyond the scope of general-purpose operating systems textbooks. Putting this suggestion aside, this book neither distinguishes nor disgraces itself in this area relative to a majority of its peers. With no compelling positive or negative points to its credit, the value of this book is reduced to personal choice. I find it better organized than the textbook I am currently using [3], but weaker in applied knowledge, because that book contains the source code of a complete operating system. Some people may perceive and object to a Unix bias; two of the three case studies, for example, are Unix-based. The book ranges widely into relevant areas, covering, for example, stable storage and CORBA. This wide range, however, does impose some pruning chores on those whose time is limited, and may make the book unwieldy for self- study. Overall, this book supports my operating systems textbook conjecture: if you own one operating systems textbook, you own them all.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.