next up previous
Next: Adding Nachos/486 to Up: Using the Code Previous: Using the Code

Running the Stock Demo

When Nachos/486 boots, it pauses in the third stage boot-strap routine start() to allow the console operator to control certain run-time options. There options are provided to support debugging the kernel on the hardware. Initially the display will look as follows:

NACHOS/486: initializing global data (bss).
NACHOS/486 -- Boot options: 
Debug options:
  i - interrupts
  M - kernel memory management
  t - thread switching
  s - synchronization primitives
  l - lists
  P - pause after printing
  + - all of the above except 'P'

debug flags:

Most of these flags correspond to the same ones available as command-line flags. The last option 'P' is the only exception. It enables ``stepping'' through the kernel during execution.

After typing the flagsgif The following demonstration menu will be displayed:

NACHOS/486: constructing global objects.
NACHOS/486 -- running....
Choose a thread test to run:
  0 - the original simple thread test.
  1 - bounded buffer, 1 producer,  1 consumer.
  2 - bounded buffer, 1 producer,  5 consumers.
  3 - bounded buffer, 5 producers, 1 consumer.
  4 - bounded buffer, 5 producers, 5 consumers.

This menu provides an array of simple tests. The first demonstrates the functionality of the thread switching system. The others demonstrate the coordination of threads using the canonical problem of a bounded buffer with a number of producers and consumers accessing it.

After completion of the demonstration, the final clean up and closing statistics are displayed. The final message is as follows:

Cleaning up...
NACHOS/486: halted..... reboot or power down system.

At this point Nachos/486 has halted itself by hanging in an infinite loop. Since it is in protected-mode with the interrupts dis-bled, the only way to restart the system is to choose one of the two options displayed in the message.

Paco Hope
Wed Jun 21 23:54:28 EDT 1995