Chapter 18
Three Operating Systems
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
Three Operating Systems
Microsoft Windows 2000/XP
UNIX and Linux
IBM zSeries z/OS
Microsoft Windows 2000/XP
Design Goals
Operating System Features
User Environment
Desktop Components
Windows 2000/XP Architecture
Overview
System Block Diagram
Logical Memory Map
Design Goals
Extensibility
Object-based modular design
Portability
Written in C and C++ to facilitate porting to other CPUs
Reliability
Kernel architecture design to protect from internal errors and buggy application programs
Downward compatibility
Compatible with earlier versions of Windows and DOS
Scalability and Performance
Supports symmetric multiprocessing
Operating System Features
Single user 32-bit or 64-bit, pre-emptive multi-tasking operating system
Powerful GUI that behaves consistently for local, network, and Internet use
Support for new capabilities
Multimedia, plug-and-play hardware, electrical power conservation
Manageable and secure file system with built-in recoverability options and is downwardly compatible
API that provides a wide range of services to simplify application development and ensure consistency
Built-in networking and a new distributed file system
Network server capabilities
User Environment
Simple for novice, powerful for advanced user
Tools, operations and applications that use the API behave in a consistent manner
Extensive context-sensitive help
User’s system parameters are modifiable
Applications and users have access to the same services and interface features
Tools and operations perform reasonably and
in an intuitive manner
Desktop Components
Windows 2000/XP Architecture
Modified microkernel-based
User mode
Environmental subsystems
Expose OS services to the user through an API
System support processes
Logon and user session management
Server processes
Protected (kernel) mode
Hardware abstraction layer
Kernel
Executive layer
Executive Layer
Object manager
Provides standardized interface for objects
Process manager
Virtual memory manager
I/O manager
Security reference monitor
All protected objects are monitored
Enforces validation procedures and audits
Local Procedure Call (LPC)
Control of all service requests and interprocess activities
Windowing and Graphics System
Manages Windows graphics
Provides Windows screen interface tools
Overview of Windows 2000
System Block Diagram
Logical Memory Map
UNIX and Linux
Design Goals
Pioneering Design Features
Operating System Features
User Environment
General Organization
Kernel operations
Design Goals
Easy-to-use, interactive, powerful, and flexible interface
Powerful programming tools
Compilers and associated tools
Use of small, simple utility programs to perform tasks and to construct more complex applications
Small and simple kernel together with a separate interface shell
Logical file system
Multi-tasking and multiuser capabilities
Simple system portability
Pioneering OS Design Features
Process creation and control
Separate shell for user interface
Hierarchical directory file system
Ability to combine small independent
software modules to accomplish a more
complex task
Operating System Features
Preemptive multitasking with multiuser capability, automatic scheduling, and background execution
User shells that provide an interactive
interface, commands, and programming tools
Interactive process creation and management
Hierarchical, tree-based file system
Kernel
Network administration tools
User Environment
Login
User name and password
Start-up file for user environment customizations
System, group, and user protections are set
Interface shells
Bourne shell, C shell, and Korn shell are the most commonly used
Command line prompt
X-Windows interface
Logins to remote UNIX computers
General Organization of a
UNIX System
Kernel Operations
Virtual storage and memory management
Process management
File management
I/O management
Networking and communication
Virtual Address Space for a
Process
IBM zSeries z/OS
Design Goals
Operating System Services
User Environment
User Interfaces
MVS Organization
Virtual Memory Map for a Task
Data Management
Design Goals
Maximize system performance and availability
Maximize amount of processing by
providing support for execution of batch programs
Minimize operator support effort
Reliability
Security
Virtual File System vs.
Socket Layered Structure
Operating System Services
Sophisticated resource allocation services and workload management
Data set management services
Job and task management
Virtual storage operation and management
Network services
Time-sharing support
System resource logging, auditing and accounting
Error detection, recovery, and logging
Reassignment of tasks and data to other resources in the event of an error or failure
System support programs and facilities
Security services
Large-scale cluster support
User Environment
BCP, Base Control Program
JCL, Job Control Language
TSO, Time Sharing Option
Used for program development and job preparation
JES, Job Entry Subsystem
Job submissions
ISPF, Interactive System Productivity Facility
Menu-driven facility that serves as an extension to TSO
CICS, Customer Information Control System
Application enabler that provides services to application programs that have been developed to work with it
UNIX
User Interfaces
MVS Organization
Virtual Memory Map for a Task
Data Management
Data sets
z/OS files
Sequential, random, or indexed sequential access
Fixed or variable size
Partitioned
Directory