Download PPT_ch01_PPT_ch01 - CCRI Faculty Web

Document related concepts

Burroughs MCP wikipedia , lookup

Plan 9 from Bell Labs wikipedia , lookup

Berkeley Software Distribution wikipedia , lookup

RSTS/E wikipedia , lookup

Mobile operating system wikipedia , lookup

System 7 wikipedia , lookup

Copland (operating system) wikipedia , lookup

Spring (operating system) wikipedia , lookup

VS/9 wikipedia , lookup

Unix security wikipedia , lookup

Distributed operating system wikipedia , lookup

Security-focused operating system wikipedia , lookup

CP/M wikipedia , lookup

Transcript
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