Skip to content
No description or website provided.
Python Objective-C Shell
Find file
Pull request Compare This branch is even with timtadh:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
papers
Readme.txt
context_mgr.s
context_mgr_test.s
heap_test.s
imuckfips.s
interrupt_handler.s
jistfile
kernel.s
kernel_data.s
mappedio.s
memory_manager.s
mpp.py
muckfips.s
multitask_demo.s
proc_manager.s
proc_storage.s
run.sh
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.
Something went wrong with that request. Please try again.