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.
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:
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 ~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. 2b1af7f3a8