IBM OS2 Warp Mike Storck Matt Kerster Mike
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 Net. BIOS • 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 Voice. Type 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 roundrobin 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
- Slides: 18