Description
Operating Systems from the heart of Computer science and this subject is very close to my knowledge. I have taught Operating systems at many levels and in many institutes and the journey continues. From a distance, the subject appears to be quite simple but when you delve deeper, it becomes as complex as it could b. Nevertheless it is an interesting subject to study about the system operations, especially its design and functionalities. I find that there are two central issues around which the discussions on operating systems revolve. First there is only one CPU in a normal desktop computer system. At a given time, there are many jobs that compete to possess the CPU. Second, besides the CPU each job needs many other resources such as files table spaces, input-output devices etc. in other to protect one hob from the other, the operating system opens an environment called process for each job present in the main memory of the computer. Therefore single CPU and Process are tow central issues that need to be discussed while teaching in class in general and need to be addressed while designing the operating system in particular. From the design point of view, the third important issue is obsolescence, i.e., the operating system becomes obsolete over time in terms of communicating with newer peripheral devices that keep coming up in the market. Therefore, a provision is made in the operating system to allow dynamic binding of loadable modules, especially the device drivers. The text contains seven chapters. Each chapter begins with preamble that presents a conceptual base for discussion on the topic of the chapter. Wherever possible, I have discussed the basic design of operating system components using its associated data structures and algorithms. Each chapter encapsulates the crux of information about the topic it considers, with several illustrations and solved problems to reinforce the concepts.




