Coursework Assignment for the BSc Module of
Assignment: Code and a 1000 word report on revealing and exploring system topology.
You should submit a zip file containing 11 files, one for each of your programmes and one containing your report. That makes 11 files in all.
1 Detailed requirements
Heterogeneity is a fact of life in modern systems. Processors, memory, storage devices, and communication links are not uniform; they have different capabilities and limita- tions. Operating systems must try to make sense of this landscape, providing services to application authors that make the most helpful use of these varied system components. Part of this is arranging the components to form a system topology that describes the machine. In this assignment you will use a language of your choice to explore the topol- ogy of hardware running an operating system of your choice. Many of you will elect to use a scripting language. This is a good choice; these languages were designed with this sort of thing in mind.
Your assignment is to describe what you can about your target system’s topology. You will do this by writing ten small programmes that each reveal something about the system’s structure and you summarise your work in a report of about 1000 words.
The report will consist of an introduction where you will describe the sort of systems your work applies to and what can be discovered about them through software (so, as a silly example, none of your programmes is likely to find out the colour of the case). Then for each programme, you will describe
1. what it reveals about the system topology;
2. why this is a useful thing to know;
3. how and why the programme works;
4. sample output from your test system; and
5. how to interpret the output.
An example might look like this
A given system has a total amount of storage available. Applications should be aware of this total so that they can (i) report it to the user; and (ii) modify their behaviour as appropriate (such as by deciding how much to cache from the network).
The Windows PowerShell programme
(get-wmiobject -class win32_logicaldisk | measure-object -property size
works by gathering the disks known to the system and using PowerShell fa- cilities to add up their sizes. Output might look like 64422408192, which should be interpreted as saying that the machine in question has about 60GB of disk.
(Note that you won’t get credit for submitting this exact example!) Finally you will conclude with a summary of your results and a reflection on what you have found the most technically challenging aspect of preparing your report. This means that your report will consist of twelve sections: the introduction, conclusions, and ten programmes.
Those wishing to stretch their faculties and attain the highest mark possible should include an epilogue that explains the definition of a “heterogeneity factor”. This is an integer between 0 and 10 that reflects the variety of components within he system. You should describe how it is computed using the results of your ten programmes. You might decide that the “heterogeneity factor” is a completely bogus idea! If so, explain why.
You are encouraged to talk to the module team about your planned solutions. As part of this, demonstrate three or four of your programmes to us as a form of formative assessment and so that we can give you detailed feedback on your work. To ensure that you have enough time for improvements based on our advice, you should do this by Friday December 6th.
A Useful resources
Alongside the module material, you may find these resources handy.
• Using the Get-WMiObject Cmdlet
• Scripting with Windows PowerShell
• Programming Ruby: The Pragmatic Programmer’s Guide
• Python v3.3.2 documentation
• The Linux /proc Filesystem as a Programmers’ Tool
• About DTrace
B Referencing system
You are free to use whatever referencing system you want provided that you
1. apply it consistently; and
2. are thorough and accurate.
In other words, pick one referencing system and use it for all of your citations and use only that. Furthermore, ensure that each citation includes enough information for the reader to find the reference.
Many assignments at this university require that you use the Harvard referencing system. While it is not required here, using it correctly and consistently will ensure that you satisfy the above two criteria.