CO527 Anonymous Questions and Answers |
This page lists the various questions and answers. To submit a question, use the anonymous questions page. You may find the keyword index and/or top-level index useful for locating past questions and answers.
We have taken the liberty of making some minor typographical corrections to some of the questions as originally put. Although most of the questions here will have been submitted anonymously, this page also serves to answer some questions of general interest to those on the course.
Submission reference: IN2386
Hello, I have done some research and found LOOK to be a good disk scheduling algorithm. However for me to implement it I need to know the direction of the head; I can't really see where that is in the file. Could you specify if there is any? Also when uploading the code for do we just upload the dsched.c file, or anything else?
If you want to keep track of the direction the head is moving in, then you'll need to add that yourself, initialising and using as appropriate. As far as uploading goes, yes, just the dsched.c file (or DSched.java for those who did it in Java). Uploading of anything else will be penalised!
Keywords: assess3-1213
Submission reference: IN2389
I'm trying to implement the C-scan algorithm, which involves jumping from the highest block to the lowest block; however, how do I get the head to do this from within the DSched class?
By requesting a read from a block on that track. This could either be a real request from the system, or a locally fabricated request to force the heads to move.
Keywords: assess3-1213
Submission reference: IN2390
Hello, how many questions are there for Assessment 5 per test? Thanks!
There will be around 53-55 questions, give or take. The total number of questions depends on individual difficulty (some questions [testing knowledge] can be answered quickly, others [testing understanding] may require a bit of time and working-out).
Submission reference: IN2391
For revision purposes, is there anyway that you could make the questions used in the assessment 5 quiz available to us? I understand if you cannot due to possible coursework resits or reuse of the questions in the future, however I thought I would ask anyhow.
Yes, this is something we have done in the past. I've made a different "revision" quiz available; details on the Moodle page.
Keywords: exam
Submission reference: IN2392
Hello, I have done studying the theory for CO527 so I'm attempting past papers for practice. Any ideas on how I should answer the following question:
What additional concerns for the correct functioning of an operating system do third-party device drivers create?
? Thanks!
Yes, lots! But rather than reeling off the possible answers (it's fairly open-ended), consider what the question is asking about: properties of 3rd-party drivers. A good starting point, therefore, would be to consider in what ways 3rd-party and OS-included drivers could differ, e.g. who is in control of the development of each, when such things are deployed, etc.
Submission reference: IN2393
I have been trying to do the past paper and I came cross this the type of question where I need to calculate the value held in the PC with branch instruction. A typical question would be:
The following diagram shows the bit values of a Branch if Not Equal instruction located at address 0x0000C000, and the contents of a selection of registers inthe Register File:
| op | rs | rt | offset | |000101 |00111|00001|0000000000010111|
with:
|register | contents | | R1 | 0x8000000F | | R2 | 0x00000C00 | | R3 | 0x00000C00 | | R4 | 0x000000FF | | R5 | 0x00018000 | | R6 | 0x000D00A0 | | R7 | 0x8000000F |
The question then asks me to calculate the value held in the PC following execution of this instruction. I tried to look through slides but all it tells me is a formula of "if (rs!=rt) then PC+offset".
I used this method and I cannot answer this question. I also tried to look and search for how to calculate this online but didn't manage to find any examples. Can you guide me through this kind question of how to calculate this?
The formula is essentially correct, though there are some bits that need to be taken into account (if you follow the MIPS datapath for this type of instruction you'll see what extra is needed).
Us simply telling you how to do this sort of question is probably less valuable than (together) figuring out where you're getting stuck so we can help you on that specific point; i.e. you would benefit more from coming to see one of us in person.
However, in summary, using the formula you have (though it's not correct in this context, but good enough for starters):
In this case the branch isn't taken (because the values are equal), but it's important that you understand how to approach this question, not just fill-in-the-blanks in a template answer (which demonstrates a lack of understanding).
Keywords: architecture
Submission reference: IN2394
Keywords: exams
Submission reference: IN2395
Hello, for Q1 do we need to do each part on a separate sheet because I assume its marked by the professor who assigned the part of Q1? If so that's just a waste of paper.
From the instructions, "answer each question in a separate booklet", so do that -- i.e. the whole of Q1 goes into one booklet. Do not try and second-guess how things will be processed following the exam :-). But do answer each question in a separate book, even if you attempt a question then change your mind, use a new answer sheet/booklet.
Keywords: exam
Submission reference: IN2396
Hello, there is a question in the papers:
What 2 operations are typically performed by the FLIH?
After discussing it with a few people, some are saying the answer is polling and interrupts others are saying acknowledging them and adding latency?
I'm confused to what the answer is now? Thanks !
Assuming the question is worth 2 marks, the first answer would score 0 and the second 1. The first answer is indicative of confusion (not understanding what polling and interrupts are, or how they are used). The second is a bit wooly, and again, doesn't demonstrate a great understanding of the concepts being examined (and is wrong in its second point).
What you should have, from CO324 and CO527, is a basic understanding of how the OS finds out about changes in hardware status: it either polls the hardware for changes (polling, a software-only activity largely) or uses the platform provided interrupt mechanism (hardware and software). From that, the first answer is clearly meaningless in this context as it's answering a different question (e.g. "In what two ways can the OS discover changes in hardware state?"). This question is, though, specifically asking about the first-level interrupt handler (FLIH). From its name, it can be inferred that this is the (low-level) part of the OS that handles interrupts when they are generated by devices (or internally for software interrupts and exceptions). Your mind should then think about what might need to happen, or what else might be involved, and it's good to think about the why to guide your answer (e.g. why is an interrupt happening? -- because some hardware status has changed). There are actually (roughly) 3 things that the FLIH may need to do, depending on the situation, but I'm only after two of them for this question. As well as acknowledging the interrupt, the FLIH may well need to inform the rest of the OS (e.g. to unblock a waiting process or similar).
Keywords: exam
Submission reference: IN2397
For the question "What two operations must be performed in order to turn source code into an executable for an operating system?
Is it compiling and linking? I'm not sure, I couldn't find it in your lecture notes. Thanks.
Yes, compiling and linking is an answer. It is in the lectures slides though (lecture 6 on the application environment). But, better to understand what is going on here (i.e. writing C programs that will eventually run in an OS's VM) and the steps involved, rather than just trying to fill your brain with correct answers to fairly standard (and low-value) questions.
Maintained by Fred Barnes, last modified Wed May 25 15:07:20 2016 |