Title: Operating System Theory
1Operating System Theory
- Guide to Operating Systems
- Third Edition
2Understanding 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
3Understanding 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
4Understanding Operating Systems (continued)
- Input/output (I/O)
- Basic functions which let other programs easily
talk to the computer hardware
5Understanding 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
6Understanding 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
7Understanding 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
8Understanding Operating Systems (continued)
- A device driver translates computer code to
display a screen, or translates movements of a
mouse into action
9Understanding Operating Systems (continued)
- A separate device driver is usually present for
each individual device inside the computer
10Understanding 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
11Understanding 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
12Understanding 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
13Understanding Operating Systems (continued)
14Understanding 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
15Understanding Operating Systems (continued)
16Understanding Operating Systems (continued)
17Understanding 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
18Understanding 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
19Types 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
20Types 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
21Types of Operating Systems (continued)
- Two main groups of computers
- Older, large computers with traditional operating
systems - Newer, smaller hardware with specialized
operating systems
22Time 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
23Time Sharing (continued)
- Sequential processing
- Each process request is completed and the data
returned before the next process is started
24Time Sharing (continued)
- Time-sharing mainframe accessed by cables from
terminals to a communications box connected to
the mainframe, creating a multiuser system
25Real-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 usereven multiple
users and respond in real time
26Real-time Systems (continued)
- Server running an OS such as NetWare to provide
real-time access to multiple users over a network.
27Multiuser 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
28Multiuser 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
29A 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
30A 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
31A Short History of Operating Systems (continued)
- Notable players responsible for setting the stage
for the full-featured functionality - Digital Equipment Corporations PDP series
computers - Original UNIX was developed at ATT Bell Labs in
1969 by Kenneth Thompson and Dennis Ritchie - DEC VAX computers used VMS
32A Short History of Operating Systems (continued)
- Mid sixties, a simple programming language was
developed - Dubbed BASIC, or Beginners All-purpose Symbolic
Instruction Code
33A 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
IBMs PC, or hardware that would work with it
34A 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
35Single-Tasking versus Multitasking
- Multitasking
- Technique that allows a computer to run two or
more programs at the same time
36Single-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
37Single-Tasking versus Multitasking (continued)
38Single-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
39Single-Tasking versus Multitasking (continued)
40Single-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)
41Single-Tasking versus Multitasking (continued)
42Single-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
43Single-Tasking versus Multitasking (continued)
44Single-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
45Single-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
46Current Operating Systems
- Operating systems in this book are the most
common in todays computing environments - Windows 2000 Professional and Server
- Windows XP (Home, Professional, Tablet PC, and
Media Center) - Windows Server 2003
47Current Operating Systems
- Operating systems in this book are the most
common in todays 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)
48Summary
- 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
49Summary (continued)
- Device drivers can extend the native functions to
provide access and control over different types
of devices\ - Printers
- CD-ROM drives.
50Summary (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
51Summary (continued)
- Operating system may be geared to run a large
mainframe or a small PC-type of computer.
However, the small PC-type 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
52Summary (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
53Summary (continued)
- From the standpoint of the user
- The most significant advances in operating
systems is the GUI - Early operating systems tended to be
single-tasking, but modern systems are largely
multitasking.
54Summary (continued)
- A true multiuser system
- Multiple users access and run a single
application on a single computer at the same time
55Summary (continued)
- Currently popular operating systems are the topic
of this book - Windows 2000/XP/Server 2003
- UNIX/Linux
- NetWare 6.x
- Mac OS X