13. Operating Systems
Download
Report
Transcript 13. Operating Systems
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
Operating Systems: An Overview
13-2
Integrated Computer Environment
Chapter 13
Operating Systems: An Overview
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
Operating Systems: An Overview
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
Operating Systems: An Overview
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
Operating Systems: An Overview
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
Operating Systems: An Overview
13-7
Simplified Diagram of Operating
System Services
Chapter 13
Operating Systems: An Overview
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
Operating Systems: An Overview
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
Operating Systems: An Overview
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
Operating Systems: An Overview
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
Operating Systems: An Overview
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
Operating Systems: An Overview
13-13
Chapter 13
Operating Systems: An Overview
13-14
Concurrent Operations
Multitasking (multiprogramming) vs.
multiprocessing which implies multiple
CPUs
Concurrent processing vs. simultaneous
processing
Chapter 13
Operating Systems: An Overview
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
Operating Systems: An Overview
13-16
Sharing the CPU during I/O Breaks
I/O represents a large percentage of a
typical program’s execution
Chapter 13
Operating Systems: An Overview
13-17
Time-sharing the CPU
Time slicing
Chapter 13
Operating Systems: An Overview
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
Operating Systems: An Overview
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
Operating Systems: An Overview
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
Operating Systems: An Overview
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
Operating Systems: An Overview
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
Operating Systems: An Overview
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
Operating Systems: An Overview
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
Operating Systems: An Overview
13-25
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
Chapter 13
Operating Systems: An Overview
13-26
System Administration Support
System configuration
and setting group
configuration policies
Adding and deleting
users
Modifying user
privileges
System security
Files systems
management
Chapter 13
Operating Systems: An Overview
Network administration
Backups
Software installations
and upgrades
OS installations
(system generation),
patches, and upgrades
System tuning and
optimization
13-27
Monolithic Kernel
Drawback: stability
and integrity
Examples:
UNIX
Windows NT
Chapter 13
Operating Systems: An Overview
13-28
Hierarchical
Requests pass
through
intermediate
layers
Examples
Multics
Data General
Chapter 13
Operating Systems: An Overview
13-29
Microkernel
Minimum essential functionality
Client-server system on same system
Clients request services from microkernel which
passes message onto appropriate server
Chapter 13
Operating Systems: An Overview
13-30
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
Chapter 13
Operating Systems: An Overview
13-31
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
Chapter 13
Operating Systems: An Overview
13-32
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
Chapter 13
Operating Systems: An Overview
13-33
Bootstrapping
Cold vs.
warm boot
(does not
retest the
system)
Chapter 13
Operating Systems: An Overview
13-34