Free Programming Books
Free download ebooks on computer and programming | |||
Free Ebook Computer ProgrammingFree Ebook Computer Programming : An Operating Systems Vade Mecum.pdf Publisher : Unknown Pages :362 Format :pdf Size :1.1 MB Upload date :04-12-06 Table of contentComing soon Other HOT and Free ebooks!!Coming Soon Traditionally, a vade mecum (pronounced "VAHdee MAYkem") is a laboratory manual that guides the student step by step through complex procedures. Operating systems are complex mixtures of policy and mechanism, of algorithm and heuristic, and of theoretical goals and practical experience. This vade mecum tries to unify these diverse points of view and guide the novice step by step through the complexities of the subject. As a text, this book is intended for a first course in operating systems at the undergraduate level. The subject has so many individual parts that its practitioners and teachers often concentrate on subareas and ignore the larger concepts that govern the entire subject. Author have tried to rectify that situation in this book by structuring the presentation about the dual ideas of resource management and beautification. Operating System free ebook: An Operating Systems Vade Mecum.pdf, by Raphael A. Finkel.Below is the excerpt of Chapter 1, An Operating Systems Vade Mecum.pdf Chapter 1 IntroductionThe development of operating systems has progressed enormously in the last few decades. Open shop computing has given way to batch processing, which in turn has yielded to interactive multiprogramming as emphasis shifted first to efficient use of expensive machines and then to effective shared use. The recent trend to personal workstations has turned full circle back to the earliest beginnings: a single user associated with a single machine...........more Download free ebook : An_Operating_Systems_Vade_Mecum.pdf
Previous free ebook Previous part of free ebook Next Free ebook
Next part of free ebook The long and complex journey has not been pointless. As computer use has expanded, so has the sophistication with which we deal with all of its aspects. Ad hoc mechanisms have become standardized, then formalized, then analyzed. Standing at the present and looking back, we have the advantage of seeing the larger picture and of knowing how originally unconnected ideas fit together and reinforce each other. We realize that the proper software for a personal workstation has more in common with large operating systems for interactive multiprogramming than it has with open shop computing. The future holds the promise of increased use of networking to interconnect computers in various ways. Multiple-user machines will soon be built of communities of communicating computers. This new theme has already begun to be played. It is an exciting time to be studying operating systems. PHILOSOPHY OF THE BOOKIn this book, I have carefully tried to distinguish mechanisms from policies. Mechanisms are techniques that perform activities. Policies are rules that decide which activities to perform. The mechanisms are the "nuts and bolts" of operating systems and often depend to some extent on the hardware on which the operating system runs. We will give examples of nuts-and-bolts programming in a high-level language. Most modern operating systems are written in such languages, reserving assembler language for those few aspects that cannot be captured in a higher level language. For the sake of concreteness, we will present programs in a Modula-like syntax. Modula is closely related to Pascal. (See the Further Reading section at the end of the chapter.) The examples are all carefully annotated, so it should be possible to follow them even if you have only a nodding acquaintance with any language in the Algol family, such as Pascal. In most cases, written algorithms are supplemented with pictures. You should be able to read this book comfortably if you have had an undergraduate course in data structures and in machine organization. Some sophistication in mathematics (for example, one semester of calculus) would also be helpful but is not required. A glossary at the end of the book provides in one place simple definitions of words that are used repeatedly. When these words appear for the first time in the text, they are set in boldface type. I have taken some pains to use words consistently in order to make this book clear. Unfortunately, computer literature often employs the same term to mean different things in different contexts. (An excellent example is "heap", which means "free storage pool" in the Pascal context but "data structure for implementing a priority queue'' in the operating systems context.) You will discover that I avoid certain words altogether. In particular, the word "system" has lost all its power because it has acquired a multitude of meanings, many of which are fuzzy at best. I treat "operating system'' as a compound word with a well defined connotation that should become increasingly clear as you study this book. The terms "control program" or "monitor" would have been preferable, but those terms have already become associated with other specialized meanings. This book sorts through a large body of knowledge, covering a continuum from elementary concepts through advanced ideas. Intended primarily as a text for an undergraduate course in operating systems, it also introduces topics of interest to graduatelevel students and professionals. In addition, the book presents a continuum from terrible ideas through workable ideas to great ideas. Often the first way one tries to solve a problem is easy to understand and easy to implement but works poorly. With some cleverness, one finds a better method that is far superior to the first. Then a host of other solutions, mostly variations on the second method, come to mind. These refinements are often worth mentioning but usually not worth implementing. We call this observation the Law of Diminishing Returns. The Latin phrase vade mecum means "walk with me." Books with this title are usually laboratory manuals explaining techniques step by step. This vade mecum is different in that it explains the problems and explores various solutions before giving advice. It can be useful both in the classroom and in the home or office library. Although each chapter is fairly self-contained, some subjects cannot be easily separated from others and must be explained, at least in part, before all the related issues have been covered. If you are a novice, your journey should start at the beginning of the book. If you are an expert looking for a particular subject, try the glossary first, then the index. If you are a teacher using this book as a text, feel free to choose which algorithms of the "sophisticated variation" type to cover. Let's begin the journey: Vade mecum! | |||