This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
jist /
| name | age | message | |
|---|---|---|---|
| |
Readme.txt | ||
| |
context_mgr.s | ||
| |
context_mgr_test.s | Wed Apr 22 13:21:08 -0700 2009 | |
| |
heap_test.s | Thu Apr 23 20:18:00 -0700 2009 | |
| |
imuckfips.s | ||
| |
interrupt_handler.s | ||
| |
jistfile | ||
| |
kernel.s | ||
| |
kernel_data.s | ||
| |
mappedio.s | ||
| |
memory_manager.s | ||
| |
mpp.py | ||
| |
muckfips.s | ||
| |
multitask_demo.s | ||
| |
papers/ | ||
| |
proc_manager.s | ||
| |
proc_storage.s | ||
| |
run.sh | Thu Apr 23 11:01:20 -0700 2009 | |
| |
scope_test.out.s | ||
| |
scope_test.s | ||
| |
shell.s | ||
| |
spim.py | ||
| |
stack_mgr.s | ||
| |
stack_mgr.test.s | ||
| |
start.s | ||
| |
stdlib.s | ||
| |
sys_macros.m | ||
| |
user_heap_test.s | ||
| |
wumpus.s |
Readme.txt
=============================
= The Jist Operating System =
=============================
by Dan DeCovnick, Tim Henderson, and Steve Johnson
v0.000000000001
If you only look at one file, look at multitask_demo.s, which shows off all the major features
of Jist other than the memory manager, which can be seen in user_heap_test.s.
Flow of control:
start.s
program text
kernel.s
interrupt_handler.s
stack_mgr.s
interrupt_handler.s
context_mgr.s
interrupt_handler.s
stack_mgr.s
interrupt_handler.s
program text
Repeat...
System files:
context_mgr.s
Linked list implementation for context switching. Also handles system exit.
interrupt_handler.s
Scheduler, glues everything together, probably wont't make sense
jistfile
List of user programs to load
kernel.s
Exception handler, master system #include list, other stuff
kernel_data.s
Miscellaneous locations of things
mappedio.s
Macros for memory-mapped I/O
memory_manager.s
Functions for managing heaps
mpp.py
The generic part of the preprocessor. Probably won't make sense.
proc_manager.s
Functions for loading processes
proc_storage.s
Functions for PCB handling
run.sh
Shell script shortcut to run the whole shebang
spim.py
The Jist-specific part of the preprocessor.
stack_mgr.s
Handles stack allocations, saves, and restores.
start.s
Initialization code.
User programs:
context_mgr_test.s:
Old test code for the context manager.
heap_test.s:
Rigorous test of memory_manager.s.
muckfips.s, imuckfips.s:
Brainf*ck interpreter in static-data and interactive versions.
multitask_demo.s
Demonstrates concurrent subprocesses
shell.s
Program launcher
stack_mgr_test.s
Rigorous test of stack_mgr.s
user_heap_test.s
Test code for user heaps
wumpus.s
A game of Hunt the Wumpus
Note that it is not a good idea to run more than one instance of any given user program at a time, as many of them use
static data which will become corrupted. We are working to correct this problem. In other words, you can run Wumpus and
multitask_demo.s at the same time, but not two Wumpuses.








