Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Plan 9 from Bell Labs wikipedia , lookup
Berkeley Software Distribution wikipedia , lookup
Spring (operating system) wikipedia , lookup
Unix security wikipedia , lookup
Mobile operating system wikipedia , lookup
Copland (operating system) wikipedia , lookup
Security-focused operating system wikipedia , lookup
1 Operating System Theory Guide to Operating Systems Second Edition Chapter 1 1 1 Objectives After reading this chapter and completing the exercises you will be able to: • Understand what an operating system does • Describe the types of operating systems • Understand the history of operating system development • Discuss single tasking versus multitasking • Differentiate between single-user and multi-user operating systems • List and briefly describe current operating systems Chapter 1 2 1 Understanding Operating Systems • An operating system (OS) is a set of basic programming instructions to the lowest levels of computer hardware, forming a basic layer of programming code on which most other functions of the computer are built • A desktop operating system typically is one installed on a PC type of computer that is used by one person at a time, and that may or may not be connected to a network Chapter 1 3 1 Understanding Operating Systems • A server operating system is usually on a more powerful computer that is connected to a network, and can act in many roles to enable multiple users to access information, such as electronic mail, files, and software • In its lowest form, the operating system takes care of what are known as basic input/output (I/O) functions, which let other programs easily talk to the computer hardware Chapter 1 4 1 Understanding Operating Systems • Operating systems perform the following tasks: – Handle input from the keyboard and mouse – Handle output to the screen and printer – Handle communications using a modem – Handle network communications, such as for the Internet – Control input/output with all bus devices, such as a network interface card – Control information storage and retrieval using various types of disk and CD-ROM drives – Enable multimedia use for voice and video reproduction, such as playing music through speakers Chapter 1 5 1 Understanding Operating Systems • The operating system communicates directly with all of these devices • Some operating system programs exchange information with specific hardware (chips) inside the computer • This code is typically referred to as a device driver Chapter 1 6 1 Understanding Operating Systems • Chapter 1 A device driver translates computer code to display text on a screen, or translates movements of a mouse into action 7 1 Understanding Operating Systems • A separate device driver is usually present for each individual device inside the computer, as shown in Figure 1-2 Chapter 1 8 1 Understanding Operating Systems • A good example of a device a compact disk read only Memory (CD-ROM) drive • You may encounter device drivers that interface with your operating system for other devices, including: – Floppy and hard disk drives – Computer monitors – Keyboards – Mouse and trackball devices – Modems – Scanners – Others are shown on page 4 of the textbook Chapter 1 9 1 Understanding Operating Systems • In addition to communicating with computer hardware, the operating system communicates with the application software running on the computer, as shown in Figure 1-3 • Application software is a fairly vague term; it can mean a word processor, spreadsheet, database, computer game, or many types of other applications Chapter 1 10 1 Understanding Operating Systems Chapter 1 11 1 Understanding Operating Systems • The general operating system we describe provides only the most basic input and output functions, so it is called a Basic Input/Output System, or BIOS • Every PC has a BIOS, which is stored in Read Only Memory, or ROM • Figure 1-4 shows a sample BIOS setup screen on a computer • Whenever you turn on your PC, the machine wakes up and jumps to a startup program inside the BIOS Chapter 1 12 1 Understanding Operating Systems • Chapter 1 This program initializes the screen and keyboard, tests some central computer hardware, such as the central processing unit (CPU) and memory, initializes the floppy drive and other disk drives, and then loads other parts of the operating system that can provide more advanced functionality for application programs 13 1 Understanding Operating Systems • Figure 1-5 shows a general conceptual drawing of various operating system components Chapter 1 14 1 Understanding Operating Systems • The elements in Figure 1-5 include the following, from the application down: – Application software – API (Application Program Interface) – BIOS – Operating system kernel – Device drivers – Resource managers – Optional drivers – Computer hardware Chapter 1 15 1 Understanding Operating Systems • Some features that most operating systems have in common are: – Provide an interface between the computer hardware and application programs – Act as an intermediary between the user and applications – Provide a user interface into computer hardware and application programs – Manage memory and central processor use – Manage peripheral devices, such as printers, monitors, keyboards, and modems Chapter 1 16 1 Types of Operating Systems • The functions a computer requires, to a large extent, dictate what the operating system will do and how it will do it • As an example, the computer in a microwave oven needs device drivers for the LED (Light Emitting Diode) display, numeric keypad, and door close switches • In general, operating systems are organized by the size, type, and purpose of the computer on which they run Chapter 1 17 1 Types of Operating Systems • PC-class computers are designed for individual users to perform tasks, such as word processing, database and spreadsheet management, and networking with other computers • One example of how PC operating systems have become more complex is the comparison of lines of code in Windows 95 to Windows XP • One way to look at computer operating system differences is to consider that there are really two main groups of computers: older, large computers with traditional operating systems, and newer, small hardware with similar but specialized operating systems Chapter 1 18 1 Types of Operating Systems • Mainframe-class computers are used to conduct massive calculations or manipulate huge amounts of data • These systems are referred to as time-sharing systems • These time-sharing systems, and other large computers, frequently conduct what are termed batch processes Chapter 1 19 1 Types of Operating Systems • Today’s smaller, interactive systems are more prone to use sequential processing, where each process request is completed and the data returned before the next process is started • Real-time systems are what most of us are familiar with today • PC-based operating systems, such as Windows 98 or Windows XP, interact directly with the user—even multiple users (on shared drives)—and respond in real time with the required information Chapter 1 20 1 Types of Operating Systems • In this environment, multiple users can do many different things on the machine at the same time • Still, all users are using one machine or a group of machines to do all their work • This is known as a multi-user environment • One of the newest types of large computing and operating system environments is known as the client/server system Chapter 1 21 1 Types of Operating Systems • A Macintosh computer running Mac OS, or a minimally configured Windows 2000 computer connected to a network that includes a Windows NT, 2000, or .NET server, for example is well suited for client/server operations • Taking client/server systems a step further is Microsoft’s .NET architecture • .NET incorporates the Internet and focuses on integrating data and user functions so that they can be accomplished at any location on many kinds of devices, including handheld devices and cell phones Chapter 1 22 1 A Short History of Operating Systems • Initially, computers were used as large automated calculators to solve all sorts of mathematical and statistical problems • Computers were extremely large, often taking up entire rooms • Scientists programmed these computers to perform precise tasks, the exact tasks for which they were built • The operating systems were rudimentary, often not able to do more than read punch cards or tape, and write output to Teletype machines Chapter 1 23 1 A Short History of Operating Systems • Input and output devices were created, and computer memory capacity and speed increased • The next evolution was the ability to share computer resources among various programs • Some of the operating systems that evolved in this era are long lost to all but those who worked directly with them • But there are some notable players that were responsible for setting the stage for the fullfeatured functionality we take for granted today Chapter 1 24 1 A Short History of Operating Systems • Digital Equipment Corporation’s PDP series computers, for example, ran the DEC operating systems, simply known as OS, in one version of another • A popular one was OS/8, which came in various versions, such as Release 3Q, and was released in 1968 • The original UNIX was developed at AT&T Bell Labs in 1969 by Kenneth Thompson and Dennis Ritchie as an improvement on Multics Chapter 1 25 1 A Short History of Operating Systems • Later Digital VAXs used VMS, a powerful, multitasking, multi-user system that was strong on networking • In the mid sixties, right after the first interactive computer game was invented at MIT, a simple programming language was developed, aimed at the non-programmer • It was dubbed BASIC, or Beginner’s Allpurpose Symbolic Instruction Code Chapter 1 26 1 A Short History of Operating Systems • 86-DOS, which was originally written by Tim Patterson for the new 8086 microprocessor, evolved in 1980, through a cooperative effort between Patterson and Microsoft, into the Microsoft Disk Operating System, or MS-DOS • IBM introduced the first PC in 1981, it caused a revolution, because it was designed around an “open standard” • Anyone who wanted to was welcome to make PCs that worked like IBM’s PC, or hardware that would work with it Chapter 1 27 1 A Short History of Operating Systems • The Macintosh was introduced in 1984, and it seemed to be light years ahead of the IBM PC • Its operating system came with a standard graphical user interface (GUI), at a time when MS-DOS was still text-based • Also, the Macintosh OS managed the computer memory closely for the software, something MS-DOS did not do • Microsoft, however, did not fall far behind • In 1990, Microsoft introduced an extension to its DOS operating system, called Microsoft Windows which provided a GUI and many of the same functions as the Mac OS Chapter 1 28 1 Operating System Releases Chapter 1 29 1 Operating System Releases Chapter 1 30 1 Operating System Releases Chapter 1 31 1 Single-Tasking versus Multitasking • In practice, almost every resource in the computer, such as the memory and the microprocessor (central processing unit or CPU), is managed by the operating system • One of the major reasons for giving operating systems so much control over resources is to facilitate multitasking, a technique that allows a computer to run two or more programs at the same time Chapter 1 32 1 Single-Tasking versus Multitasking • Since most personal computers have only one CPU chip, which can in general only do one thing at a time, multitasking is generally achieved by splitting processor time between applications, switching so rapidly that the user is not aware of any discontinuity • There are two general types of multitasking • The first method is known as cooperative multitasking Chapter 1 33 1 Single-Tasking versus Multitasking • In this method, the operating system hands over control to a program, sits back, and waits for the program to hand control back to the operating system • A better method is the second alternative, preemptive multitasking, illustrated in Figure 1-7 • In this scenario, the operating system is in control of the computer at all times Chapter 1 34 1 Cooperative Multitasking Basics Chapter 1 35 1 Preemptive Multitasking Basics Chapter 1 36 1 Single-Tasking versus Multitasking • A single-tasking operating system executes one program at a time (see Figure 1-8) • To do something else, one program must be stopped, and a new program must be loaded and executed • New single-tasking operating systems are found only in computers with very limited processor capacity, such as Personal Digital Assistants (PDAs) Chapter 1 37 1 Single-Tasking Operating System Chapter 1 38 1 Single-Tasking versus Multitasking • A special note must be made of a hybrid system called a task-switching operating system • This system offers many of the device management functions of the multitasking operating system, and it can load multiple application programs at once • You can see the concept of task switching in Figure 1-9 Chapter 1 39 1 Task Switching Chapter 1 40 1 Single-User versus Multi-User Operating Systems • Some operating systems, in addition to being able to run multiple programs at the same time with multitasking technology, allow multiple users to use an application simultaneously • These are known as multi-user operating systems • Most multi-user systems use preemptive multitasking technology • The desktop operating systems covered in this book initially were designed as single-user systems with the exception of UNIX, which is a multi-user operating system by design Chapter 1 41 1 Current Operating Systems • The operating systems surveyed in this book are the most common in today’s computing environments, and they fall into several families: – Windows 95, Windows 98, and Windows Me – Windows NT, Windows 2000, Windows XP, and Windows .NET Server – The different flavors of UNIX operating systems – Apple Macintosh Mac OS systems Chapter 1 42 1 Summary • You were introduced to the concept of device drivers, and the functions the operating system provides to application programs • The types of operating systems in use were briefly discussed, as well as the differentiation that can be made based on the computer environment in which the operating system is used • A short operating system history touched on some of the highlights in computer development from the standpoint of operating systems Chapter 1 43 1 Summary • Also introduced were single-tasking operating systems, which run only one application at a time, and multitasking operating systems, which can run multiple applications at once • Finally, some modern PC operating systems you will find in use today were described • This theoretical beginning will provide a good background for the following chapter Chapter 1 44