Test 123: OS/2 Warp Kernel

Objectives

 * SECTION 1 - MULTI-TASKING AND PROGRAM CONTROL
 * Discuss the difference between pre-emptive and cooperative multitasking.
 * Distinguish the differences between sessions, processes and threads.
 * Discuss the concepts of parent, child and sibling processes.
 * Describe OS/2's multilevel priority architecture.
 * Examine how a multithreaded process model can be used to promote greater overlap of I/O requests.
 * Examine the conditions that can cause general protection faults.
 * Discuss the uses of OS/2 exitlists and OS/2 exception handlers and why they are necessary.


 * SECTION 2 - MEMORY MANAGEMENT
 * Explain the concepts of virtual address space and real address space.
 * Discuss the concepts of run-time shared memory, load-time shared memory, named shared memory, and give-get shared memory.
 * Distinguish between committed and uncommitted pages, and allocated and unallocated pages.
 * Discuss the performance implications of using OS/2 memory suballocation.
 * Discuss the different states of a page frame.
 * Explain the usage of a guard page.


 * SECTION 3 - FILE SYSTEM AND EXTENDED ATTRIBUTES
 * Discuss the different characteristics of the File Allocation Table system (FAT) and the High Performance File system (HPFS).
 * Demonstrate knowledge of using OS/2 APIs to open, read, write, and close a file.
 * Demonstrate knowledge of using OS/2 APIs to manage a file pointer, whether random or sequential.
 * Discuss the use of the standard file handles in OS/2.
 * Explain the usage of the extended attributes in OS/2.


 * SECTION 4 - MESSAGE (NLS-ENABLING)
 * Describe how message files are used to facilitate NLS support.


 * SECTION 5 - SEMAPHORES
 * Summarize the differences between event and mutex semaphores.
 * Distinguish between private semaphores and shared semaphores.
 * Explain the uses of the 3 different types of semaphores (Mutex, Event, and Muxwait).


 * SECTION 6 - INTER-PROCESS COMMUNICATIONS
 * Discuss the use of shared memory for Inter-Process Communications (IPC).
 * Distinguish between anonymous and named pipes.
 * Discuss the uses of anonymous pipes.
 * Discuss the uses of named pipes.
 * Distinguish between queue owners and writers.
 * Discuss the uses of OS/2 queues.


 * SECTION 7 - TIMERS and DEVICE I/O
 * Explain the need and uses of device drivers.
 * Describe the use of the I/O Control Interface (IOCtl).
 * Explain why OS/2 device drivers must be re-entrant.


 * SECTION 8 - DYNAMIC LINKING
 * Differentiate between static and dynamic linking.
 * Differentiate between load-time and run-time dynamic linking.
 * Classify the different types of DLL data and how the data is accessed.
 * Differentiate between run-time memory and load-time memory.