|
overview |
book's home page |
We explain the principal working of chips, processors, memory, peripheral devices such as hard disks and keyboards, and how these various components are connected to each other such that they can operate together.
This question is addressed in two ways. (1) We explain how we can use a computer's so-called instruction set to develop programs. (2) We demonstrate that computer programs can be more easily written in a high-level programming language.
We explain that an operating system is a special program that allows you to work conveniently and efficiently with a computer. Above all, we emphasize the role of operating systems as a mechanism to abstract over matters that are specific to hardware, and in particular that they provide an important means for communication by computers.
Our attention initially focuses on various hardware aspects, i.e. the physical appearance of computer networks. Also, we present the basics of how computer programs are to be constructed by which information between two or several computers can be exchanged.
|
overview |
book's home page |
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 |
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.