OS/2 is one of those systems that lingers in the collective memory of computing with an almost mythic quality. Not because it vanished without leaving a mark, and not because it dominated the industry—rather because it existed at a crossroads, a moment when the future of personal computing felt wide open and undefined. For many who lived through its era, OS/2 represents both promise and persistence: a powerful, forward-looking operating system that never quite received the attention it deserved, yet left an unmistakable impression on those who used it. And even today, in an era of cloud systems and mobile devices, OS/2 still holds relevance—not merely as a historical curiosity but as a surprisingly capable and elegant operating system with descendants that continue to evolve.
This course—one hundred articles exploring the world of OS/2, from its origins to its architecture, its quirks, its innovations, and its modern-day legacy—begins with an appreciation for what made OS/2 special. To study this system is to study a very particular moment in the evolution of operating systems. It’s a window into the ambitions of the late 1980s and 1990s, when IBM and Microsoft briefly imagined a shared future and then diverged dramatically. It’s a story about technology, but also about culture, design philosophy, long-term thinking, and the stubbornness required to build something different in a world that rewards conformity.
Before we dive into the course material, it’s worth stepping back and exploring why OS/2 is still worth understanding—and why so many people who used it still speak about it with a kind of reverent nostalgia.
OS/2 was built with a vision that, in many ways, anticipated decades of operating-system design. It introduced features that many mainstream systems wouldn’t adopt until years later: true preemptive multitasking, a robust filesystem with extended attributes, a carefully designed graphical interface, strong attention to stability, and a level of memory protection that made it feel downright futuristic compared to the unpredictable world of early Windows.
In a sense, OS/2 feels like a glimpse into a path computing could have taken. It was designed during a period when the PC industry hadn’t yet decided what it wanted to be. Graphical environments were still finding their shape. Business systems demanded reliability. Home users were just beginning to explore what software could offer. Developers were experimenting with GUIs, device independence, and overlapping application models.
OS/2 answered these needs with a certain decisiveness. It wasn’t trying to be a toy. It wasn’t trying to be an add-on. It aimed to be a robust, professional operating system for serious computing—yet it did so without ignoring the needs of everyday users.
To appreciate OS/2, you need to understand its origins. In the mid-1980s, IBM and Microsoft collaborated on the next-generation operating system for the PC. DOS had been stretched thin. Windows, at that point, was more of an overlay than a true OS. The industry needed something with real multitasking, better memory management, and a path forward for application developers.
OS/2 was their joint answer. It was built with the intention of bringing professional computing to the masses. It was designed to be stable, modular, and forward-compatible. Its kernel was more sophisticated than anything in typical consumer systems of that era. Its API, Presentation Manager, offered a structured and elegant approach to graphical applications. And its shell, the Workplace Shell introduced in OS/2 2.x, became one of the most expressive desktop environments ever built.
But partnerships rarely last when visions diverge. Microsoft gradually shifted its attention to Windows. IBM pushed OS/2 forward on its own. The split became one of the defining turning points in OS history. And OS/2 continued evolving—even as Windows took over the mainstream—resulting in a system whose capabilities often exceeded the expectations of its time.
Ask anyone who used OS/2 in its prime, and one thing comes up again and again: stability. OS/2 didn’t crash easily. It didn’t freeze when one application misbehaved. It didn’t treat the user as an afterthought in its memory model. It tried—earnestly—to protect the integrity of the system.
In an era where the Blue Screen of Death was practically a cultural phenomenon, OS/2 felt refreshingly dependable. Its architecture favored isolation. Its multitasking model was built around the idea that tasks deserved time slices, not hopes and prayers. Even today, systems derived from OS/2 (like ArcaOS) maintain reputations for resilience.
Understanding this stability means understanding the deeper mechanics of the system—how processes are scheduled, how memory is handled, how interprocess communication works, why the Workplace Shell behaves the way it does. This course will unravel those details, not as abstractions, but as practical insights into good OS design.
If there is one feature of OS/2 that continues to fascinate people, it’s the Workplace Shell. Long before the average desktop environment embraced object-oriented design, OS/2 was using it to manage the entire user interface.
Files, folders, settings, applications—they weren’t just icons on a screen. They were objects with behaviors, methods, and properties. You could inherit behaviors. You could override defaults. You could extend the shell in ways that feel modern even now.
The Workplace Shell wasn’t a gimmick. It was a philosophy: treat everything as an object, expose its capabilities to the user, and make customization not only possible but natural. For many, OS/2 felt like an early version of what desktop environments would later become—if they had continued down the path of deep integration rather than layering abstractions.
While OS/2 may seem like a historical footnote to some, it remains alive in a very real sense. Enterprises continued using it long after mainstream consumer adoption faded. Banks, factories, transportation systems, and embedded environments relied on OS/2 and its descendants for their robustness and predictability. Even today, ArcaOS carries forward the OS/2 lineage, maintaining compatibility while updating the ecosystem for modern hardware.
This long tail of relevance makes OS/2 fascinating to study. It wasn’t just a visionary system that “could have succeeded.” It did succeed—in ways that remain invisible to many people. Its ongoing presence in critical systems speaks to the fundamentals of its architecture and design.
You might be wondering: why spend time learning a system that isn’t the mainstream choice today?
The answer is simple: understanding OS/2 reveals things about operating systems, about design philosophy, and about the evolution of computing that you won’t get from studying Linux, macOS, or Windows alone.
OS/2 teaches:
It also shows how ideas can be ahead of their time, and how ecosystems succeed or fail based on more than technical merit.
For developers, OS/2 exposes a programming model rooted in clarity and structure. For system enthusiasts, it offers insights into kernel design, scheduler mechanics, and memory models that are refreshingly coherent. For historians at heart, OS/2 provides a case study in ambition, rivalry, innovation, and missed opportunities.
And for anyone simply curious about how computing evolved, OS/2 provides context for the systems we use today.
While this introduction avoids technical instruction, the course itself will gradually move through every layer of OS/2:
But what matters most is the mindset you’ll gain: a holistic understanding of what OS/2 was trying to accomplish, and how those ambitions shaped the system’s design.
OS/2 isn’t just a piece of software. It’s a story—of collaboration, conflict, innovation, perseverance, and the unpredictable nature of technological history. It’s a system built by engineers who cared deeply about getting things right, even when the market didn’t always reward that approach.
To learn OS/2 is to appreciate that story. It’s to see how operating systems evolve not just because of their features, but because of timing, business decisions, competition, community, and culture. It’s a reminder that good ideas don’t always win, and that technical excellence doesn’t always guarantee dominance.
But it’s also a reminder that the impact of a system can endure long after its commercial peak.
By the end of this course, OS/2 won’t be a mystery or a myth. It will be a familiar environment—a system whose logic you understand, whose architecture you appreciate, and whose historical place you can articulate with clarity. You will see how its ideas continue to echo through modern systems, and you will understand why it still captures the imagination of those who used it.
This introduction marks the beginning of a journey into one of the most fascinating chapters in operating-system history. A chapter full of ambition, brilliance, hard lessons, and enduring innovation.
Take your time. Let the story unfold. OS/2 rewards curiosity and thoughtful exploration.
Let’s begin.
Beginner (Chapters 1-20):
1. Welcome to OS/2: A Historical Perspective
2. Installing OS/2: Setting Up Your System
3. The Workplace Shell: Navigating the OS/2 Interface
4. Working with Files and Folders: The OS/2 File System
5. Basic OS/2 Commands: A Command-Line Introduction
6. Customizing Your Desktop: Appearance and Preferences
7. Managing Applications: Installing and Running Programs
8. Printing in OS/2: Configuring Printers
9. Working with Text: Using Text Editors
10. Introduction to REXX: Basic Scripting
11. Understanding OS/2's Architecture: A High-Level Overview
12. Multitasking in OS/2: Running Multiple Programs
13. Memory Management: How OS/2 Handles Memory
14. System Configuration: Adjusting System Settings
15. Troubleshooting Common Issues: Basic Problem Solving
16. Connecting to a Network: Basic Networking Concepts
17. Introduction to OS/2 Warp: Features and Enhancements
18. Exploring the OS/2 Community: Resources and Support
19. Dual-Booting OS/2: Running Multiple Operating Systems
20. The Future of OS/2: Legacy Systems and Modern Emulation
Intermediate (Chapters 21-50):
21. The OS/2 File System: HPFS and FAT
22. Advanced File Management: Attributes and Permissions
23. REXX Scripting: Intermediate Techniques
24. The OS/2 Command Interpreter: Deeper Dive
25. Batch Files: Automating Tasks
26. Introduction to the OS/2 API: Programming Basics
27. Understanding Processes and Threads: Multitasking in Detail
28. Interprocess Communication (IPC): Sharing Data Between Programs
29. Memory Management: Advanced Concepts
30. Device Drivers: Interacting with Hardware
31. Configuring the Boot Process: Startup and Initialization
32. Working with the CONFIG.SYS File: System Configuration
33. Managing System Resources: Memory, CPU, and Disk
34. Networking in OS/2: TCP/IP and Other Protocols
35. Setting Up a Network Server: Sharing Resources
36. Remote Access: Connecting to OS/2 Remotely
37. Security in OS/2: User Accounts and Permissions
38. Backup and Recovery: Protecting Your Data
39. Performance Monitoring: Tools and Techniques
40. Understanding System Logs: Troubleshooting and Debugging
41. Introduction to the Presentation Manager: GUI Programming
42. Working with Dialogs and Windows: GUI Development
43. Event Handling: Responding to User Input
44. Graphics Programming: Drawing on the Screen
45. Multimedia in OS/2: Audio and Video
46. Database Connectivity: Accessing Databases
47. Developing Applications for OS/2: Tools and Techniques
48. Debugging OS/2 Applications: Finding and Fixing Errors
49. Optimizing OS/2 Performance: Tuning Your System
50. Exploring Different OS/2 Versions: Warp 3, Warp 4, and eComStation
Advanced (Chapters 51-80):
51. Advanced REXX Scripting: System Programming
52. The OS/2 Kernel: Deep Dive
53. Device Driver Development: Advanced Techniques
54. Memory Management: Advanced Topics
55. Process and Thread Management: Advanced Concepts
56. Interprocess Communication (IPC): Advanced Techniques
57. The Presentation Manager API: Advanced Programming
58. Advanced GUI Development: Custom Controls and Widgets
59. Graphics Programming: Advanced Techniques
60. Network Programming: Sockets and Protocols
61. Security in OS/2: Advanced Topics
62. Kernel Debugging: Analyzing System Errors
63. Performance Tuning: Advanced Techniques
64. System Programming: Low-Level Programming
65. Understanding the OS/2 Boot Process: Deep Dive
66. Working with the OS/2 Registry: System Configuration
67. Developing Multithreaded Applications: Concurrency
68. Object-Oriented Programming in OS/2: C++ and Other Languages
69. Compiler and Linker Tools: Building OS/2 Applications
70. Understanding the OS/2 API: Advanced Topics
71. Working with Libraries: DLLs and Shared Libraries
72. Exception Handling: Dealing with Errors
73. Memory Protection: Preventing Crashes
74. File System Internals: HPFS Deep Dive
75. Network Protocols: TCP/IP Deep Dive
76. Security Hardening: Protecting Your OS/2 System
77. Reverse Engineering OS/2 Applications: Analysis and Disassembly
78. Porting Applications to OS/2: Challenges and Solutions
79. Developing Device Drivers: Advanced Techniques
80. Customizing the OS/2 Kernel: Advanced Modifications
Specialized Topics (Chapters 81-100):
81. OS/2 for System Administrators: Managing OS/2 Systems
82. OS/2 for Developers: Building OS/2 Applications
83. OS/2 for Network Administrators: Configuring OS/2 Networks
84. OS/2 for Legacy Systems: Maintaining Older OS/2 Installations
85. OS/2 and Virtualization: Running OS/2 in a Virtual Machine
86. OS/2 and Emulation: Running OS/2 on Modern Hardware
87. OS/2 and Open Source: Exploring Open Source OS/2 Projects
88. OS/2 and the Future: The Role of OS/2 in Modern Computing
89. OS/2 and Java: Developing Java Applications for OS/2
90. OS/2 and the Internet: Connecting OS/2 to the Internet
91. OS/2 and Databases: Working with Databases in OS/2
92. OS/2 and Multimedia: Developing Multimedia Applications
93. OS/2 and Games: Playing Games on OS/2
94. OS/2 and Productivity: Using OS/2 for Productivity Tasks
95. OS/2 and the Workplace: Using OS/2 in a Business Environment
96. OS/2 and Education: Using OS/2 for Learning
97. Migrating to OS/2: A Guide for New Users
98. Troubleshooting OS/2: Advanced Problem Solving
99. The OS/2 Community: Resources and Support
100. The Future of OS/2: Legacy Systems and Modern Solutions