Thread View: pyr.syseng
1 messages
1 total messages
Started by Fred Voss
Tue, 28 Jul 1992 15:55
OSx Kernel Debugger Classes
Author: Fred Voss
Date: Tue, 28 Jul 1992 15:55
Date: Tue, 28 Jul 1992 15:55
104 lines
5487 bytes
5487 bytes
Pyramid Educational Services, in Mountain View, is scheduling two OSx Kernel Debugger courses on the following dates: August 27 and 28 September 17 and 18 If you wish to sign up for either of these two courses, please call Donna Pantaleoni, Registrar at 1-800-843-9058 or extension x8388. Each course spans two days and includes the following topics and objectives: List the functions of the OSx kernel. Define the term panic as it relates to the OSx operating system. Identify the potential causes of a system panic. Describe the layout of Pyramid physical memory. Describe the function of the CPU data cache and instruction cache. Define the purpose of the kernel debugger. Describe five ways to invoke the kernel debugger. Describe how the PCOS/COS bootflag affects the kernel debugger. Describe the creation process of a vmcore file. Configure the system to automatically generate a vmcore following a system panic. Describe the steps to manually create a vmcore with the /etc/savecore utility. List the differences between the kernel debugger and the /etc/crash utility. List the possible settings for the variable DUMPTHESE. Create a new kernel which has the kernel debugger included in the compilation. Generate an executable program based on the Pyramid OSx instruction set. List the components of a Pyramid OSx instruction. Use the Pyramid Technology Architecture Manual to decode an OSx instruction. Correlate a source code program written in the C programming language to its disassembled instruction set. Describe the a.out format of an executable program. Describe the virtual memory map of a process. List twelve key elements of the proc structure. List the five process region types in OSx. Describe which portions of a process may be swapped. Describe the purpose and construction of a process control stack. List the special control stack registers involved in a system interrupt routine. List the special control stack registers involved is a system exception (trap) situation. Based on the Pyramid Technology System Architecture Manual description of system exceptions, list the values placed into the first 6 temporary registers. Describe two situations in which the data stack would be used. Describe the purpose and construction of the process control block (PCB). Describe the contents of the process status word (PSW). Draw a diagram of the relationships between the following kernel tables and label the structure elements involved in the relationships: proc table, pregion table, region table, rlists and the pde tables. List twelve key elements of the user (u_area) structure. Draw a diagram of the relationship between the user structure and the system open file table. Based on the Pyramid Technology System Architecture Manual descriptions of the global process table (GPT), the level 1 process memory resident table (PMRT) and level 2 PMRT, list the steps to convert a virtual address to a physical address. Using the gpid element of a proc structure for a selected process, determine the physical address of the u_area of that process. Describe the use of the general kernel debugger and /etc/crash commands. List the elements in a 'panic fingerprint'. Using the kernel debugger or /etc/crash, list the active processes in the system or captured by the vmcore image. Identify the information provided for each process in the listing. With /etc/crash, selectively list related processes based on the following common attributes: process id, state, wait channel, tty or name. (NOTE THE DIFFERENCE IN SYNTAX FOR THE KERNEL DEBUGGER). In /etc/crash, determine which process is the 'current' process. Describe two methods of changing to a new 'current' process. Print the proc structure elements for a selected process. Print the control stack trace of a process and describe function calling sequence in the stack. Identify the information provided for each control stack frame. Change the control stack pointer to a different control stack frame. Display the registers for a particular control stack frame. Display the contents of a virtual address in the following formats: hex, ASCII, string, disassembled code. Use the ps command to print structures listed in the directory /usr/crash/ lib. Create a tailored structure description for a kernel structure type. List the kernel debugger commands that display specific kernel structures. List the command unique to the kernel debugger and describe their usage. Force a system panic through the kernel debugger. Change the dump size and dump device for a system through the kernel debugger. List the initial steps in debugging all panics. Define the use of kernel semaphores. List the initial steps in debugging a Semaphore Time-out panic. For a vmcore, explain the values held in the array savesemas[]. Use a tags file in a source code directory to pinpoint the source code instructions that correlate to the disassembled code from a panic process control stack frame. (NOT A TRIVIAL TASK). --
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads