CN17460C/N1760 - 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.

Topics

 * 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

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

Download
N/A