Presentation Transcript
Chapter 13Operating Systems: An Overview :Chapter 13Operating Systems: An Overview The Architecture of Computer Hardware and Systems Software: An Information Technology Approach
3rd Edition, Irv Englander
John Wiley and Sons 2003
Wilson Wong, Bentley College
Linda Senne, Bentley College
Bare Bones Computer System :Chapter 13
Operating Systems: An Overview 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
Integrated Computer Environment :Chapter 13
Operating Systems: An Overview 13-3 Integrated Computer Environment
Operating System – Basic Services :Chapter 13
Operating Systems: An Overview 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
Operating System – Additional Services :Chapter 13
Operating Systems: An Overview 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
Additional Services Required by Concurrent Processing :Chapter 13
Operating Systems: An Overview 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
OS Parts :Chapter 13
Operating Systems: An Overview 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
Simplified Diagram of Operating System Services :Chapter 13
Operating Systems: An Overview 13-8 Simplified Diagram of Operating System Services
OS Degree of Activity :Chapter 13
Operating Systems: An Overview 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
Hardware and the OS :Chapter 13
Operating Systems: An Overview 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
Single Job Processing :Chapter 13
Operating Systems: An Overview 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
OS Regains Control :Chapter 13
Operating Systems: An Overview 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
Single Job Processing :Chapter 13
Operating Systems: An Overview 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
Slide 14:Chapter 13
Operating Systems: An Overview 13-14
Concurrent Operations :Chapter 13
Operating Systems: An Overview 13-15 Concurrent Operations Multitasking (multiprogramming) vs. multiprocessing which implies multiple CPUs
Concurrent processing vs. simultaneous processing
Achieving Multitasking :Chapter 13
Operating Systems: An Overview 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
Sharing the CPU during I/O Breaks :Chapter 13
Operating Systems: An Overview 13-17 Sharing the CPU during I/O Breaks I/O represents a large percentage of a typical program’s execution
Time-sharing the CPU :Chapter 13
Operating Systems: An Overview 13-18 Time-sharing the CPU Time slicing
Services and Facilities :Chapter 13
Operating Systems: An Overview 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
User Interface and Command Execution Services :Chapter 13
Operating Systems: An Overview 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
File Management :Chapter 13
Operating Systems: An Overview 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
I/O Services andProcess Control Management :Chapter 13
Operating Systems: An Overview 13-22 I/O Services andProcess 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
Memory Management :Chapter 13
Operating Systems: An Overview 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
Scheduling :Chapter 13
Operating Systems: An Overview 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
Secondary Storage and Security :Chapter 13
Operating Systems: An Overview 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
Network and Communication Services :Chapter 13
Operating Systems: An Overview 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
System Administration Support :Chapter 13
Operating Systems: An Overview 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
Monolithic Kernel :Chapter 13
Operating Systems: An Overview 13-28 Monolithic Kernel Drawback: stability and integrity
Examples:
UNIX
Windows NT
Hierarchical :Chapter 13
Operating Systems: An Overview 13-29 Hierarchical Requests passthrough intermediatelayers
Examples
Multics
Data General
Microkernel :Chapter 13
Operating Systems: An Overview 13-30 Microkernel Minimum essential functionality
Client-server system on same system
Clients request services from microkernel which passes message onto appropriate server
Mach OS Kernel :Chapter 13
Operating Systems: An Overview 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
Types of Operating Systems :Chapter 13
Operating Systems: An Overview 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
Bootstrapping :Chapter 13
Operating Systems: An Overview 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
Bootstrapping :Chapter 13
Operating Systems: An Overview 13-34 Bootstrapping Cold vs.warm boot(does not retest the system)
Copyright 2003 John Wiley & Sons :Chapter 13
Operating Systems: An Overview 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.”