Identifying Security Risks

Download Report

Transcript Identifying Security Risks

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