Operating System Theory Guide to Operating Systems Third Edition Objectives After reading this chapter and completing the exercises you will be able to: • Understand how an operating system works • Describe the types of operating systems • Understand the history of operating system development • Discuss single-tasking versus multitasking • Differentiate between single-user and multiuser operating systems • List and briefly describe current operating systems Guide to Operating Systems, Third Edition 2 Understanding Operating Systems • Operating system (OS) – Set of basic programming instructions to computer hardware • Forms layer of programming code on which most other functions of the computer are built • Desktop operating system – Typically installed on a PC type of computer used by one person at a time • Computer may or may not be connected to a network Guide to Operating Systems, Third Edition 3 Understanding Operating Systems (continued) • Server operating system – installed on a more powerful computer that is connected to a network – act in many roles to enable multiple users to access information, such as electronic mail, files, and software Guide to Operating Systems, Third Edition 4 Understanding Operating Systems (continued) • Input/output (I/O) – Basic functions which let other programs easily talk to the computer hardware Guide to Operating Systems, Third Edition 5 Understanding Operating Systems (continued) • Operating systems perform the following tasks: – Handle input from the keyboard, mouse, and other input devices – Handle output to the monitor and printer – Handle communications using a modem – Handle network communications, such as for a local network and the Internet Guide to Operating Systems, Third Edition 6 Understanding Operating Systems (continued) • Operating systems perform the following tasks (continued): – Control input/output for 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 Guide to Operating Systems, Third Edition 7 Understanding Operating Systems (continued) • Communicates directly with all of these devices • Exchange information with specific hardware (chips) inside the computer – Code (instructions) for this exchange is typically referred to as a device driver Guide to Operating Systems, Third Edition 8 Understanding Operating Systems (continued) • A device driver translates computer code to display a screen, or translates movements of a mouse into action Guide to Operating Systems, Third Edition 9 Understanding Operating Systems (continued) • A separate device driver is usually present for each individual device inside the computer Guide to Operating Systems, Third Edition 10 Understanding Operating Systems (continued) • A good example of a device is a compact disk read only Memory (CD-ROM) drive • Device drivers that interface with your OS for other devices, include: – Floppy and hard disk drives – Computer monitors – Keyboards Guide to Operating Systems, Third Edition 11 Understanding Operating Systems (continued) • Device drivers that interface with your OS for other devices, include: – Mouse and trackball devices – Modems – Printers and scanners – Others are shown on page 5 of the textbook Guide to Operating Systems, Third Edition 12 Understanding Operating Systems (continued) • Communicates with the application software running on the computer – See Figure 1-3 • Application software – Vague term; it can mean a word processor, spreadsheet, database, computer game, etc Guide to Operating Systems, Third Edition 13 Understanding Operating Systems (continued) Guide to Operating Systems, Third Edition 14 Understanding Operating Systems (continued) • Essential step to start a computer – Load the Basic Input/Output System or BIOS • Every PC has a BIOS stored in Read Only Memory or ROM • Sample BIOS setup screen – See Figure 1-4 • Turn on a PC – Jumps to a startup program inside the BIOS Guide to Operating Systems, Third Edition 15 Understanding Operating Systems (continued) Guide to Operating Systems, Third Edition 16 Understanding Operating Systems (continued) Guide to Operating Systems, Third Edition 17 Understanding Operating Systems (continued) • Elements in Figure 1-5 include the following: – Application software – API (Application Program Interface) – BIOS – Operating system kernel – Device drivers – Resource managers – Optional drivers – Computer hardware Guide to Operating Systems, Third Edition 18 Understanding Operating Systems (continued) • Common features of operating systems: – Interface between the computer hardware and application programs – Act as an intermediary between the user and applications – User interface into computer hardware and application programs – Manage memory and central processor use – Manage peripheral devices Guide to Operating Systems, Third Edition 19 Types of Operating Systems • Functions of a computer – Dictate what the OS will do and how it will do it • An example – Microwave oven needs device drivers for the LED (Light Emitting Diode) display, numeric keypad, and door close switches • Operating systems are organized by: – Size, type, and purpose of the computer they run on Guide to Operating Systems, Third Edition 20 Types of Operating Systems (continued) • PC-class computers – Designed for individual users to perform tasks • Example of complexity of PC operating systems – Windows 95 had one millions lines of code – Windows XP has 50 million Guide to Operating Systems, Third Edition 21 Types of Operating Systems (continued) • Two main groups of computers – Older, large computers with traditional operating systems – Newer, smaller hardware with specialized operating systems Guide to Operating Systems, Third Edition 22 Time Sharing • Mainframe-class computers – Conduct massive calculations or manipulate huge amounts of data • These systems are referred to as – Time-sharing systems • Time-sharing systems frequently conduct what are termed batch processes Guide to Operating Systems, Third Edition 23 Time Sharing (continued) • Sequential processing – Each process request is completed and the data returned before the next process is started Guide to Operating Systems, Third Edition 24 Time Sharing (continued) • Time-sharing mainframe accessed by cables from terminals to a communications box connected to the mainframe, creating a multiuser system Guide to Operating Systems, Third Edition 25 Real-time Systems • Real-time systems – what most of us are familiar with today • PC-based operating systems – such as Windows XP and Mac OS X – interact directly with the user—even multiple users and respond in real time Guide to Operating Systems, Third Edition 26 Real-time Systems (continued) • Server running an OS such as NetWare to provide real-time access to multiple users over a network. Guide to Operating Systems, Third Edition 27 Multiuser Systems • Multiuser environment – Multiple users can do many different things on the machine at the same time – All users are using one machine or a group of machines to do all their work • Client/server system – Newest types of large computing and operating system environments Guide to Operating Systems, Third Edition 28 Multiuser Systems (continued) • Client/server operations – Macintosh computer running Mac OS – Minimally configured Windows XP computer connected to a network that includes a Windows 2000 or 2003 server Guide to Operating Systems, Third Edition 29 A Short History of Operating Systems • Computers used as large automated calculators • Extremely large, often taking up entire rooms • Scientists programmed computers to perform precise tasks • Operating systems were rudimentary Guide to Operating Systems, Third Edition 30 A Short History of Operating Systems (continued) • I/O devices were created, and computer memory capacity and speed increased • Ability to share computer resources among various programs • OS evolution in this era are long lost Guide to Operating Systems, Third Edition 31 A Short History of Operating Systems (continued) • Notable players responsible for setting the stage for the full-featured functionality – Digital Equipment Corporation’s PDP series computers – Original UNIX was developed at AT&T Bell Labs in 1969 by Kenneth Thompson and Dennis Ritchie – DEC VAX computers used VMS Guide to Operating Systems, Third Edition 32 A Short History of Operating Systems (continued) • Mid sixties, a simple programming language was developed – Dubbed BASIC, or Beginner’s All-purpose Symbolic Instruction Code Guide to Operating Systems, Third Edition 33 A Short History of Operating Systems (continued) • 86-DOS – Written by Tim Patterson for the new 8086 microprocessor – Evolved in 1980 into the Microsoft Disk Operating System, or MS-DOS • IBM introduced the first PC in 1981 – Caused a revolution, because it was designed around an “open standard” – Anyone was welcome to make PCs that worked like IBM’s PC, or hardware that would work with it Guide to Operating Systems, Third Edition 34 A Short History of Operating Systems (continued) • The Macintosh was introduced and it seemed to be light years ahead of the IBM PC – Came with a standard graphical user interface (GUI) – MS-DOS was still text-based – Managed the computer memory closely for the software • Microsoft, however, did not stay behind for long – In 1990, Microsoft introduced Windows which provided a GUI and many of the same functions as the Mac OS Guide to Operating Systems, Third Edition 35 Single-Tasking versus Multitasking • Multitasking – Technique that allows a computer to run two or more programs at the same time Guide to Operating Systems, Third Edition 36 Single-Tasking versus Multitasking (continued) • Most PCs have only one CPU chip – does one thing at a time – multitasking is 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 – cooperative multitasking shown in Figure 1-8 Guide to Operating Systems, Third Edition 37 Single-Tasking versus Multitasking (continued) Guide to Operating Systems, Third Edition 38 Single-Tasking versus Multitasking (continued) • Operating system – hands over control to a program – sits back – waits for the program to hand control back to the operating system • Preemptive multitasking – illustrated in Figure 1-9 – OS is in control of the computer at all times Guide to Operating Systems, Third Edition 39 Single-Tasking versus Multitasking (continued) Guide to Operating Systems, Third Edition 40 Single-Tasking versus Multitasking (continued) • A single-tasking operating system – Executes one program at a time (see Figure 1-10) – 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) Guide to Operating Systems, Third Edition 41 Single-Tasking versus Multitasking (continued) Guide to Operating Systems, Third Edition 42 Single-Tasking versus Multitasking (continued) • Task-switching operating system – offers many of the device management functions of the multitasking operating system – can load multiple application programs at once – figure 1-11 illustrates the concept of task switching Guide to Operating Systems, Third Edition 43 Single-Tasking versus Multitasking (continued) Guide to Operating Systems, Third Edition 44 Single-User versus Multiuser Operating Systems • Multiuser operating systems – run multiple programs at the same time – allow multiple users to use an application simultaneously – most use preemptive multitasking technology Guide to Operating Systems, Third Edition 45 Single-User versus Multiuser Operating Systems Desktop operating systems covered in this book – initially were designed as single-user systems – exceptions are UNIX and Linux - multi-user OS by design Guide to Operating Systems, Third Edition 46 Current Operating Systems • Operating systems in this book are the most common in today’s computing environments: – Windows 2000 Professional and Server – Windows XP (Home, Professional, Tablet PC, and Media Center) – Windows Server 2003 Guide to Operating Systems, Third Edition 47 Current Operating Systems • Operating systems in this book are the most common in today’s computing environments (continued): – The different flavors of UNIX/Linux operating systems, focusing particularly on Red hat Enterprise Linux 3.0 – NetWare 6.x – Apple Macintosh Mac OS X (version 10.3 or Panther) Guide to Operating Systems, Third Edition 48 Summary • An operating system provides the foundation upon which to run the components of a computer and execute applications • Two common types of operating systems – Desktop - may or may not be a network operating system – Server - always a NOS Guide to Operating Systems, Third Edition 49 Summary (continued) • Device drivers can extend the native functions to provide access and control over different types of devices\ – Printers – CD-ROM drives. Guide to Operating Systems, Third Edition 50 Summary (continued) • BIOS – Low-level program code that operates between the computer hardware and a higher level operating system – Initiate communications with hardware devices – Perform hardware tests at startup – Enable the startup of the higher-level operating system Guide to Operating Systems, Third Edition 51 Summary (continued) • Operating system may be geared to run a large mainframe or a small PC-type of computer. However, the small PCtype systems now can be very powerful and are used in many places instead of mainframe systems. • Operating systems can be understood in terms of characteristics – Time sharing, real-time operation, and multiuser capabilities Guide to Operating Systems, Third Edition 52 Summary (continued) • History of operating systems and computers – Progression from physically huge computers – Large computers – Desktop-sized computers that have powerful processing capabilities and operating systems Guide to Operating Systems, Third Edition 53 Summary (continued) • From the standpoint of the user – The most significant advances in operating systems is the GUI • Early operating systems tended to be singletasking, but modern systems are largely multitasking. Guide to Operating Systems, Third Edition 54 Summary (continued) • A true multiuser system – Multiple users access and run a single application on a single computer at the same time Guide to Operating Systems, Third Edition 55 Summary (continued) Currently popular operating systems are the topic of this book – Windows 2000/XP/Server 2003 – UNIX/Linux – NetWare 6.x – Mac OS X Guide to Operating Systems, Third Edition 56