The VMS Operating System CS 351: Operating Systems Spring 2001 Section 1 Chad Cruys, Joshua Krug, William Menke, Matt Stehle, Kenneth Ward
Overview of VMS Also known as OpenVMS Developed by Digital/Compaq First released in 1978 for the VAX system Later released for the Alpha system also (1992)
Overview of VMS The 32-bit operating system quickly gained popularity Ran on minicomputers and workstations Compaq has added many server applications to the OS Runs JAVA, Apache Server, and various servers
Overview of VMS A new design and marketing strategy of OpenVMS is to provide integration of VMS and Windows NT By partnering with Microsoft to develop NT and VMS integrated solutions, OpenVMS seems to continue to play a major role in enterprise information systems.
Success of VMS Compaq reports that 66% of fund transfers between banks take place on systems running VMS 90% of CPU manufacturers use VMS to run their assembly lines A large portion of stock transfers and many cellular phone billing services run on VMS systems VMS is the top rated healthcare operating system for real-time, mission critical computing
Technological Success OpenVMS set the bar for reliability and security Password security is unmatched by UNIX or Microsoft Provides security from denial-of-service attacks, hot-swappable hardware, and the ability to run multiple instances of the operating system on the same machine to increase reliability
Process State Structure The process state structure for VMS involves a process priority queue where processes are ranked in priority from 0 to is a high priority real-time process 0-15 is a normal process Normal processes are moved up in the queue if they are critical to the operating environment
Process State Structure States: suspended, executable, running, or waiting executable process would be similar to Stalling's ready state
Process State Structure A register called the processor status long word (PSL) contains information about the process information contained includes the current access mode, the current interrupt priority level (IPL), the stack alignment, and several reserved fields
Process State Structure The interrupt priority word contains a ranking at which one process may interrupt another There are four access modes: kernel (mode 0), executive (mode 1), supervisor (mode 2), and user (mode 3)
Symmetric Multiprocessing (SMP) Multiple processors used All processors perform simultaneously Prioritized processes
OpenVMS VAX processes Consist of: –individual address space –registers –code (executable image) Maximum of 8,192 per system Processes prioritized (0-31) –0-15 for time-sharing or not time critical –16-32 for real-time
OpenVMS Alpha Kernel Threads Consist of: –individual address space –registers –code (executable image) Maximum of 16,384 per system Kernel threads prioritized (0-63) –0-15 for time-sharing or not time critical –16-63 used for real-time
Interprocess Communication Shared memory sections Event flags Lock manager for queuing
Synchronization Facilities Uses locks –Access regulation shared address spaces shared I/O resources –Mutual exclusion Lock Manager –Multileveled locks –Asynchronous System Traps (ASTs) –Cluster systems RMS XQP Application programs
Synchronization Facilities (Cont.) System coordination –Shared resources –Updating data –Guarantees data integrity Multithreaded applications –DECthreads multiple threads executed at once concurrent processing mutexes condition variables coordinated access
File System Vital part of operating system –Link between hardware and software teams Timesharing system Separates from I/O operations –Initial opening of I/O –Update virtual-to-logical map
File System (Cont.) Files-11 On-Disk Structure (ODS) –Latest version ODS-5 –On-disk structures –CD-ROM volume file structures Random file access –Disk read access write access –CD-ROM read only access
File System (Cont.) Levels of On-Disk Structures –ODS-1 –ODS-2 –ODS-5 (latest) ODS-5 –Supports Extended File Specifications
Memory Management Two means for memory management in VMS –Swapper Controls number of processes in memory –Pager Moves pages in and out of memory
Pager Upon creation of a process, only necessary pages are moved into memory When a page fault occurs: –A process-local page replacement policy is used –FIFO replacement algorithm –Recently replaced pages are placed in cache
Memory Data Structure 32-bit virtual address –First two bits are the segment –Next 21 bits are the page –Last nine are the offset –512 bits per page
File Data Structures File ID –File Number –File Sequence Number –Relative Volume Number –File Number Extension
File Data Structures File Header –Header Area –Ident Area –Map Area –Access Control List Area –Reserved Area –End Checksum
Process Data Structures –Process Quotas –Privileges –User Identification Code –Username –Process ID –Process’ Scheduling Priority
Process Data Structures Virtual Address Space Description –Program –Control –System
Deadlock Permanent blocking of multiple processes Two causes –Competing for system resources –Attempting to communicate with each other Lock Manager –TRANSACTION TIMEOUT –Transaction services aborts if time limit exceeded
Scheduling Three parts –Process Time –Process Priority –Process State
Scheduling Time –Round-robin with preemption –QUANTUM –Quantum remaining field 10-milliseconds timer interrupt called and remaining value is decremented 0 means next process in queue is scheduled to run
Scheduling Priority 0-15 (Normal processes) –If a resource is needed, it can get a boost of up to 6 priority points –i.e. I/O-bound can get boost, CPU-bound can’t (Real-time processes) –No boosting allowed
Scheduling State Similar to Stallings’ states –Readily computable vs. Waiting for resource –Memory resident vs. Must be swapped into memory