Architecture Sketch
The architecture sketch is your first rough draft of the functionality and structure of your operating system. This document should not need to be very long; at most four or five pages should be sufficient.
What you want to focus on are the following issues:
- Structure: what are the main parts of your operating system? Common examples are the scheduler, I/O system, user program API, etc.
- Sequencing: think through and describe the sequences of steps needed in order to perform important functions in the operating system. Typical examples are starting a process, printing to the screen, starting the operating system, sending a message, receiving a message, etc.
- State: which state do you have to keep in your operating system to get it to work? Examples here are process tables, message queues, scheduler queues, etc.
You should not:
- Write code. This is an absolute no-no. Keep the discussion at a more abstract level, even for the sequencing.
- Worry to much about specifying the user programs. That comes later, in the system design.
- Add overmuch detail. This is a sketch, and you can let it be fairly vague in the details. The detailed system design comes later. The reason for avoiding too much detail is that you want the freedom to quickly change the sketch, and that is more difficult if you have done a detailed design on some part of the system.
In working with the architecture sketch, you are trying to understand what it means to implement an operating system. You want to identify the main parts, the hard problems. And define some idea on how to solve them.