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