CN17460C/N1760 - OS/2 2.x for 1.x Developers

From Wiki
Jump to: navigation, search

Course N1746 - OS/2 2.x for 1.x Developers


This advanced course will help experienced OS/2 developers make a smooth transition to the 32-bit environment. You'll learn how to design, build, and test applications in this new environment through lectures, lab exercises and demonstrations. This is not a general overview of OS/2 Version 2.X. It is not intended for those without prior OS/2 experience. Those without OS/2 experience should attend OS/2 2.X for Software Developers (N1740).

How you will benefit

Learn how to design, build, and test applications using the 32-bit version of OS/2.


  • Introduction and Memory Models
    • Introduction to the workshop
    • Introduction to OS/2 2.X
    • Review of OS/2 concepts
    • Memory management in OS/2 2.X
    • API calls for memory management
    • Laboratory exercise
      • 16-bit application
      • Conversion of 16-bit to 32-bit application
      • Allocation of private memory objects
      • Allocation of shared memory objects
      • Accessing shared memory objects
      • Suballocation
  • Threads and Semaphores
    • Lab review
    • Thread management
    • Semaphores
    • Laboratory exercise
      • 32-bit semaphores, threads, and timers
      • Thread priority
      • Thread synchronization
      • MuxWait semaphore setup
      • Edge/level operation of event semaphore
  • IBM C Set/2 Compiler
    • IBM C Set/2 compiler
    • Laboratory exercise
      • malloc, _alloca, and DosSubAlloc
      • Conversion of MuxWait semaphore setup to multithread library
      • Buffering of printf
  • Queues, Signals, and Exceptions
    • Queues
    • Laboratory exercise
      • Data transport through queues
    • Signals and exceptions
    • Laboratory exercise
      • Signal handling
      • Signals for error recovery
      • Building a dynamically linked DLL
      • Building a statically linked DLL
      • Building a subsystem
  • Dynamic Link Libraries
    • Performance considerations
    • DLL's and automatic data segments
    • Exception handlers


This course requires C programming language and OS/2 programming experience. The OS/2 programming experience can be obtained in OS/2 2.X for Software Developers (N1740). You should also understand threads, critical sections, suspend/resume, parent/child process relationships, named and unnamed shared memory, creation of DLL modules, and synchronization using semaphores in the OS/2 1.3 environment.