2. Chapter 13 13-2
Bare Bones Computer System
Does not load instructions into main
memory
No user interface except for I/O routines
provided with executing program
Is idle when waiting for user input
No facility to store, retrieve, or
manipulate files
No ability to control peripheral devices
Can run only one program at a time
4. Chapter 13 13-4
Operating System – Basic Services
Programs that accept commands and
requests from a user and a user’s
program
Manages, loads, and executes
programs
Manages hardware resources of the
computer
Act as an interface between the user
and the system
5. Chapter 13 13-5
Operating System – Additional Services
Provides interfaces for the user and the user’s
programs
File support services
I/O support services
Means of starting the computer
Bootstrapping or booting the computer
Initial Program Load (IPL)
Handles all interrupt processing
Network services
Provides tools and services for concurrent processing
6. Chapter 13 13-6
Additional Services Required by
Concurrent Processing
Allocates resources such as memory,
CPU time, and I/O devices to programs
Protects users and programs from each
other and provides for inter-program
communication
Provides feedback to the system
administrators to permit performance
optimization of the computer system
7. Chapter 13 13-7
OS Parts
Memory Resident
Always loaded in memory
Commonly called the kernel
Contains essential services required by other parts of the
operating system and applications.
Typically responsible for managing memory management,
processes and tasks, and secondary storage
Memory Non-resident
Applications
Infrequently used programs, software tools, and commands
Bootstrap program
Diskless workstations or thin clients
Programs, including the OS, are located on another
computer on the network
9. Chapter 13 13-9
OS Degree of Activity
Interactive
Also known as conversational systems
Batch processing
User submits programs or jobs for
processing
Little to no user interaction
Event driven
Interrupts or service requests
10. Chapter 13 13-10
Hardware and the OS
A hardware platform may support a variety of
operating systems
An operating system may work on a variety of
platforms
A standard operating system that works on different
hardware
Provides program and file portability
Enables user efficiency through recognizable interface
Is implemented through a systems programming language
like C or C++ as opposed to assembly language
11. Chapter 13 13-11
Single Job Processing
Only one program is loaded into
memory and executed
Example: MS-DOS
Memory resident components
Command interface shell
I/O routines, including BIOS
File management system
User program in control
12. Chapter 13 13-12
OS Regains Control
When program is finished control is
transferred back to the command
interpreter
If the user’s program requests I/O
The user wishes to stop the program
execution via a keyboard interrupt
System malfunctions
13. Chapter 13 13-13
Single Job Processing
Disadvantages
Lack of security
Programs can overwrite the resident OS
Programs can write directly to I/O devices
System provides minimum memory
management and no scheduling
CPU is often idle awaiting the completion of
I/O operations
15. Chapter 13 13-15
Concurrent Operations
Multitasking (multiprogramming) vs.
multiprocessing which implies multiple
CPUs
Concurrent processing vs.
simultaneous processing
16. Chapter 13 13-16
Achieving Multitasking
While one program is waiting for I/O to
take place, another program is using
the CPU to execute instructions.
Time-slicing. The CPU may be
switched rapidly back and forth between
different programs
Dispatching is the process of selecting
which program to run at any given
instant
17. Chapter 13 13-17
Sharing the CPU during I/O Breaks
I/O represents a large percentage of a
typical program’s execution
19. Chapter 13 13-19
Services and Facilities
Command processor
File management system
I/O control system
Process control management and interprocess
communication
Memory management
Scheduling system
Secondary storage management
System protection management
Network management, communication support, and
communication interfaces
System Administration
20. Chapter 13 13-20
User Interface and
Command Execution Services
Types of user interfaces
CLI - Command Line Interface
GUI - Graphical User Interface
Menu environment
Shell
User interface and command processor that interacts with
the kernel
UNIX: C, Bourne and Korn shells
Command Languages
IBM Mainframes – JCL
MS Windows – BAT files, Windows Scripting Host
UNIX – shell scripts
21. Chapter 13 13-21
File Management
File - logical unit of storage
Basic file management system provides
Directory structures for each I/O device
Tools to copy and move files
Information about each file in the system and the tools to
access that information
Security mechanisms to protects files and control access
Additional file management features
Backup, emergency retrieval and recovery
File compression
Transparent network file access
auditing
22. Chapter 13 13-22
I/O Services and
Process Control Management
I/O services
Startup configuration
Device drives that implement interrupts and provide
other techniques for handling I/O
Plug and play: hot swapping, hot plugging
Process control management
A process is an executing program
A thread is an individually executable part of a
process
Interprocess messaging services
Example: a pipe in UNIX or DOS that is a temporary
software connection between two programs or commands
23. Chapter 13 13-23
Memory Management
Keeps track of memory
Identifies programs loaded into memory
Amount of space each program uses
Available remaining space
Prevents programs from reading and writing
memory outside of their allocated space
Maintains queues of waiting programs
Allocates memory to programs that are next
to be loaded
Deallocates a program’s memory space upon
program completion
24. Chapter 13 13-24
Scheduling
High-level scheduling
Placed in queue based on level of priority and eventually
executed
Dispatching
Actual selection of processes that will be executed at any
given time
Preemptive – uses clock interrupts
Non-preemptive – program voluntarily gives up control
Context switching
Transfer control to the process that is being dispatched
Nonpreemptive: program voluntarily gives up control
Preemptive: uses clock interrupt for multitasking
Processing requirements
CPU vs. I/O bound
25. Chapter 13 13-25
Secondary Storage and Security
Secondary storage management
Optimizes completion of I/O tasks for efficient disk
usage
Combination of hardware and software
Security and protection services
Protect OS from users
Protect users from other users
Prevent unauthorized entry to system
Prevent unauthorized system use by authorized
users
26. Chapter 13 13-26
Network and Communication Services
TCP-IP protocol suite
Locate and connect to other computers
Access files, I/O devices, and programs from
remote systems
Support distributed processing
Network Applications
Email, remote login, Web services, streaming
multimedia, voice over IP telephony, VPN
Interface between communication software
and OS I/O control system that provides
network access
27. Chapter 13 13-27
System Administration Support
System configuration
and setting group
configuration policies
Adding and deleting
users
Modifying user
privileges
System security
Files systems
management
Network administration
Backups
Software installations
and upgrades
OS installations
(system generation),
patches, and upgrades
System tuning and
optimization
30. Chapter 13 13-30
Microkernel
Minimum essential functionality
Client-server system on same system
Clients request services from microkernel which
passes message onto appropriate server
31. Chapter 13 13-31
Mach OS Kernel
Microkernel implementation
Includes
Message passing
Interrupt processing
Virtual memory management
Scheduling
Basic set of I/O drivers
Macintosh OS X, IBM AIX on RS/6000
32. Chapter 13 13-32
Types of Operating Systems
Single user, single tasking
Single user, multitasking
Multi-user, multitasking
Distributed systems
Processing power distributed among computers in
a cluster or network
Network servers
Real-time systems
Embedded systems
33. Chapter 13 13-33
Bootstrapping
Execution begins with bootstrap loader
(mini-loader, IPL) stored in ROM
Looks for OS program in a fixed
location
Loads OS into RAM
Transfers control to starting location of
OS
Loader program in OS used to load and
execute user programs
35. Chapter 13 13-35
Copyright 2003 John Wiley & Sons
All rights reserved. Reproduction or translation of this
work beyond that permitted in Section 117 of the 1976
United States Copyright Act without express permission
of the copyright owner is unlawful. Request for further
information should be addressed to the permissions
Department, John Wiley & Songs, Inc. The purchaser
may make back-up copies for his/her own use only and
not for distribution or resale. The Publisher assumes no
responsibility for errors, omissions, or damages caused
by the use of these programs or from the use of the
information contained herein.”