Title: Operating System Theory
1Operating System Theory
- Guide to Operating Systems Second Edition
2Objectives
- 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
3Understanding 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
4Understanding 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
5Understanding 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
6Understanding 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
7Understanding Operating Systems
- A device driver translates computer code to
display text on a screen, or translates movements
of a mouse into action
8Understanding Operating Systems
- A separate device driver is usually present for
each individual device inside the computer, as
shown in Figure 1-2
9Understanding 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
10Understanding 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
11Understanding Operating Systems
12Understanding 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
13Understanding Operating Systems
- 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
14Understanding Operating Systems
- Figure 1-5 shows a general conceptual drawing of
various operating system components
15Understanding 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
16Understanding 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
17Types 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
18Types 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
19Types 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
20Types of Operating Systems
- Todays 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 usereven
multiple users (on shared drives)and respond in
real time with the required information
21Types 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
22Types 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
Microsofts .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
23A 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
24A 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
full-featured functionality we take for granted
today
25A Short History of Operating Systems
- Digital Equipment Corporations 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 ATT Bell Labs
in 1969 by Kenneth Thompson and Dennis Ritchie as
an improvement on Multics
26A 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 Beginners All-purpose
Symbolic Instruction Code
27A 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 IBMs PC, or hardware that would work
with it
28A 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
29Operating System Releases
30Operating System Releases
31Operating System Releases
32Single-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
33Single-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
34Single-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
35Cooperative Multitasking Basics
36Preemptive Multitasking Basics
37Single-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)
38Single-Tasking Operating System
39Single-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
40Task Switching
41Single-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
42Current Operating Systems
- The operating systems surveyed in this book are
the most common in todays 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
43Summary
- 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
44Summary
- 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