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
Burroughs MCP wikipedia , lookup
Plan 9 from Bell Labs wikipedia , lookup
Berkeley Software Distribution wikipedia , lookup
Mobile operating system wikipedia , lookup
Copland (operating system) wikipedia , lookup
Spring (operating system) wikipedia , lookup
Unix security wikipedia , lookup
Distributed operating system wikipedia , lookup
About the Presentations • The presentations cover the objectives found in the opening of each chapter. • All chapter objectives are listed in the beginning of each presentation. • You may customize the presentations to fit your class needs. • Some figures from the chapters are included. A complete set of images from the book can be found on the Instructor Resources disc. Guide to Operating Systems, 5th Edition 1 Guide to Operating Systems, th 5 Edition Chapter 1 Operating Systems Fundamentals Objectives After completing this chapter, you will be able to: • Explain basic operating system concepts • Understand the history of operating system development • Discuss how operating systems work • Describe the types of operating systems • Discuss single tasking versus multitasking Guide to Operating Systems, 5th Edition © Cengage Learning 2017 3 Objectives After completing this chapter, you should will be able to (cont’d): • Differentiate between single-user and multiuser operating systems • List and briefly describe current operating systems Guide to Operating Systems, 5th Edition © Cengage Learning 2017 4 An Introduction to Operating Systems • Computers come in many and varied physical forms. • There are: – Supercomputers that perform complex computing tasks at incredible speeds; – Business servers that provide enterprise-level networked applications; – Desktop and laptop PCs, tablets , smartphones, and wearable computers. Guide to Operating Systems, 5th Edition © Cengage Learning 2017 5 An Introduction to Operating Systems • There are many devices you may not even think of as having a computer, such as those embedded in everyday devices like cars, televisions, and even dishwashers. • Without an operating system, however, these devices are only a collection of electronic parts. • The operating system is the software that starts the basic functions of a computer, displays documents on the computer’s monitor, accesses the Internet, and runs applications. • It transforms the computer into a powerful tool. Guide to Operating Systems, 5th Edition © Cengage Learning 2017 6 An Introduction to Operating Systems • There are many kinds of operating systems, but only a few have captured a wide audience. • Server operating systems like Windows Server 2016 and UNIX run on network servers. • Client operating systems like Windows 10, Mac OS X, and Ubuntu Linux run on desktop computers. • Sime operating systems are very specialized and rarely seen, such as those that run the electronics in a car. • Others are ubiquitous, such as Android and iOS, which run mobile devices. Guide to Operating Systems, 5th Edition © Cengage Learning 2017 7 An Introduction to Operating Systems • A computer’s functions and features can be broken down into three basic tasks all computers perform: – Input – Processing – Output • These functions above involve some type of computer hardware – But the hardware is controlled and coordinated by the operating system (OS) Guide to Operating Systems, 5th Edition © Cengage Learning 2017 8 An Introduction to Operating Systems • An OS is a specialized computer program that provides the following features: – User interface – provides a method for users to interact with the computer – File system – method by which an OS stores and organizes files and manages access to files – Processes and services – a process is a program that’s loaded into memory and run by the CPU; a service is a type of process that runs in the background because there’s no user interface. Guide to Operating Systems, 5th Edition © Cengage Learning 2017 9 An Introduction to Operating Systems • An OS is a specialized computer program that provides the following features: – Kernel – the heart of the OS and runs with the highest priority. • It schedules processes to run, making sure highpriorities are taken care of first; • It manages memory to ensure that two applications don’t attempt to use the same memory space; • It makes sure I/O devices are accessed by only one process at a time, in addition to other tasks. Guide to Operating Systems, 5th Edition © Cengage Learning 2017 10 Desktop Versus Server Operating System • Two types of OSs will be covered in this book: – Desktop operating system (client OS) – installed on a personal computer (PC) that is used by one person at a time, and may be connected to a network • Examples of installations are desktop computers, laptops, iMac computers, and tablets – Server operating system – installed on a more powerful computer that is connected to a network and enables multiple users to access information such as e-mail, files, and software Guide to Operating Systems, 5th Edition © Cengage Learning 2017 11 Desktop Versus Server Operating System • Traditional server – often used by small or medium businesses • Rack-mounted server – CPU boxes mounted in racks that can hold multiple servers – All servers often share one monitor & pointing device • Blade servers – looks like a card that fits into a blade enclosure – A blade enclosure is a large box with slots for blade servers – Medium and large organizations use blade servers Guide to Operating Systems, 5th Edition © Cengage Learning 2017 12 Input and Output • A basic task of an OS is to take care of input/output (I/O) functions, which let other programs communicate with the computer hardware • Some examples of I/O tasks: – Handle input from the keyboard, mouse, and other input devices – Handle output to the monitor and printer – Manage network communications, such as for a local network and the Internet – Control input/output for devices such as network interface card Guide to Operating Systems, 5th Edition © Cengage Learning 2017 13 Input and Output • Some examples of I/O tasks (cont’d): – Control information storage and retrieval using various types of disk – Enable multimedia use for voice and video composition or reproduction, such as recording video from a camera or playing music Guide to Operating Systems, 5th Edition © Cengage Learning 2017 14 Input and Output Figure 1-1 General tasks for all operating systems Guide to Operating Systems, 5th Edition © Cengage Learning 2017 15 A Short History of Operating Systems • Initially, computers were used as large automated calculators for mathematical and statistical problems • Legitimate use can be traced back 100 years or more but there were no practical designs used by significant numbers of people until the late 1950’s • Operating systems were rudimentary, often not able to do more than read punch cards or tape and write output to machines resembling typewriters – It did not take long before applications evolved to do something useful for a broader audience Guide to Operating Systems, 5th Edition © Cengage Learning 2017 16 A Short History of Operating Systems • Computers of the late 60’s and early 70’s were crude by today’s standards but were quite capable – Contributed to the development of space travel, submarine-based ballistic missiles, and a growing global financial community • This period saw: – The beginning of the Internet – Creation of input and output devices such as display terminals and magnetic disks – Creation of more operating systems such as OS/8 and UNIX Guide to Operating Systems, 5th Edition © Cengage Learning 2017 17 A Short History of Operating Systems • PDP-8 computers were general-purpose machines that at one time were the top-selling computers across the world. • The PDP series could also run Multics, which was the basis for the development of the first version of UNIX, a multi-user, multitasking operating system. – Multics is widely considered to be the first multiuser, multitasking operating system. Guide to Operating Systems, 5th Edition © Cengage Learning 2017 18 A Short History of Operating Systems • The original UNIX was developed at AT&T Bell Labs in 1969 by Kenneth Thompson and Dennis Ritche as an improvement on Multics. • DEC VAX computers used Virtual Memory System (VMS), a powerful, multitasking, multiuser operating system that was strong on networking. • IBM mainframes made a series of operating systems popular in the early sixties and later with System/360, including CICS, which is still in use today. Guide to Operating Systems, 5th Edition © Cengage Learning 2017 19 A Short History of Operating Systems • In the mid-1960’s, a simple programming language was developed at Dartmouth College – BASIC – Beginner’s All-purpose Symbolic Instruction Code • In 1975, Bill Gates wrote a compiler (software that turns computer code written by people into code that is understood by computers) for BASIC – Sold it to a company called Micro Instrumentation Telemetry Systems (MITS) who became the first company to produce a desktop computer. Guide to Operating Systems, 5th Edition © Cengage Learning 2017 20 A Short History of Operating Systems • Other programming languages introduced around this time included Pascal, C, and other versions of BASIC. • Bill Gates started a new company called Microsoft. • This led to the development of popular mainframe and minicomputer programming languages, such as FORTRAN and COBOL. • The microcomputers, introduced in the mid-1970s, had many of the old restrictions, including slow speed and little memory, and came with a small operating system. Guide to Operating Systems, 5th Edition © Cengage Learning 2017 21 A Short History of Operating Systems • Gates put together a team at Microsoft to adapt a fledging version of a new microcomputer operating system called 86-DOS which ran on a new microcomputer being developed by IBM called the personal computer. • 86-DOS evolved in 1980 into the Microsoft Disk Operating System or MS-DOS. – MS-DOS was designed as a command-line interface – users typed in commands instead of using the graphical user interface (GUI) point-and-clock method that is common today. Guide to Operating Systems, 5th Edition © Cengage Learning 2017 22 A Short History of Operating Systems – MS-DOS became a runaway success for Microsoft, and it was the first widely distributed operating system for microcomputers that had to be loaded from disk or tape – IBM adopted MS-DOS for its PC • MS-DOS: – Provided the basic operating system functions and it was amazingly similar to what was used before on larger computers. – It supported basic functions, such as keyboard, disk, and printer I/O – and communications. – In time it added added support for hard disks. Guide to Operating Systems, 5th Edition © Cengage Learning 2017 23 A Short History of Operating Systems • In 1984, Apple Macintosh developed a GUI and mouse pointing device, which allowed users to interact with the OS on a graphical screen. • The mouse allowed users to point at or click icons or to select items from menus to accomplish tasks. • When the Macintosh was introduced, it seemed light years ahead of the IBM-PC. • Its OS came with a standard GUI at a time when MSDOS was still based on entering text commands. • The Macintosh OS managed computer memory closely for the software – which MS-DOS did not do. Guide to Operating Systems, 5th Edition © Cengage Learning 2017 24 A Short History of Operating Systems • Because Mac OS managed all computer memory for the application programs, you could start several programs and switch among them. • Mac OS was also years ahead in I/O functions such as printer management. – In MS-DOS, a program had to provide its own drivers for I/O devices. MS-DOS provided only the most rudimentary interface. • On Mac OS, many I/O functions were part of the operating system. Guide to Operating Systems, 5th Edition © Cengage Learning 2017 25 A Short History of Operating Systems • In 1985, Microsoft shipped an extension to its DOS OS, called Microsoft Windows, which provided a GUI and many of the same functions as MAC OS. • The first Windows was really an operating “environment” running on top of MS-DOS, made to look like a single OS. • Today’s Windows is no longer based on DOS and is a full-fledged OS. Guide to Operating Systems, 5th Edition © Cengage Learning 2017 26 A Short History of Operating Systems • All of these PC operating systems changed the role of the big machines’ dynasty. • Many big machines are now obsolete. • Others are used for calculation and data storage as back-end functions for the PC. • Even in this arena, they are threatened today as PC operating systems and hardware extend further and further. Guide to Operating Systems, 5th Edition © Cengage Learning 2017 27 Understanding How Operating Systems Work • Elements that enable an operating system to work with a computer include: – – – – – The kernel Resource managers Device drivers Application software BIOS Guide to Operating Systems, 5th Edition © Cengage Learning 2017 28 The Kernel • The kernel consists of the essential program code of the operating system. • Key tasks of the OS Kernel: – Scheduling computer processes – Managing resources, such as memory and processing time • Jobs performed by the kernel can include: – Managing interactions with the CPU – Starting, managing, and scheduling programs that handle I/O activities, including device and networking activities Guide to Operating Systems, 5th Edition © Cengage Learning 2017 29 The Kernel • Jobs performed by the kernel (cont’d): – Handling basic computer security – Managing use of the computer’s memory (RAM) – Managing priority levels assigned to programs and computer processes • In Windows systems, the name of the kernel file is ntoskrnl.exe and in MAC OS X, the kernel is called XNU. • The actual kernel name in Linux depends on the distribution and release of Linux. Guide to Operating Systems, 5th Edition © Cengage Learning 2017 30 Resource Managers • Help ensure memory is used properly and there are no memory conflicts • Manages how programs access the processing capabilities of the CPU – Example: if there is one CPU and ten programs that want to access the CPU, the OS will give each program a time slice on the CPU • Each program does a little work during its time slice and then the kernel hands the CPU access over to the next program for its time slice Guide to Operating Systems, 5th Edition © Cengage Learning 2017 31 Device Drivers and the Operating System • A device driver translates computer code to display text on a screen – Or translates movements of a mouse into action • A separate device driver is usually present for each I/O device • The device driver contains the actual code (instructions) to communicate with the chips on the device Guide to Operating Systems, 5th Edition © Cengage Learning 2017 32 Device Drivers and the Operating System Figure 1-2 Device drivers provide communication between the OS and hardware devices Guide to Operating Systems, 5th Edition © Cengage Learning 2017 33 The Role of Application Software • Application software – Any program a user might choose to run on a computer • Examples: word processor, spreadsheet, database, and a computer game • An operating system manages the communication among the applications, the user, and the computer – Allows application programmers to concentrate on applications that will run on any hardware, as long as the OS can control them Guide to Operating Systems, 5th Edition © Cengage Learning 2017 34 The Role of Application Software Figure 1-3 Application programs communicate with hardware through the operating system Guide to Operating Systems, 5th Edition © Cengage Learning 2017 35 The Role of Application Software • An operating system manages the communication among the application programs, the user, and the computer. • An application program can submit a general request to the OS, such as “write this information to disk,” and the OS handles the details. • The application program doesn’t have to worry about how to queue data, update the disk directory, or physically copy data from memory to the hard drive. Guide to Operating Systems, 5th Edition © Cengage Learning 2017 36 The Role of the BIOS • BIOS – basic input/output system • A low-level program code that: – Resides on a chip on the computer’s motherboard – Initiates/enables communications with hardware devices – Performs tests at startup called power-on self test (POST) – Conducts basic hardware and software communications inside the computer – Starts a full-fledged operating system that interfaces with the user Guide to Operating Systems, 5th Edition © Cengage Learning 2017 37 The Role of the BIOS • Every PC has a BIOS, which is stored in a flash memory chip – Flash memory does not lose its contents when the computer is turned off • BIOS is stored in a complementary metal oxide semiconductor (CMOS) memory chip • When a PC is turned on: – Runs a startup program inside the BIOS – Program initializes the screen and keyboard, tests hardware, initializes the hard disk and other drives – Loads the main operating system from the hard disk Guide to Operating Systems, 5th Edition © Cengage Learning 2017 38 A Summary of Operating System Elements Figure 1-5 General operating system design Guide to Operating Systems, 5th Edition © Cengage Learning 2017 39 Types of Operating Systems • Operating systems are organized by the size, type, and purpose of the computer on which they run – Example: PC-class computers are designed for individual users to perform tasks, such as word processing, spreadsheet management, and networking with other computers • Early operating systems were written for large, refrigerator-sized machines and were quite complex – Applications were written with efficient code and appearance was very basic Guide to Operating Systems, 5th Edition © Cengage Learning 2017 40 Types of Operating Systems • Today, “big” machines no longer refer to size – Refers to more processing power, more memory, more storage, and better network connectivity • To operate today’s more powerful computers, more powerful and more capable operating systems are needed. • Today’s operating systems must support: – Multitasking – High-speed network applications – More powerful I/O capabilities Guide to Operating Systems, 5th Edition © Cengage Learning 2017 41 Types of Operating Systems • Factors that differentiate high-end and low-end computers: – Speed of disk controller, size and speed of the hard disk, amount and speed of memory, size of data pathways, or speed and number of CPUs • Computers and operating systems can be looked at in terms of one or more of the following characteristics: – Time sharing – Real time – Multiuser Guide to Operating Systems, 5th Edition © Cengage Learning 2017 42 Time Sharing • A time-sharing system is a central computer system that is used by multiple users and applications simultaneously – Mainframe computers are an example – Used to perform massive calculations or manipulate huge amounts of data (batch processing) • Example: clearing two million checks and updating their associated bank accounts in batches – Sequential processing: used by smaller computers where each process request is completed, and the data returned before the next process is started Guide to Operating Systems, 5th Edition © Cengage Learning 2017 43 Time Sharing • Besides batch processing, many clerks, customer representatives, and ATM machines often use a mainframe to do daily transactions. • They all share the resources, or processor time, of the large machine, which is why such machines are called time-sharing systems. Guide to Operating Systems, 5th Edition © Cengage Learning 2017 44 Time Sharing Figure 1-6 Time-sharing mainframe with terminals Guide to Operating Systems, 5th Edition © Cengage Learning 2017 45 Real-Time Systems • A real-time operating system (RTOS) receives and processes inputs and produces the required outputs in a specified amount of time – Example: might be used in an industrial plant to control machinery – Might be used in an industrial plant to control machinery. – Inputs to the computer controlling the machinery dictate how the machines respond. – The response must be consistent and predictable, or the entire process may be thrown off. Guide to Operating Systems, 5th Edition © Cengage Learning 2017 46 Real-Time Systems • These OSs are typically used in embedded systems – The computer has a dedicated function within a larger system such as a piece of machinery. – Examples of embedded systems include the computer that runs all the systems of a modern automobile or the computers that run the robots on an automated assembly line. Guide to Operating Systems, 5th Edition © Cengage Learning 2017 47 Multiuser Systems • A multiuser system supports multiple users who access the hardware and software of the computer and operating system – Both time-sharing and real-time systems can be multiuser – All of the work is typically done on the big machine, including running programs, storing data, and accessing data. Guide to Operating Systems, 5th Edition © Cengage Learning 2017 48 Multiuser Systems • Client/server systems – only some of the work is done on the central computer (server) – The servers may hold all the data and files, and may even perform some of the database functions or calculations required. – Most of the work, such as running programs, is performed on the client side • Client/server computing was not possible until the PC was introduced Guide to Operating Systems, 5th Edition © Cengage Learning 2017 49 Multiuser Systems • Cloud computing: providing scalable Web-based applications and services over the Internet or a private network that are used by clients through Web browsers or specialized apps. • The servers and resources available through the apps are depicted as available in a cloud because there are many resources, but they appear to be available from one unified resource. • In cloud computing, the user experiences programs and data as if they are installed on the user’s computer, but a small portion is on the local computer and all other resources are on servers and other devices in the cloud. Guide to Operating Systems, 5th Edition © Cengage Learning 2017 50 Multiuser Systems • Microsoft describes three types of cloud models: – Private cloud – computing resources are kept within an organization and used exclusively by that organization. – Hosted private cloud – resources are made available through a third-party outsourcer, but are only accessible to users within a specific organization. – Public cloud – a variety of resources are available to any organization through a third party and each organization subscribes only to specific resources, which may be shared by other organizations. Guide to Operating Systems, 5th Edition © Cengage Learning 2017 51 Multiuser Systems Figure 1-8 Cloud computing Guide to Operating Systems, 5th Edition © Cengage Learning 2017 52 Multiuser Systems • Common cloud service providers include: – Amazon Web Services (AWS) – Microsoft Azure – Dropbox • AWS and Microsoft Azure are full-service cloud computing companies that can offer customers anything from cloud storage to an entire network of servers and services. • Dropbox is a cloud storage company that provides seamless access to files through the Internet. Guide to Operating Systems, 5th Edition © Cengage Learning 2017 53 Single Tasking Versus Multitasking • Earlier versions of OSs allowed programs to directly access hardware – More prone to unexpected hangs, system instability, or crashes • Today’s OSs manage access to hardware – Major reason for this was to facilitate multitasking (running two or more programs at the same time) • Two general types of multitasking: – Cooperative multitasking – Preemptive multitasking Guide to Operating Systems, 5th Edition © Cengage Learning 2017 54 Single Tasking Versus Multitasking • Cooperative multitasking – the OS hands over control to a program and then waits for the program to hand control back to OS – If program does not give control back to OS, it may hog the CPU until its operations are complete – No other program can run until control is given back to OS – Found in early Windows versions – Example: If you print a word-processing file and try to play Solitaire, you cannot play a card until the print job is finished Guide to Operating Systems, 5th Edition © Cengage Learning 2017 55 Single Tasking Versus Multitasking Figure 1-9 Cooperative multitasking basics Guide to Operating Systems, 5th Edition © Cengage Learning 2017 56 Single Tasking Versus Multitasking • Preemptive multitasking – the OS is in control of the computer at all times – Lets programs execute a little of code at a time then forces the program to relinquish control of the CPU – OS has control over how much of the computer’s resources are allocated to each program – Computers must use more of its CPU and memory to support the OS, but the behavior of the computer is more predictable – You could play Solitaire while printing a wordprocessing file Guide to Operating Systems, 5th Edition © Cengage Learning 2017 57 Single Tasking Versus Multitasking Figure 1-10 Preemptive multitasking basics Guide to Operating Systems, 5th Edition © Cengage Learning 2017 58 Single Tasking Versus Multitasking • Single-tasking operating systems – execute one program at a time – To do something else, one program must be stopped – Older OSs like MS-DOS were single-tasking Figure 1-11 Single-tasking operating systems Guide to Operating Systems, 5th Edition © Cengage Learning 2017 59 Single Tasking Versus Multitasking • Task-switching operating systems – more than one program can run at a time but only one program can have control at a time – Earlier versions of Mac OS were task-switching Figure 1-12 Task switching Guide to Operating Systems, 5th Edition © Cengage Learning 2017 60 Single-User Versus Multiuser Operating Systems Table 1-3 Comparing single-user and multiuser operating systems Guide to Operating Systems, 5th Edition © Cengage Learning 2017 61 Current Operating Systems • OS covered in this book: – – – – Windows 7, 8.1, and 10 Windows Server 2008, 2012, and 2016 UNIX/Linux distributions Apple Macintosh MAC OS X (version 10.11 El Capitan) • Chapter 2 covers these OSs in more detail Guide to Operating Systems, 5th Edition © Cengage Learning 2017 62 Summary • All computers perform three basic tasks: input, processing, and output • An operating system provides the foundation upon which to run the components of a computer and execute applications • A basic task of an operating system is to enable a computer to perform I/O functions • Two common types of operating systems are desktop and server operating systems Guide to Operating Systems, 5th Edition © Cengage Learning 2017 63 Summary • The history of operating systems and computers represents a progression from huge computers to large computers to desktop-sized computers that have powerful operating systems • Device drivers can extend the native function of an operating system to provide access and control over different types of devices • The BIOS is a low-level program code that operates between the computer hardware and an operating system to initiate communication with hardware devices Guide to Operating Systems, 5th Edition © Cengage Learning 2017 64 Summary • An OS may be geared to run a large mainframe or a small PC-type of computer • OSs can be understood in terms of characteristics such as time sharing, real-time operation, and multiuser capabilities • One of the most significant advances in operating systems is the refinement of the GUI in Windowsbased and Mac OS systems • Early OSs tended to be single-tasking, but modern systems are largely multitasking Guide to Operating Systems, 5th Edition © Cengage Learning 2017 65 Summary • A true multiuser system is one in which multiple users access and run a single application on a single computer at the same time • Currently popular OSs are the topic of this book and include Windows 7, 8.1, and 10, Server 2008/R2, Server 2012/R2, Server 2016, UNIX/Linux, and Mac OS X El Capitan Guide to Operating Systems, 5th Edition © Cengage Learning 2017 66