Department of Computer Science, 4.2 Operating System Concepts ................................................................... 356 National Chengchi University, 4.2.1 Process . 4.2.2 Files . 4.2.3 System Calls . 4.2.4 Shell: Command-Based User Interface . Taipei, Taiwan 4.2.5 Graphical User Interface 4.3 Operating Systems History .................................................................... 358 4.4 A Model Operating System.................................................................... 360 4.4.1 Single-Machine Levels 1 through 7 . 4.4.2 Multi-Machine Levels 8 through 14 4.5 Case 1: UNIX...................................................................................... 361 4.5.1 Introduction to UNIX . 4.5.2 Using UNIX . 4.5.3 Linux: An Open Source UNIX Clone for a Personal Computer 4.6 Case 2: MS-DOS.................................................................................. 364 4.6.1 Introduction to MS-DOS . 4.6.2 Using MS-DOS References .......................................................................................... 366
4.1 Introduction hiding—confining the details of managing a class of ‘‘objects’’
in a module that has a friendly interface with its users. With The operating system of a computer is software, which con- information hiding, designers can protect themselves from trols all the computer’s resources and provides the base upon extensive reprogramming if the hardware or some part of the which the application programs can be written. Modern oper- software changes: the change affects only the small portion of ating systems also provide numerous services, such as inter- the software interfacing directly with that system component. process communication, file and directory systems, data By nesting these modules, a hierarchy of levels of abstraction is transfer over networks, and a command language for invoking created so that at any level, users can ignore the details at all and controlling programs. lower levels. At the highest level is system users who, ideally, A modern computer system consists of one or more proces- are insulated from everything except what they want to accom- sors, some main memory, clocks, terminals, disks, network plish. Operating systems structured in this way can support interfaces, and other input/output devices. Writing programs diverse environments: programming, game playing, real-time that keep track of all these components and use them correctly processing, office automation, database, and so on. This situ- is an extremely difficult job. The operating system puts a layer ation is shown in Figure 4.1. of software on top of the bare hardware, manages all parts of At the bottom of the hierarchy is the hardware that may be the system, and presents the user with an interface or virtual composed of two or more layers. The lowest layer contains machine that is easier to understand and program. Thus, an physical devices, such as processors, memory, and disks. operating system can be defined as a set of software extensions On top of the physical devices, there is a layer of system of primitive hardware, culminating in a virtual machine that software that directly controls these devices and provides a serves as a high-level programming environment and manages cleaner interface to the upper layers of software. These software the flow of work in a network of computers. modules are best known as device drivers in the most popular The virtual machine visible to the user is only the outermost personal computer systems and are sometimes treated as parts of a series of software layers refining the base hardware. The of the operating system. The interface to the device drivers is principle behind the layered architecture is called information usually in a primitive format, called machine language. The