Chapter 13
Operating Systems: An Overview
The Architecture of Computer Hardware and
Systems Software:
An Information Technology Approach
3rd Edition, Irv Englander
John Wiley and Sons 2003
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
Chapter 13
13-2
Integrated Computer Environment
Chapter 13
13-3
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
Chapter 13
13-4
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
Chapter 13
13-5
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
Chapter 13
13-6
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
Chapter 13
13-7
Simplified Diagram of Operating
System Services
Chapter 13
13-8
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
Chapter 13
13-9
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
Chapter 13
13-10
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
Chapter 13
13-11
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
Chapter 13
13-12
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
Chapter 13
13-13
Chapter 13
13-14
Concurrent Operations
Multitasking (multiprogramming) vs.
multiprocessing which implies multiple
CPUs
Concurrent processing vs. simultaneous
processing
Chapter 13
13-15
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
Chapter 13
13-16
Sharing the CPU during I/O Breaks
I/O represents a large percentage of a
typical program’s execution
Chapter 13
13-17
Time-sharing the CPU
Time slicing
Chapter 13
13-18
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
Chapter 13
13-19
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
Chapter 13
13-20
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
Chapter 13
13-21
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
Chapter 13
13-22
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
Chapter 13
13-23
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
Chapter 13
13-24
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
Chapter 13
13-25