Write your code as clearly, obviously and straightforward as possible. This is the best safeguard against obscure bugs. I believe that the project is challenging enough as it is, there is no need to make it harder. Furthermore, when doing the final project marking I will obviously not look with much sympathy upon code I find difficult to understand. The same applies for implementing features beyond the project specifications.
You are welcome to do this, but, in your own interest, you are strongly advised to implement the required features first. First make it work, then go for the extras! Most of the very few students who have failed the course to date have ignored this rule — at their peril! Your are to show that your project passes the milestone requirements by demonstrating its operation to the demonstrator during the allocated time during the week the milestone is due.
In addition, you are to submit your source code using the give system. You should submit all your code, including makefiles etc. This means that you should create a tar file of your submission. Project: A Simple Operating System These pages outline what you will be expected to implement for the project. While some minor details may change during session, this has been a successful format for a number of years.
It is a good idea to start thinking early and try to understand the full assignment and ask any questions you have about structure and problems early. Assessment About half the marks for the project are obtained for timely and complete demonstration of intermediate milestones M0—M7.
When demonstrating your solution you should be able to show a working solution, explain how the code you have written works, and explain any design decisions you made.
The assessment involves: testing your code and its conformance with the specifications, inspecting your code as to how well and efficiently it is written, and perusing your documentation as to its completeness, appropriateness and consistency with your implementation.
Milestones M0: Familiarisation Due: Week 1 Marks: 4 -1 for one week late, discontinue course if more than one week late Milestone 0 involves familiarising yourself with the provided source code and build system, and then writing a simple IPC protocol.
This milestone should be done individually. Further milestones are done in groups. M1: Memory manager Due: Week 2 Marks: 4 -1 if one week late, discontinue course if more than one week late Design and implement a simple frame table. M2: A pager Due: Week 3 Marks: 4 -1 per week late Design and implement a simple pager based on the existing pager and the memory manager completed in M1. M3: System call interface Due: Week 4 Marks: 4 -1 per week late Design and implement the system call interface for your operating system.
M4: Implement filesystem Due: Week 5 Marks: 4 -1 per week late Using the provided code implement the filesystem related system calls. M5: A timer driver and benchmarking Due: Week 6 Marks: 4 -1 per week late Write a simple device driver for the timers available on the IXP, and use it to benchmark your filesystem. M6: Demand paging Due: Week 8 Marks: 4 -1 per week late Implement demand paging in your operating system.
You should submit all your changes, including makefiles etc. This means that you should create a tar file which includes any directories containing changed code.
Project: A Simple Operating System These pages outline what you will be expected to implement for the project. While some minor details may change during session, this has been a successful format for a number of years. It is a good idea to start thinking early and try to understand the full assignment and ask any questions you have about structure and problems early. Assessment About half the marks for the project are obtained for timely and complete demonstration of intermediate milestones M0—M7.
When demonstrating your solution you should be able to show a working solution, explain how the code you have written works, and explain any design decisions you made. The assessment involves: testing your code and its conformance with the specifications, inspecting your code as to how well and efficiently it is written, and perusing your documentation as to its completeness, appropriateness and consistency with your implementation.
Milestones M0: Familiarisation Due: Week 2 Marks: 4 -1 for one week late, discontinue course if more than one week late Milestone 0 involves familiarising yourself with the provided source code and build system, and then writing a simple IPC protocol. This milestone should be done individually. Further milestones are done in groups. M1: Memory manager Due: Week 3 Marks: 4 -1 if one week late, discontinue course if more than one week late Design and implement a simple frame table.
M2: A pager Due: Week 4 Marks: 4 -1 per week late Design and implement a simple pager based on the existing pager and the memory manager completed in M1. M3: System call interface Due: Week 5 Marks: 4 -1 per week late Design and implement the system call interface for your operating system.
M4: Implement filesystem Due: Week 6 Marks: 4 -1 per week late Using the provided code implement the filesystem related system calls. M5: A timer driver and benchmarking Due: Week 7 Marks: 4 -1 per week late Write a simple device driver for the timers available on the IXP, and use it to benchmark your filesystem.
M6: Demand paging Due: Week 8 Marks: 4 -1 per week late Implement demand paging in your operating system. M7: Process management Due: Week 10 Marks: 4 -1 per week late Design and implement process management. This is your last demo; your entire system should be working at this stage. Marks: 9 -2 per week late docs, 20 -3 per week late code Complete the documentation for your project. You also have a chance to clean up your codebase for your final submission.
This milestone does not involve a lab demo. Advanced Components aka Stuff for Masochists The following features, if demonstrated and submitted together with your Milestone 8, will give bonus marks.
Clock driver loaded from file system Rather than loading your clock driver from the boot image, load it from the file system and run it as a separate L4 task. Filesystem caching Reserve a part of RAM as a file system cache.
Implement caching of directory information and file data, as well as read-ahead, to improve file system performance. Do this without significantly degrading performance. Kernel Bugs In addition, there are bonus marks for finding kernel bugs not library bugs! Installing Blender. Configuring Blender.
Help System. Please consider to join the effort and Contribute to this Manual. Blender 3. Editors Overview of the interface and functionality of all editors. Modeling Meshes, curves, metaballs, text, modeling tools, and modifiers.
0コメント