OS/2 Warp Chris Algire Jonathan Depner Daniel Kvitko Jason Shifflett Ryan Slominski
Introduction OS/2 was a revolutionary operating system when it was introduced The 1st to do the following: Break the 640KB memory barrier Support 32-bit Support multitasking on the desktop Automatically detect deadlocks IBM and Microsoft Project was a collaboration between IBM and MS Partnership led to OS/2’s demise Microsoft’s OS proved to be easier to use Since the partnership between the two companies lasted even after Microsoft left the project, IBM was forced to include support for Microsoft’s OS with OS/2 As a result, most Wintel machines today can operate using OS/2 Current use OS/2 evolved to OS/2 Warp 4 and today is in use in corporate environments due to its stability which rivals that of Unix
Processor Info Intel Architecture OS/2 Warp utilizes modes 0, 2, 3 Four processors modes, 0-3, where zero has highest privilege OS/2 Warp utilizes modes 0, 2, 3 Mode 0 Kernel mode Unrestricted direct access to hardware Mode 2 Restrictive kernel mode Limited direct access to output devices Mode 3 User mode No direct access to hardware; higher privileged modes must handle hardware access on behalf OS/2 Warp supports uniprocessing and symmetric multiprocessing
File Structures Native File System: High Performance File System (HPFS) File Structures: Fnode, Run, B+ Tree Fnode-run representation B+ tree representation with Fnode as root
Memory Management 32-bit Flat memory model Max 512 MB per process Fixed size 4K pages Backwards compatible 16-bit
Memory Data Structures Page Table Directory (bits 22 – 31) Page Table (bits 12 – 21) Page Frame (bits 0 - 11) Hard Disk Main Memory PT PTD PF Physical Location PT PT
Scheduling Preemptive-Priority Round Robin Four Categories of Priorities Time Critical TimeSlice 8 milliseconds , 8 milliseconds Server Class TimeSlice 32 milliseconds , 248 milliseconds Regular Class Idle Class Priority Increases every 3 seconds Command Prompt PSTAT Config.sys file commands MAXWAIT = nnn TIMESLICE = x, y
Synchronization OS/2 implements 3 basic control structures: semaphores queues pipes OS/2 primarily uses the semaphore Two types of semaphores: RAM semaphore System semaphore
Synchronization (cont.) RAM Semaphore Located in the process’ main memory space Accessible by all threads Faster than system semaphores in access time System Semaphore Stored outside the address space of any process Slightly slower than RAM semaphores Can be used as counting semaphores
Handling deadlocks in OS/2 Prevention Round-robin scheduling algorithm dynamic time quantum for each process Each process is assigned a priority level The round-robin algorithm first services highest priority processes then the lower level priority processes Semaphores Avoidance Avoiding race conditions through the following mechanisms: Memory over-commitment – the OS allocates more memory to the process through swapping lower level priority processes out of memory into disk. Implements least-recently used algorithm to swap processes in and out of disk. Detection Each process has a unique signal handler
Future of OS/2 warp Lacks device support E- commerce OS/2 warp 4 is the last forcible version Platform independent applications WebSphere Convenience Packages Cost efficient
END