                                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

