Click on the images to enlarge.

System Call Trace (Prex 0.9.0)

systrace The ktrace utility enables system call trace logging for the specified program.

ARM Integrator Port! (Prex 0.8.1)

arm-integrator Prex supports ARM Integrator/CP board with MMU. Need to press Ctrl-Alt-3 to show the serial console.

Serial Console (Prex 0.8.1)

serial console Terminal Connection:
Connect to a serial console from Linux via "minicom".
tetris Tetris:
Tetris game playing via serial console.

POSIX Support (Prex 0.7.0)

process Process Emulation:
The process server manages processes related data such like pid or process state.
CmdBox CmdBox:
CmdBox (command box) is a small binary that includes tiny versions of many Unix utilities.
loading Program Loading:
Exec server handles dynamic loading of an ELF program.

File System (Prex 0.5.0)

filesystem fs server includes VFS framework, buffer cache and mount function. It supports devfs, ramfs, arfs.
The file i/o test program is reading a LICENSE file from the /boot directory mounted as arfs (archive fs).

dmesg (Prex 0.4.3)

dmesg dmesg (for "diagnostic message") is a command to print the message buffer of the kernel.

Deadlock Detection (Prex 0.3.0)

deadlock Prex kernel has the feature of deadlock detection. The following senario is tried with the test program.
  1. Thread-2 locks mutex-A.
  2. Thread-1 locks mutex-B.
  3. Thread-1 locks mutex-A.
  4. Thread-2 locks mutex-B.
The deadlock occurs at 4) because mutex-B has been already locked by thread-1 and thread-1 is waiting for thread-2 (mutex-A).

GBA On-Screen Keyboard (Prex 0.2.1)

gba2 The keyboard emulation driver has been made for Game Boy Advance. You can show/hide this pop-up keyboard at any time.
gba2 CapsLock is supported.

Hello World, again (Prex 0.2.1)

gba Prex has been ported to Game Boy Advance (ARM7TDMI).
gba1 Hello-world running on GBA emulator.

MMU vs NOMMU (Prex 0.2.0)

MMU MMU Kernel (i386-pc):
An application can work on MMU and NOMMU platforms without changing its source code.
NOMMU NOMMU Kernel (i386-nommu):
The NOMMU Kernel allocates the memory with 1:1 physical page mapping.

CPU Voltage Monitor (Prex 0.1.2)

DVS Busy Voltage Monitor checks the CPU speed and voltage state once per 10msec. Voltage Monitor and DVS demonstration program are running simultaneously in this screenshot.
DVS Idle DVS demo program will periodically change the CPU load. In this time, DVS driver will automatically adjust the CPU speed for the current CPU load. You can find that the voltage is set to the lowest level during the processor idle time.

Note: Since Bochs does not emulate Enhanced Speed Step (EST), the special hack for EST was added in the i386 processor driver.

Kernel Monitor (Prex 0.1.1)

kernel monitor Initial version of kernel monitor. Only few commands are available.

Page Fault (Prex 0.1)

fault The task named "fault" is a test program which just reads data from null-pointer. Since this task does not register an exception handler, the kernel terminates it immediately after detecting the page fault.

Kernel Dump (Prex 0.1)

dump Some Fn keys are mapped to display kernel stastics when the kernel is built with debugging flag. This screenshot shows thread, task, timer, irq and device state. You can find that an idle thread (priority=255) is using processor in almost all time.

Hello World (Prex 0.1)

hello The boot screen of i386-pc. The system execute only hello-world program after boot.