OS/2 Warp: Problem Determination / Application Trap Analysis Test 114 TEST INFORMATION: - Elective for Certified OS/2 Engineer - Number of questions: 254 - Passing % Score: NA* - Length (in minutes): 240** PREPARATION: - IBM Courses P1190 Problem Determination Application Trap Analysis for OS/2 WARP * Test is a beta test, this information is not yet available. **Average time is approximately two hours OS/2 Warp: Problem Determination / Application Trap Analysis Test 114 Objectives Version 1 SECTION 1 - 386 HARDWARE FAMILY PROTECT-MODE EXECUTION . - Describe 80386 addressing: 'Near' and 'Far', V86 and protected mode data storage. - List the register set and explain their use. - Illustrate instruction execution in general. - Explain selectors and application descriptors: content, operation. SECTION 2 - HARDWARE RELATED CONTROL BLOCKS - Identify system descriptors: GDT, LDT, TSS, Call Gate (Irpt, Trap, Task Gates). - Describe the page directory and page tables. - Define hardware exceptions: 8, C, D, E. SECTION 3 - OS/2 ARCHITECTURE AND PROGRAMMING ENVIRONMENT - Illustrate the address space layout, including virtual storage and paging. - Describe 16-bit and 32-bit addressing and thunking. - Define the Process: LDT, Page Tables - Define the Thread: priority, stacks. SECTION 4 - PROBLEM ANALYSIS: SOFTWARE CONVENTIONS - Explain stack conventions: C, Pascal, OS/2 2.x systems, and OPTLINK. - Identify stack content: 16 bit stack. - Identify stack content: 32 bit stack. - Identify stack content: mixed mode stacks. - Describe the API Call and CallGate operation. SECTION 5 - OS/2 INTERNAL DEBUGGING FACILITIES - Demonstrate the obtaining of a storage dump. - List the OS/2 System Trace options: specifying the buffer, selective tracing, formatting. - Install and configure the debug kernel. - Define the dump analysis tools: DF and PMDF. - Explain how to specify an address. - Demonstrate how to display instructions. - Describe how to display data. SECTION 6 - OS/2 CONTROL BLOCKS - Describe the Module Table Entry (MTE). - Explain the Swappable Module Table Entry (SMTE). - Identify the Segment Table (SEGTAB). - Explain semaphores (16 and 32 bit). SECTION 7 - PERFORMING PROBLEM SOURCE IDENTIFICATION - Find the failing instruction in a dump. - Describe how to obtain control via the debugger at the point of failure. - Explain the reasons why an instruction fails to execute. - Demonstrate how to 'unwind' the stack to determine caller and parameters. - Identify the owner of a semaphore for which a thread is waiting. OS/2 Warp: Problem Determination / Application Trap Analysis Sample Test 114 Version 1 SECTION 1 - 386 HARDWARE FAMILY PROTECT MODE EXECUTION 1. Which type of address specifies a selector and a 16-bit offset? a. far b. near c. long d. real 2. Which list has ONLY general registers? a. AX, CX, DS, SI b. EAX, BX, DI, EBP c. ESP, IP, EDX, CS d. EBX, SP, BP, GDTR 3. What is the requested privilege level (RPL) of selector D0DF? a. 0 b. 1 c. 2 d. 3 SECTION 2 - HARDWARE RELATED CONTROL BLOCKS 4. What does the GDTR contain? a. The 32-bit size of the GDT b. The selector and offset of the GDT c. The linear address and limit of the GDT d. The physical address and limit of the GDT 5. When an access exception involving the stack is detected in the descriptor tables, a trap ________ occurs. a. C b. D c. E d. 2 6. Which is an 8 bit Register? a. DL b. BX c. BP d. IP 7. Given the instruction: LDS SI,›BP+4| what will be loaded in SI and DS? a. SI will be loaded from SS:›BP+4| and DS from SS:›BP+6| b. SI will be loaded from SS:›BP+6| and DS from SS:›BP+4| c. SI will be loaded from DS:›BP+4| and DS from SS:›BP+6| d. SI will be loaded from DS:›BP+6| and DS from SS:›BP+4| SECTION 3 - OS/2 ARCHITECTURE AND PROGRAMMING ENVIRONMENTS 8. In OS/2, a fixed-high priority class thread a. is never pre-empted b. can pre-empt a time critical class thread c. is pre-empted by any time critical class thread d. may be pre-empted to allow an idle time class thread to run 9. In an OS/2 system, a linear address less than 00010000 is a. normally invalid b. used for system tables c. used for 16-bit programs d. used for memory-mapped I/O 10. In an OS/2 system, each process has a. A private copy of the MFT b. Private addresses through the LDT c. Kernel addresses through the LDT d. A private copy of the GDT 11. Threads within a process have unique a. GDT indexes b. Callgates c. Registers d. LDT indexes SECTION 4 - PROBLEM ANALYSIS: SOFTWARE CONVENTIONS 12. What cleans up the stack according to the PASCAL linkage convention? a. called function b. calling function c. memory compaction d. the paging system 13. What cleans up the stack according to the "C" linkage convention? a. called function b. calling function c. memory compaction d. the paging system SECTION 5 - OS/2 INTERNAL DEBUGGING FACILITIES 14. To enable the system trace, you must specify ________ in CONFIG.SYS. a. TRACE=YES b. TRACEBUF=nn c. TRAPDUMP=ON d. TRACEDUMP=ON 15. You must specify ________ in CONFIG.SYS to cause a system dump when an application without an exception handler traps. a. TRAPDUMP=ON b. TRACEFMT=ON c. SUPPRESSPOPUPS=ON d. AUTOFAIL=YES 16. The kernel debugger a. is really a device driver. b. runs in privilege level 1. c. replaces the normal kernel. d. cannot be used to debug applications. SECTION 6 - OS/2 CONTROL BLOCKS 17. What data is in an MTE? a. whether the module is using recursion b. the disk address of the module header c. whether the module is 16-bit or 32-bit d. the process ID that is using the memory 18. Which statement about a PTDA is true? a. It is the key control block for each thread. b. It is the key control block for each process. c. It is the page table data area, used to locate swapped pages. d. It is the process trap definition area, used during exceptions. 19. Which statement about an SMTE is true? a. It is a shared memory table entry kept by process. b. It is the swappable portion of the Module Table Entry. c. It is the SOM method table entry, used to locate functions d. It is a shared memory table entry used by several processes. 20. To find the stack frame belonging to the function which called a failing function, you must a. use the link map and the application listing. b. step through the instructions preceeding the call. c. get its address from storage, usually at SS:(E)BP. d. put print statements into either of the functions. ANSWER KEY: 1. a 2. b 3. d 4. c 5. a 6. a 7. a 8. c 9. a 10. b 11. c 12. a 13. b 14. b 15. a 16. c 17. c 18. b 19. b 20. c