The VMS Operating System CS 351 Operating Systems

  • Slides: 31
Download presentation
The VMS Operating System CS 351: Operating Systems Spring 2001 Section 1 Chad Cruys,

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 Open. VMS Developed by Digital/Compaq First

Overview of VMS • • Also known as Open. VMS 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

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 email servers

Overview of VMS • A new design and marketing strategy of Open. VMS is

Overview of VMS • A new design and marketing strategy of Open. VMS is to provide integration of VMS and Windows NT • By partnering with Microsoft to develop NT and VMS integrated solutions, Open. VMS 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

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 • Open. VMS set the bar for reliability and security • Password

Technological Success • Open. VMS 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

Process State Structure • The process state structure for VMS involves a process priority queue where processes are ranked in priority from 0 to 31 • 16 -31 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

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

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 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

Symmetric Multiprocessing (SMP) • Multiple processors used • All processors perform simultaneously • Prioritized processes

Open. VMS VAX processes • Consist of: – individual address space – registers –

Open. VMS 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

Open. VMS Alpha Kernel Threads • Consist of: – individual address space – registers

Open. VMS 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

Interprocess Communication • Shared memory sections • Event flags • Lock manager for queuing

Synchronization Facilities • Uses locks – Access regulation • shared address spaces • shared

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 –

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

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 –

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 –

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

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

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

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 –

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

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 Data Structures – Process Quotas – Privileges – User Identification Code – Username – Process ID – Process’ Scheduling Priority

Process Data Structures • Virtual Address Space Description – Program – Control – System

Process Data Structures • Virtual Address Space Description – Program – Control – System

Deadlock • Permanent blocking of multiple processes • Two causes – Competing for 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 • Three parts – Process Time – Process Priority – Process State

Scheduling • Time – Round-robin with preemption – QUANTUM – Quantum remaining field •

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,

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 • 16 -31 (Real-time processes) – No boosting allowed

Scheduling • State • Similar to Stallings’ states – Readily computable vs. Waiting for

Scheduling • State • Similar to Stallings’ states – Readily computable vs. Waiting for resource – Memory resident vs. Must be swapped into memory