CITS2002 Systems Programming  
 

Unit home

Final exam

help2002

Lecture & Workshop
recordings on LMS

Schedule

FAQ

C textbooks

OS textbooks

Information resources


Extra reading

Past projects

Recent feedback


Working effectively

Look after yourself!

Project 1 Marking Rubric - see also project description and clarifications

The project will be marked out of 50, and contribute 25% to your asessment in the unit.

25 of the possible 50 marks will come from assessing your design and programming style, the manual marking, which will assess:

  • Sufficient, clear and descriptive comments

  • Use of the C preprocessor for constants, rather than having embedded numbers in code

  • Consistent layout and regular indentation of code

  • Choice of meaningful identifier names

  • Design of data-structures to store device, process, and state information

  • Reading the two input files, and storing their contents in data-structures

  • Consistent approach to executing system-calls and state transitions (no special cases)

  • Use of functions to perform distinct actions to query or update data

  • Calculation and reporting of the total time spent on-CPU by all processes (the last output line of your project).

25 of the possible 50 marks will come from assessing the correctness of your solution, the automated marking, which will assess your project's correct output (the measurements line) with a number of different sysconfig and command input files that test -

  • Execution of one process (no I/O), which executes for less than one time-quantum

  • Execution of one process (no I/O), which executes for several time quanta

  • Execution of one process (no I/O), testing the 'sleep' system-call

  • Execution of two concurrent processes (no I/O), testing the 'spawn' system-call

  • Execution of multiple processes (no I/O), testing the 'spawn' and 'wait' system-calls

  • Execution of many concurrent processes (no I/O) alternating execution on the CPU

  • Execution of one process performing I/O

  • Execution of multiple processes performing I/O, competing for the data-bus


Good luck!

Chris McDonald.
August 2023.


The University of Western Australia

Computer Science and Software Engineering

CRICOS Code: 00126G
Presented by [email protected]