|Home||Switchboard||Unix Administration||Red Hat||TCP/IP Networks||Neoliberalism||Toxic Managers|
|May the source be with you, but remember the KISS principle ;-)|
|Best C language textbooks|
At the center of the UNIX onion is a program called the kernel. Although you are unlikely to deal with the kernel directly, it is absolutely crucial to the operation of the UNIX system.
The kernel provides the essential services that make up the heart of UNIX systems; it allocates memory, keeps track of the physical location of files on the computer's hard disks, loads and executes binary programs such as shells, and schedules the task swapping without which UNIX systems would be incapable of doing more than one thing at a time. The kernel accomplishes all these tasks by providing an interface between the other programs running under its control and the physical hardware of the computer; this interface, the system call interface, effectively insulates the other programs on the UNIX system from the complexities of the computer.
For example, when a running program needs access to a file, it cannot simply open the file; instead it issues a system call which asks the kernel to open the file. The kernel takes over and handles the request, then notifies the program whether the request succeeded or failed. To read data in from the file takes another system call; the kernel determines whether or not the request is valid, and if it is, the kernel reads the required block of data and passes it back to the program. Unlike DOS (and some other operating systems), UNIX system programs do not have access to the physical hardware of the computer. All they see are the kernel services, provided by the system call interface.
The system call interface is an example of an API, or application programming interface. An API is a set of system calls with strictly defined parameters, which allow an application (or other program) to request access to a service; it literally acts as an interface. (For example, a large database system might provide an API that allows programmers to write external programs that request services from the database.)
1978 IBM poster explaining virtual memory
The most interesting thing about Linux kernel is that this a classic example of a technical system that is incomprehensible to a single human, no matter how talented he/she is, including all kernel developers.
The most interesting thing about Linux kernel is that this a classic example of a technical system
Only simplified forms can be fully comprehended. That substantially increases the value of older versions of Unix, which, thanks god, are still available in source form. That's why one classic book in this field remains Lions' Commentary on Unix : With Source Code. Some facts about this unusual (and very difficult to read and comprehend) book:
A reader from Dallas, Tx
- Paperback: 443 pages ; Dimensions (in inches): 1.05 x 9.20 x 7.40
- Publisher: John Wiley & Sons; 1 edition (January 3, 2003)
- ISBN: 0471164836 | All Editions
Finally, a decent book on filesystems!, January 25, 2003
Finally, a book that describes all the major UNIX file systems!
In an eloquent writing style, Steve Pate has put together the best book on file systems. It is the first book to describe the internals of one of the most important of the commercial file systems: the Veritas File System (VxFS).
The book starts out with a concise history of UNIX and UNIX variants and some file system basics before diving into programming topics.
The middle chapters discuss the UNIX/File System internals in a clear and easy to read manner. My favorite chapter was Chapter 9, a detailed look at VxFS!
The later chapters describe kernel locking primitives used by file systems, pseudo file systems, and finally chapters 12 and 13 do a nice job covering file system backups and cluster /distributed file systems. As an added bonus, you actually get to design a file system for gnu/linux! Steve Pate does a creditable job showing what it takes to write a simple file system.
No matter if you are a programmer, system administrator or IT professional, this book as something for you. No other book even comes close to the depth that "UNIX Filesystems" provides.
The only negative points I had with "UNIX Filesystems" was that it was not printed in hardback form and the paper quality is poor. Shame on you, Wiley!
Our Price: $31.99
You Save: $8.00 (20%) Availability: Usually ships within 24 hours.
Paperback - 575 pages Bk&Cd Rom edition (October 20, 1999)
The Coriolis Group; ISBN: 1576104699 ; Dimensions (in inches): 1.70 x 8.37 x 11.04
Amazon.com Sales Rank: 19,951
Avg. Customer Review:
Number of Reviews: 5
ERCB Linux Core Kernel Commentary
The biggest single drawback to Linux Core Kernel Commentary is how little of Linux it covers, out of necessity. (The book is already thick and oversized, even by computer book standards.) As Maxwell points out on page 441, about 39,000 lines of code are presented in the book, chosen from over 1.7M lines in the 2.2.5 kernel.
Even taking into account the platform-specific parts of the kernel, which are understandable omissions, this still pushes out some of the most interesting and visible parts of Linux, such as I/O and command shells. Other areas of interest that aren't part of the kernel (such as X and device drivers) aren't covered, but would presumably make good topics for other volumes.
Even though Maxwell does an excellent job with many different concepts and countless details, the book still suffers just slightly from myopia. There's simply so much detail about the trees, even this small subset of them, that there's not much room for a description of the forest.
Paperback / Published 1998
Table of Contents
- General Overview.
- Development with Linux.
- Memory Management.
- POSIX Terminals.
- Communication by Pipes.
- IPC System V.
- Loadable Modules.
- System Administration.
- Named 1996 Book of the Year" by Unix Review "After years of suppression (as trade secrets) by various owners of the UNIX code, this tome has been re-released, and we owe a debt to all involved in making this happen. I consider this to be the single most important book of 1996." -- Unix Review, June 1997
- "After 20 years, this is still the best expostion of the workings of a 'real' operating system." -- Ken Thompson, 1996
Hardcover / Published 1997 - 3-d edition
Instructors that use the book:
- CMPSC 170 Operating Systems. Taught at University of California, Santa Barbara. Contains an excellent set of lecture notes.
- CSCI 4540 Operating Systems. Taught at University of North Texas. Contains lecture notes, sample exams, and some useful links.
- CS 376 -- Operating Systems. Taught at University of Missouri - St. Louis. Includes a good set of lecture notes in Postscript.
- CS570 Operating Systems. Taught at San Diego State University.
- CS411. Taught at University of South Carolina.
- CS 421 Intro to Operating Systems. Taught at State University of New York at Buffalo. Contains project and research assignments.
- CS4500 Operating Systems. Contains some interesting programming assignments.
- CS58 Intro to Operating Systems. Taught at Dartmouth.
From Prentiss Hall page:
Winner of the 1998 Texty Award for the best Computer Science and Engineering Textbook, which is given by the Text and Academic Authors Association!
Blending up-to-date theory with modern applications, this book offers a comprehensive treatment of operating systems with an emphasis on internals and design issues. A complete instructor's support package is available on-line at: http://www1.shore.net/nws/
Are you interested in an operating systems text that uses windows NT and Solaris as running case studies?
- The use of Windows NT, UNIX SVR4, and Solaris 2.x as running case studies through the book motivates the material and enhances understanding.
- Expanded treatment of multithreading and object-oriented design, together with new coverage of microkernels, SMP, and clusters.
- Provides a solid understanding of the key mechanisms of operating systems and the types of design trade-offs and decisions.
- A broad and unified treatment of distributed operating systems thoroughly covers this area of increasing importance, including process and thread migration, distributed file systems, mutual exclusion and deadlock, and clusters.
- Solid treatment of virtual memory, concurrency, scheduling, I/O, and file systems.
- Includes a new appendix on operating systems .
Web site at http://www.shore.net/~ws/OS3e projects with NACHOS, OSP, BACI that includes:
- PDF transparencies of figures and tables from the book
- a complete set of Powerpoint slides to be used for lecturing or course handout
- several online programming projects, links to relevant web sites, and links to web sites set up by other instructors using the book.
1. Computer System Overview.
2. Operating System Overview.
3. Process Description and Control.
4. Threads, SMP, and Microkernels.
5. Concurrency,: Mutual Exclusion, and Synchronization.
6. Concurrency: Deadlock and Starvation.
7. Memory Management.
8. Virtual Memory.
9. Uniprocessor Scheduling.
10. Multiprocessor and Real-Time Scheduling.
V. INPUT/OUTPUT AND FILES.
11. I/O Management and Disk Scheduling.
12. File Management.
VI. DISTRIBUTED SYSTEMS.
13. Distributed Processing, Client/Server, and Clusters.
14. Distributed Process Management.
Appendix A. Queuing Analysis.
Appendix B. Object-Oriented Design.
Appendix C. Programming and Operating System Projects.
Appendix D. OSP: An Environment for Operating System Projects.
Appendix E. BACI: The Ben-Ari Concurrent Programming System.
Hardcover / November 1997/ 888 pages
Some comments on chapters.
- Chapters 1-3 are not impressive. Most material is outdated. Presentation is dull.
- Ch. 4 (Processes) covers the subject but does not cover any important details. General diagram of process states given, but no explanation of differences in real operating systems (Unux, NT) was given. No mention of zomby processes. All biblographic references are more than five years old (pre 93). Good set of questions thou.
- Ch. 5 (CPU scheduling) is decent
- Chapters 10-17 are extremely weak. Moreover they are very poorly organized. IMHO only chapters 4-9 and 21-22 can be considered decent, but even for them a dynosource mascot at the beginning of each chapter is a relevant warning ;-)
Coverage of Linux is better in the latest edition (Chapter 22 is very good, one of the best in the book. It was derived from unpublished manuscript by Stephen Tweedie). The book also contain one (superficial and uncritical) chapter on NT.
The first author write books mainly about database systems (see Database System Concepts -- also in many editions). The second author had wrote only one additional book -- Using UNIX With CDROM. At least he is a Unix guy, not database academician :-).
There should be better books on the subject. An interested reader may try Operating Systems: Internals and Design Principles by William Stallings (more recent -- first published in 1995, third edition was published 1997; used in a dozen of American universities; it won a major prize recently) or Operating Systems A Design-Oriented Approach by Charles Crowley (also published in 1997; used in Florida State University and The University of New Mexico). It contains code for an example operating system written by the author, so the author probably at least partially know what he is writing about ;-). See his Web-page at http://www.cs.unm.edu/~crowley/osbook/begin.html for additional details. BTW he is a TCL guru and authored one book on TCL. Disclaimer: I am in no way connected with any of the authors of two books mentioned above.
- Table of content
- 0-201-59113-8 - Operating Systems Concepts Fifth Edition -- publisher web page for the book;
- PDF form -- slides;
- Operating System Concepts -- author support pages;
- Links to other OSC Web pages -- universities that are using the book;
- UC Santa Cruz CMP 111 Nachos Introduction
- CS 162 -- a sample course based on the book
Hardcover / Published 1997
Hardcover / Published 1997
Andrew S. Tanenbaum is a well known author of several popular CS books including:
Hardcover / Published 1986
Marshall Kirk McKusick (Editor), et al / Hardcover / Published 1996
Steve D. Pate /Addison-Wesley Hardcover / Published 1996
Paperback / Published 1986
Paperback / Published 1989
Hardcover / Published 1992
Read more about this title...
Paperback / Published 1994
Read more about this title...
Both books below are probably obsolete with the introduction if Unix Universal Driver Model by Intel
Paperback / Published 1992
O'Relly Paparback / Published 1998
Operating Systems Handbook : Unix, Openvms, Os/400, Vm, and MVS e-text is now available
as a collection of Acrobat
files from www.snee.com/bob/opsys.html.
Bob Ducharme / Hardcover / Published 1994
Introduction to Operating Systems
William A. Shay / Hardcover / Published 1993
P.S. to Operating Systems
Larry Dowdy, Craig Lowery / Paperback / Published 1993
Fundamentals of Operating Systems
A.M. Lister, R.D. Eager / Paperback / Published 1993
Operating Systems : Bridging the Gap Between Hardware and User
Joachim Heusler (Editor) / Hardcover / Published 1993
Operating Systems : A Practical Approach
Robert Switzer / Paperback / Published 1993
Operating Systems : A Systematic View
William S. Davis / Hardcover / Published 1992
Operating Systems : Concepts and Design
Milan Milenkovic / Hardcover / Published 1992
Principles of Operating Systems
Sacha Krakowiak, et al / Paperback / Published 1990
An Introduction to Operating Systems
Harvey M. Deitel / Hardcover / Published 1989
D. Comer, Operating System Design: The XINU Approach, Englewood
Cliffs, NJ: Prentice Hall, 1984.
L. Bic & A. C. Shaw, The Logical Design of Operating Systems,
Englewood Cliffs, NJ: Prentice Hall, 1988.
Fundamentals of Operating Systems
Andrew M. Lister / Paperback / Published 1985
Harold Lorin / Hardcover / Published 1980
Operating Systems : Advanced Concepts
Mamoru Maekawa, et al / Hardcover / Published 1987
Operating Systems : Structures and Mechanisms
Philippe Janson / Hardcover / Published 1985
Operating Systems Theory and Practice
Paul Massie / Hardcover / Published 1987
Operating Systems Through Unix
Glyn Emery / Paperback / Published 1985
A Practical Course on Operating Systems
Colin J. Theaker, Graham R. Brookes / Paperback / Published 1983
Stuart Madnick, John J. Donovan / Hardcover / Published 1974 -- one of the best book on OS construction I ever read. System 370 oriented.
Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers : Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism : The Iron Law of Oligarchy : Libertarian Philosophy
War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda : SE quotes : Language Design and Programming Quotes : Random IT-related quotes : Somerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose Bierce : Bernard Shaw : Mark Twain Quotes
Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 : Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law
Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds : Larry Wall : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOS : Programming Languages History : PL/1 : Simula 67 : C : History of GCC development : Scripting Languages : Perl history : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history
The Peter Principle : Parkinson Law : 1984 : The Mythical Man-Month : How to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Haterís Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite
Most popular humor pages:
Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor
The Last but not Least
Copyright © 1996-2018 by Dr. Nikolai Bezroukov. www.softpanorama.org was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) in the author free time and without any remuneration. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.
FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.
This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...
|You can use PayPal to make a contribution, supporting development of this site and speed up access. In case softpanorama.org is down you can use the at softpanorama.info|
The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.
Last modified: September, 12, 2017