[Brandon University crest][The famous "Halfway Tree" of the Prairies, between Winnipeg and Brandon]


KModel
 


Site Map

  Kmodel Home  
  - Download
  - Installation
  - Javadoc

  Hardware Model
  - Serial  
  - Timer  
  - Disk  

  Kernel Design  
  - Modules  
  - User Process  
  - Kernel Entry  
  - Kernel Call  
  - Handles  
  - Signals

  Components  
  - Processes  
  - Console  
  - Timer  
  - Disk  

  File System  
  - Disk Layout
  - Buffer Cache
  - Inode Cache
  - Standard Files
  - Vnodes

  Study Questions  

 

 

Study Questions

Briefly define the role of each of the following components in the KModel design.

  1. Bus, Port and PortAdapter
  2. Controller
  3. DiskController, Serial Controller and TimerController each contain a class that executes as a thread (SerialController has two). What is the role of these thread classes?
  4. KernelLock
  5. Handle and its subclasses HandleFile and HandleProcess
  6. Memory
  7. Buffer

Each of the following modules contains system calls -- methods named using the pattern sys_xxx. Describe the function of the set of system calls implemented by each module.

  1. ModuleFileSystem
  2. ModuleMount
  3. ModuleProcess
  4. ModuleStdio

Each of the following modules contains system calls and an interrupt handler. Describe the function of these modules

  1. ModuleDevHD
  2. ModuleSerial
  3. ModuleTimer

Describe the relationship that exists between each of the following classes. What is the purpose of each relationship? Under what circumstances do the classes interact?

  1. Buffer, BufferAllocator and KernelDeviceBlock
  2. FileSystem, InodeAllocator, KernelDeviceBlock, and FSSuperBlockStruct
  3. InodeAllocator and FSInode
  4. FSInode and Buffer
  5. VnodePipe, PipeBuffer and KernelDevPipe
  6. ModuleProcess and PCB
  7. ModuleSVC, Process, SysLib and InterruptMechanism

Create a table that describes how each class in the kernel package is used. For each class, show 

  1. The classes that contain an instance of the class in question and whether the relationship is transient or permanent, one-to one or one-two-many. Indicate if the instance is created in the constructor (or by initial assignment) or whether the instance is passed in to the constructor. If the instance is passed in to the constructor, explain how and where the class was created and how it came to be passed to the constructor. This may entail references to other descriptions in the table.
  2. The methods that receive the class as a parameter and the classes that contain those methods.
  3. The methods (other than the constructor) that create instances of the class. Indicate whether or not the class's lifetime is enclosed by the lifetime of the method. If not, indicate how the class's lifetime is determined.

Hint: the Find Usages tool in Netbeans 4.0 helps find the information for each class. Otherwise, use a multi-file string-matching tool like grep, findstr, or whatever your favourite editor provides.


Last update 01/24/05
Copyright © Gerald Dueck
[=]