IBM OS/2 Warp Mike Storck Matt Kerster Mike Roe Patrick Caldwell
OS/2 Overview Developed by IBM and Microsoft Microsoft later dropped out to start Windows 3.1 OS/2 was originally created to replace DOS as the operating system of choice The OS/2 Warp was first developed in 1993.
Environment and Use It was originally designed to run on the 286 processor. Later versions ran on the 386 processor. OS/2 Warp is used by banks and in other places where money is being handled and reliability is absolute necessary. Used more by businesses
Economic and Commercial Success OS/2 Warp had a brief period of economic success with the release of the OS/2 Warp 3. Overall OS/2 Warp was not economically successful. IBM marketed the OS/2 Warp very poorly which was a major reason for the failure of the system.
What’s Bad About the OS/2 Warp? Not enough software written specifically for the OS/2 Warp. The reason for this is Microsoft’s relentless attempt to discourage people from using the product, especially preventing software developers from publishing products for it. Many installation problems
What’s Good about the OS/2 Warp? The OS/2 Warp 3 was the first PC operating system to have built in internet support. The OS/2 Warp Connect had full network support right out of the box for all major protocols. –IPX, TCP/IP, and NetBIOS OS/2 Warp 4 –Good GUI. –A full Java Development Kit, which included a Java Virtual Machine
What’s Good Continued The OS/2 Warp 4 also included VoiceType Dictation system, which allowed users to navigate their computer and dictate text to their computer without ever touching a keyboard or mouse. Very reliable and would rarely see the blue screen of death that you so often see with windows. All in all it is a very good product, but failed to make it big because of horrible marketing and Microsoft’s determination to make it fail.
Processor Scheduling OS/2 uses a mix of priority scheduling and round-robin Threads placed into one of four priority classes Within each priority class there are 32 priority levels Threads with higher priority will preempt a lower priority thread
Priority Classes Time-Critical - Highest priority class. Threads in a ready state will be on the processor in no more than 6 ms Server - Ensures that threads that have a client program waiting a response are not held up by regular priority threads Regular – Majority of threads are in this priority class. Priority level can be changed. Idle – Lowest priority, only runs when no other work is able to be performed by the system
Scheduling within classes Within a class, priority level used to determine if a thread runs Within a priority level, threads use round- robin scheduling Threads will run for entire timeslice until blocked or preempted Timeslice can be configured by the user
Process States Running - the thread that is currently selected to run according to the OS/2 priority scheme, in other words using the processor. Ready to run – waiting to be running Blocked - awaiting the completion of an event.
Process Model OS/2 uses a multi-thread process model Advantages over single-thread –Since threads share the process's resources, thread creation is far less expensive –Threads within a process enjoy a tightly coupled environment –When a thread is created, the system doesn't have to create a new virtual address space or load a program file, resulting in an inexpensive concurrent execution path
Interprocess Communication Protocols (ICPs) Anonymous Pipe - used mostly by parent processes to communicate with their descendants by passing the file pointers through inheritance Named Pipes - provide two-way communications among unrelated processes either locally or remotely. The server side creates the pipe and waits for the clients to access it. Queue - allows byte stream packets written by multiple processes to be read by a single process. (FIFO, LIFO, priority) Shared Memory - provides facilities for the creation of named shared segments.
Processor Support OS/2 Warp supports the use of a single or multiple processors. Supports Symmetric Multiprocessing (SMP). SMP allows a single process to run simultaneously on multiple CPU’s to increase performance.
Processor Modes OS/2 Warp has four processor modes: Ring 0, Ring 1, Ring 2, and Ring 3. Ring 0 and Ring 3 are the most predominantly used modes. Ring 0 is the supervisor mode (kernel mode) of the OS that handles interrupts, I/O, and device drivers. Ring 3 is the user mode that handles user applications.
Processor Modes cont. Ring 1 has no implementation. Ring 2 is a combination of Ring 0 and Ring 3 modes although its functionality is tied more closely to Ring 3. For example: Ring 2 code could sometimes allow for direct I/O
The End of OS/2 Effective December 23, 2005 IBM will no market OS/2 and support will end December 31, 2006 There is a movement to have OS/2 converted to open source. Unlikely however since Microsoft would most likely be unwilling to have their code open sourced.
Fin