OS2-by-Mike-Roe-Patrick-Caldwell-Mike-Storck-Matt-Kerster

Download Report

Transcript OS2-by-Mike-Roe-Patrick-Caldwell-Mike-Storck-Matt-Kerster

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