This is an overview of the documentation available for the project. It will seem a bit overwhelming to begin with, but as you continue to read this morass of words, you will find that it makes sense.
This is where you should start. This document takes you carefully through everything you need to know to get started. There's an OVERWHELMING amount of text to comprehend; this takes you through it a piece at a time.
There are many places you can review C programming. This document looks at some of the differences between C and Java. The concept of pointers is where most java programmers have difficulty.
The student manual specifies how to acquire and build the Z502 simulator code base, shows initial output from test runs, and specifies the deliverables for project phase 1 and project phase 2. It goes into more detail than the "StartHere" document.
A great document showing how scheduling actually takes place in a real operating system. The example uses the processes that you are writing for your project. This will make your life much easier!
Gives lots of background information. Not recommended as the FIRST document you read, but useful for knowing what's really going on.
Z502 Architecture Specification -- Describes the hardware architecture of the (simulated) Z502 processor.
System Call Interface -- Specifies the interface to the OS502 Operating System, specifically a description of the set of system calls available and how they are invoked.
Support methods -- Specifies mechanisms for queue and print management.
Project1_Evaluation Sheet -- This is what I use to evaluate your project. You would be wise to understand the basis on which I will examine your work.
Project2_Evaluation Sheet -- This is what I use to evaluate your project. You would be wise to understand the basis on which I will examine your work.
- The SOURCE CODE for the project can be loaded as a series of separate files:
base.c -- Contains the beginnings of an operating system. It is this code you will expand upon to produce your OS.
QueueManager.c -- A utility that saves you lots of work. Use this to implement the various timer, disk and ready queues.
sample.c -- Shows you how to interface to the hardware. Very useful to help you when getting started.
z502.c -- This is the simulator code. It contains the underlying "hardware" mechanism. You will not need to modify this, but may want to look at it for coding examples. WARNING - this code may fry your brain.
test.c -- This file contains the tests that you will execute in order to assure that your implementation of the OS is running correctly.
statePrinter.c -- A tool that enables you to print out information about processes and memory.
studentConfiguration.h -- An include file. Of the various include files in this project, this is the ONLY one that you should EVER modify. And you should only modify it in order to set the defines in the file. Create your own include file to manage your defines and configurations.
z502.h -- An include file. Do NOT modify this file.
global.h -- An include file. Do NOT modify this file.
protos.h -- An include file. Do NOT modify this file.
syscalls.h -- An include file. Do NOT modify this file.