* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Chapter 1 Introduction
Survey
Document related concepts
Transcript
Chapter 1 Introduction Further reading on the introductory material is well covered in Appendix A.1 of the textbook. 1.4 Historical development of operating systems Haviland gives a history of standardization in Appendix B.1, and lists some important standards in Appendix B.2. See Robbins Section 1.3 and Stevens Section 2.2.2 on POSIX. 1.5 Types of operating system Singal introduces this topic in Section 1.5. Chapters 16 and 17 deal with multiprocessor operating systems; Chapter 18 is on database operating systems. 1.6 Design of operating systems See Singal Section 1.3. Linux Bowman describes the overall architecture of Linux in Chapter 1. Figure 2.1(b) shows the different modules to be highly interdependent. In Chapter 3, Bowman describes each of the five subsystems, under the headings of goals, external interface, subsystem description, data structures, subsystem structure, subsystem dependencies. Rusling Chapter 14 deals with Linux source code; where to get it (Section 14.1), how it is arranged (Section 14.2), and an overview of where things are (Section 14.3). NT Solomon covers operating systems design, including microkernels, in the introduction to Chapter Two, which then goes on to look at the design of NT. It can be visualized as having four layers. The executive, which provides basic services, such as management of processes and threads, memory, interprocess communication, I/O, and security. This is generic code, which remains the same irrespective of the platform on which NT is implemented. It is largely concerned with policy decisions. The kernel, which is processor specific. The kernel on a PC would be different from the kernel on an Alpha. It is responsible for low level system functions, such as thread scheduling, interrupt handling, and multiprocessor synchronization. It implements the decisions made by the executive. The hardware abstraction layer (HAL). This is platform specific i.e. it would be different on different models of PC. Device drivers. These translate generic I/O requests into device specific operations. NT is expressly object oriented, and the object manager, explained in Chapter Three of Solomon, is one element that is not present in Linux. It is responsible for creating, deleting, © John O’Gorman 2000 protecting, and tracking objects. Objects are manipulated by handles. Each process has a handle table, and a handle is an index into this table. 1.8 Discussion questions 1. This refers to pp. (i) – (ii) of the Preface, motivation. It might be worthwhile bringing the question up again at the end of the course. 2. An advantage would be speed. This would be done for games and embedded systems. A disadvantage is that an application program would have to provide all of the services it requires. If it only interacts with the hardware in a small number of well-defined ways, it might be worthwhile. [Section 1.1] 3. Most single user, personal computers are now multitasking – there is more than one program running at the same time. There is a need to provide virtual memory, manage and share I/O devices, and provide a network protocol stack. [Section 1.2] 4. Distinguish Windows, which is a GUI, from NT, the underlying operating system. This is the point of the question – distinguish the operating system from the interface. [Section 1.3] 5. The earliest machines were so primitive that there really was nothing for an operating system to do. Today we both need them, to handle all of the functions described in Section 1.2, and also we have the processing power available to run them. [ Section 1.4.] 6. The question is designed to drive the student to consider these developments. There is no one correct answer. [Section 1.4] 7. Alpha, arm, mips, M68K, s390, spark. Look at the names of the subfolders in the include directory. [Section 1.4.] 8. Everybody is entitled to their own guess here. One possibility to play with would be the integration of the memory manager and I/O manager into one storage manager. 9. Backups, setting up blocks of new accounts, clearing /tmp directories, analyzing log files for traces of attempted breakins. [Section 1.5] 10. Students who have never experienced a batch environment find it difficult to envisage what is involved. Everyone is agreed that programs should be properly designed, and even hand-tested beforehand. So the discipline involved in a batch environment is invaluable. But the low productivity probably outweighs that on the other side. [Section 1.5] © John O’Gorman 2000 11. This harks back to Q.3. A user can only interact with one running program at a time. But others can be running in the background. [Section 1.5] 12. Examples would be number-crunching super computers. In general, any situation where it is not economically feasible to provide one individual workstation with seldom used, expensive, hardware. [Section 1.5] 13. There are an increased number of points of failure, not only on your own machine, but also the network and server(s). A network has a large number of individual points of failure. So you may be unable to work because some server (or hub) you did not even know existed, is not functioning. Then there are the security problems resulting from being networked. [Section 1.5] 14. The question is prompted by the fact that neither Beck nor Maxwell has one. Maxwell Figure 3.2 is not really a breakdown of the kernel. Card Figure 2.2 would suggest that things are more complicated. [Section 1.6] © John O’Gorman 2000