Computer and Network Organization: An Introduction

Overview


|
overview | book's home page |

Main questions addressed

In this book we have made an attempt to explain the actual working of computer systems, but in such a way that it should be possible to go through almost the entire material in just a single one-semester course. The book roughly addresses, in order, the following questions: These questions are not addressed in isolation. Instead, we follow an approach by which the working of computer systems is gradually exposed. This approach allows the reader not only to understand the essentials, but above all, will provide an overall view on the technical principles of computer systems.


|
overview | book's home page |

Approach followed

A book such as this probably cannot do otherwise than present the essentials. And indeed, this is as far as we go. But in doing so, we have sought to provide an understanding of the subjects in such a way that the reader will see the big picture, but at the same time will have a feeling for the details that are involved.

For example, we have found it important to explain how the interaction between hardware and software takes place, in particular when it comes to discussing operating systems. Strangely enough, this topic is often hardly discussed explicitly in either books on computer organization or operating systems.

Likewise, we provide simplified examples of programs that illustrate how layering of software can be realized. Layering is an important concept when it comes to explaining computer networks. We have been much surprised by the fact that again only relatively few books explain how the concept can be made concrete. And although our approach only permits us to show a glimpse of how things work in practice, not telling would have felt as a serious omission.


|
overview | book's home page |

Intended readership

With these things in mind, we have written our text for people that are already familiar with computers, but mostly in a role as users. This means that we expect that the reader already has a basic feeling of what computers are, and what you can do with them. Having followed an introductory course in computer science will surely help understand the material presented here. Most of all, it will make it much easier to understand concepts such as processors and programs, which are of vital importance to understanding computer systems. Having a reading knowledge of computer programs, for example written in Pascal, will help, but is not an absolute requirement.

The material is, by its nature, technical. As such, undergraduate students in engineering disciplines and natural sciences will perhaps find the book easier to understand than others. However, we emphasize that the material has also been classroom tested for students in business information sciences. As we have said above, a basic interest in computer science as experienced during a first introductory course should be sufficient for a successful understanding of this book.

The book can also serve as an alternative for courses in computer organization, with less emphasis on architecture and more on modern subjects as concurrency and communication. To our opinion this change in material coverage will inevitably take place, since computers and communication will be increasingly integrated.

But apart from a being a textbook to be used as part of a course, the material is also intended for those who would wish to know more about the various general technical principles, but find existing textbooks simply too overwhelming to start with. In that case, this book may well form a good starting-point, and may even turn out to be sufficient. If the latter is not the case, then enough knowledge and terminology will have been introduced in order to make the jump towards more specialized textbooks.