操作系统代写 |编程代写

5CCS2OSC Operating Systems & Concurrency


Overview

This is a structured coursework which will occupy you:

during your lab sessions while the Operating Systems lectures are running (weeks 5 and 7–11 of the semester); and also,

a little time beyond that—how much depends on which mini-project you choose (see below).

It is marked out of 15, of which 8 marks are for the ‘introductory’ exercises from the first three lab sessions. It is therefore possible to get a mark of 5313%, i.e. a comfortable second-class* result, with just these.

The remaining marks are for a mini-project which builds on these initial exercises, and will occupy your final three lab sessions. There are three alternative mini-projects on offer, of varying difficulty. The ‘easy’ variant is capped at 3 marks (total 11), the ‘medium’ at 5 marks (total 13), and the ‘hard’ at the maximum 7 marks (total 15). See §8 for more details on the marking.

All of these exercises/projects are using the InfOS teaching operating system which has been introduced during the live large-group session.

* For avoidance of doubt: the coursework does not have a qualifying mark, so only your combined mark (coursework + exam) determines whether you pass the module.

It is required that you submit your work from the shared machine, using the submit program. You will make multiple submissions: one for each of the first three lab sessions, and then one for your mini-project. Keep reading for more about this, or see §9 for a summary of how the marking works.

1 First week: introductory tasks

Your first task is to complete the introductory steps as detailed in the week 5 lab materials and accompanying screencast. You’ll recall that you had to add a new system call to InfOS which is number 42 in the system call table and always returns your k-number as an integer.

I’ve pushed some updates to help you, so you should first pull and merge those, e.g. like so.

$ cd ~/infos
$ git pull /shared/5CCS2OSC/infos
$ cd ~/infos-user
$ git pull /shared/5CCS2OSC/infos-user

You need to submit project 1, repository infos, e.g. as follows. $ /shared/5CCS2OSC/submit 1 ~/infos

This submits your working directory (here ~/infos) as diff relative to the base revision in /shared/5CCS2OSC/infos. If you add any new source files, be sure to git add them!

In the Reading Week section on Keats there is, or will shortly appear, a screencast demonstrating the submission system, although this is also covered in full right here (see §9).

For this and subsequent tasks, it is strongly recommended that you work as follows.

  • Use the 5CCS2OSC.nms machine to build and run InfOS, since it already has installed the tools you will need: a C++ compiler, make, and Qemu. It also has the submission system. Building InfOS locally on your machine is probably not worth doing (unless you really want to, just for fun). The submission system will not run on your machine.

  • KeepyourfilesinyourFacultystoragespace.Thisisyourhomedirectoryon5CCS2OSC.nms but also it can be mounted locally on your machine via SMB (if you are on campus or the King’s VPN) or SFTP (otherwise). Please see the following link.

          https://apps.nms.kcl.ac.uk/wiki/doku.php?id=computingsupport:services:storage:accessing
    

    If using Windows, you might want to use some third-party software to mount (or in Windows-speak ‘map’) your Faculty storage as a network drive via SFTP, which works even without using the VPN (unlike SMB). To help you with this, there are some ad- ditional documents in the Reading Week section of the Keats page. Note that this isn’t officially supported by King’s, but students have reported it to work. Also note that if you use VSCode it has features that will let you sidestep mounting your storage (see below).

  • For working with the code, the choice is yours. You can do everything from the terminal, using an editor such as emacs or nano. If you’d prefer an editor on your own machine, such as VSCode, you can mount your storage space as covered above, or just using the ssh integration that VSCode offers, which can make your remote files appear in VSCode. Again there are some tips for doing this on the Reading Week section of the Keats page. Remember that it’s your responsibility to make it work if you choose to go this way.

    Whatever your set-up, you will still want to keep a terminal logged in to 5CCS2OSC.nms for building and running InfOS and running the submission system.

 

咨询 Alpha 小助手,获取更多课业帮助