vms operating system

23
VMS Operating System Keith Gittings CS 450 Fall 2002

Upload: nissim-hewitt

Post on 02-Jan-2016

42 views

Category:

Documents


5 download

DESCRIPTION

VMS Operating System. Keith Gittings CS 450 Fall 2002. VMS Overview. History VMS Layers Processes Memory Management Deadlock Handling Windows NT and VMS Conclusion and Questions. VMS History. 1978 “One Platform, one operating system, one network” - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: VMS Operating System

VMS Operating System

Keith Gittings

CS 450

Fall 2002

Page 2: VMS Operating System

VMS Overview

• History

• VMS Layers

• Processes

• Memory Management

• Deadlock Handling

• Windows NT and VMS

• Conclusion and Questions

Page 3: VMS Operating System

VMS History

• 1978 “One Platform, one operating system, one network”– Digital Equipment Corporation released the VAX VMS

• VAX (Virtual Address Extension)– 32-bit system– Replaced aging 16-bit system PDP-11– “Star”

• VMS (Virtual Memory System)– Supported Virtual Memory– Developed to work on VAX architecture – Compatibility mode with PDP-11– “Starlet”

• DECnet– Provided peer-to-peer networking– Allowed for distributed computing

Page 4: VMS Operating System

VMS History

• VMS – Designed as the single operating system for the VAX– Replaced multiple operating systems for PDP-11

• RT-11. Used for real-time and laboratory work• RSTS-11. Used for educational and small commercial time-

sharing• RSX-11. Used for industrial and manufacturing control• MUMPS-11. Used in the medical system market• DOS-11. The original PDP-11 operating system; essentially

eclipsed by VMS.

Page 5: VMS Operating System

VMS History

• OpenVMS and VMS– Same operating system– VMS originally called VAX-11 VMS

• Referred to PDP-11 compatibility – VAX/VMS V2.0– OpenVMS

• Renamed with Alpha systems (64-bit)• OpenVMS V7.0 – Current Version

– Official name• OpenVMS VAX• OpenVMS Alpha

– Digital Equipment Corporation was bought by Compaq

Page 6: VMS Operating System

VMS Hardware Platforms

• VAX – 32-bit processor

• Alpha– 64-bit processor

• Intel Itanium– 64-bit processor– VMS is currently being ported for Itanium

• Intel Pentium– VMS was never officially ported for Pentium

Page 7: VMS Operating System

VMS Layers

• VMS utilizes a layered architecture• VMS consists of several layers

– Kernel– System Services– Record Management Services– Command Line Interpreter / Graphical User Interface

(GUI)

Page 8: VMS Operating System

VMS Layers

• VMS Kernel– Input/Output (I/O) subsystem

• Device-drivers• Handles device interrupts • Logs device time-outs

– Process Scheduler• Round-Robin Scheduling• Real-time Scheduling

– Memory Management• Demand-Paged Virtual Memory

Page 9: VMS Operating System

VMS Layers

• System Services– Coordination of I/O – Resource allocation– Inter-process communication

• The Record Management Services– General data management

• Creating, deleting, writing and reading files

– Ancillary Control Processes (ACPs) perform mass storage transactions

• Used to prevent conflict among processes

Page 10: VMS Operating System

VMS Layers

• Command Line Interpreter– Digital Command

Language (DCL)– Others available – DECwindows

(GUI)

Figure 2-2. The OpenVMS GUI Is Based on the Original DECwindows

Page 11: VMS Operating System

VMS Processes

• Process Control Block– Each process assigned a PCB at creation– Each process retains block until process end or

removal– PCB specifies

• Scheduling state• Privileges• User identification code (UIC)• Username• Process ID

• Data Protection– Accomplished with 35 privilege states divided into 7

categories

Page 12: VMS Operating System

VMS Processes

• VMS Quotas– Controls allocation of system resources– System services defines quota at process

creation time– Quotas protects against

• Too many processes trying to access CPU• A single process from being allocated too much

memory

Page 13: VMS Operating System

VMS Processes

• Process Scheduling– 32 (0 to 31) Priority levels– 0 to 15 are time-sharing processes

• Base priority of 4• Boosted a maximum of six priority levels

– I/O Bound processes generally boosted– CPU Bound processes generally operate near base

• Round Robin– Time quantum defines how long a process gets the CPU

Page 14: VMS Operating System

VMS Processes

• Process Scheduling (continued) – 16 to 31 are real-time processes

• Do not get boosted• Only pre-empted when higher process arrives or

the process issues a wait state• No Round-Robin Scheduling• When real-time processes are present the system

works entirely as a real-time system

Page 15: VMS Operating System

VMS Processes

• Cascading Termination– Parent termination causes child termination

• Process Deletion– Processes Delete themselves

• After they have completed• Called to delete themselves by another process (higher

priority)

• VMS Threads– User-level and Kernel-level threads

• Kernel-level threads– Not supported until Version 7.0 1995– Only supported on Alpha systems

Page 16: VMS Operating System

VMS Memory Management

• Virtual Memory– Allocating more memory than is physically

available

• VMS is Comprised of a Swapper and Pager– Pager (AKA Page Fault Handler)

• When a process demands a page not in memory a page fault is generated

• Pager brings virtual pages into physical memory

Page 17: VMS Operating System

VMS Memory Management

• The Swapper– Responsible for processes into and out of memory– Works with same criteria as pagers

• Higher processes gets priority

• Memory Allocation Unit– Memory Page Size

• Fixed– 512 bytes (VAX VMS)

• Variable – 8 to 64 kilobytes (OpenVMS Alpha)

– For compatibility 512 byte area “pagelet” is available

Page 18: VMS Operating System

VMS Deadlock Handling

• VMS Lock Manager1. Deadlock Suspicion

– A process becomes “suspicious” if the process does not resolve in a given time

2. Deadlock Detection– “Suspicious” processes are searched by lock manager and

determined to be deadlocked

3. Choose a Victim– Lock manager arbitrarily chooses a process to send a

deadlock error status.– Process is then responsible for resolving the deadlock

Page 19: VMS Operating System

Symmetric Multi-Processing

• Multiple threads can run on multiple processors

• Utilizes per-CPU data base– Data structure that manages processor

specific information– Assigns each processor number (0 to 31)

which corresponds to a particular bit• If that bit is clear then the cpu is free and should

attempt to select a process to execute

Page 20: VMS Operating System

Windows NT and VMS

• David Cutler – Chief architect of VMS – 1981 – Began Prism and Mica projects– 1988 – DEC cancels Projects– 1988 – Cutler and 20 top engineers go to Microsoft

• Some alleged Cutler took more than just engineers, the source code for Mica

– 1993 – Windows NT (“New Technology”) released• WNT was a pun on VMS (shift each letter one position in

alphabetical order)

Page 21: VMS Operating System

Windows NT and VMSSimilarities

VMS NT

32 Priority Levels 32 Priority Levels

Process Scheduler never lowers process priority below application’s programmed level

Process Scheduler never lowers process priority below application’s programmed level

Boosts priority levels Boosts priority levels

Supports SMP Supports SMP

Uses demand-paged virtual memory management scheme

Uses demand-paged virtual memory management scheme

Implements asynchronous packet-based I/O commands

Implements asynchronous packet-based I/O commands

Performance Monitor Performance Monitor

VMS Term NT Term

Interrupt Priority Level Interrupt Request Level

Asynchronous System Trap

Asynchronous Procedure Call

I/O Request Packet I/O Request Packet

Bug Check Bug Check

System Service System Service

Paged Pool Paged Pool

Nonpaged Pool Nonpaged Pool

Look aside list Look aside list

Page 22: VMS Operating System

Windows NT and VMS

• Differences– NT written Completely in C– NT supported kernel-level threads first

• Digital’s Response– Digital decides not to sue– Reaches Agreement with Microsoft

• Microsoft must – Train digital NT technicians– Promote NT and Open-VMS as two pieces of a three-tiered

client/server networking solution– Maintain NT support for Alpha processors

• Small Cash payout– 65 to 100 million

Page 23: VMS Operating System

Conclusion and Questions

• VMS operating system has existed for 25 years and looks to exist for many more

• Questions ?