[an error occurred while processing this directive] COMP9242 S2/2002 On-line Survey Results
[CSE]  Advanced Operating Systems 
COMP9242 2018/S2 
CRICOS Provider
Number: 00098G

PRINTER Printer-Friendly Version

On-line Survey Results S2/2002

Answered by 17 of 18 students enrolled

Quick Evaluation

1. Give a low ranking if you have a bad opinion of something (e.g. too slow, confusing, too difficult). Give a high ranking if you have a good opinion (e.g. interesting, useful, effective).
1. Excell Ok Poor N/A
Lecturer 1: Gernot Heiser   41%     53%     5.9%     0.0%     0.0%     0.0%   (N/F   0.1%)
Greg Rose   18%     59%     18%     5.9%     0.0%     0.0%  
Chris Szmajda   35%     29%     29%     0.0%     0.0%     5.9%   (N/F   1.1%)
Peter Chubb   24%     12%     29%     5.9%     5.9%     18%   (N/F   5.2%)
Charles Gray   12%     53%     18%     0.0%     0.0%     18%  
Course web pages   35%     18%     41%     5.9%     0.0%     0.0%   (N/F   0.1%)
Exam   12%     41%     29%     12%     5.9%     0.0%   (N/F   0.1%)
Lecture material   35%     41%     24%     0.0%     0.0%     0.0%  
Project   59%     24%     12%     0.0%     0.0%     5.9%  
Reference material   18%     29%     41%     5.9%     0.0%     5.9%   (N/F   0.2%)
Computing resources   59%     24%     0.0%     12%     5.9%     0.0%  
COMP9242 overall   41%     47%     12%     0.0%     0.0%     0.0%  


2. Which factors most influenced your decision to enrol in this course?
2.Interest in operating systems as an area of study11
Chance to build a system9
Chance to get fingers _really_ dirty6
Would like to do systems research5
Looking for a challenge7
Looking for easy 12 UoC1
Friends told me it was good3

Other factors not mentioned above?
Comments      3 comments

3.Would you recommend this course to another student such as yourself?
    Yes     82%             No     18%

4. The course is heavy on design and implementation issues. It also tries to reamain close to present research issues. What do you thing about this?
4. Too
Theory/general principles   5.9%     24%     41%     29%     0.0%   (N/F   0.1%)
OS design and implementation issues   0.0%     18%     53%     24%     5.9%  
Current research issues   0.0%     0.0%     41%     47%     12%  

5. What were the best things about this course?
Comments      15 comments

6. What were the worst things about this course?
Comments      14 comments

7. Keeping in mind that it bears double credit points and is therefore expected to impose a double workload, how does the workload in this course compare to workloads in other ...
7. Much
Similar Much
Elective level COMP courses   5.9%     0.0%     24%     35%     35%   (N/F   0.1%)
COMP courses in general   5.9%     0.0%     18%     29%     41%   (N/F   6.1%)
Courses in general   5.9%     0.0%     12%     29%     53%   (N/F   0.1%)

8. How does the overall quality/value of this course compare to other ...
8. Among
the best
Average Among
the worst
Elective level COMP courses   53%     24%     12%     0.0%     0.0%   (N/F   11.0%)
COMP courses in general   53%     35%     0.0%     0.0%     0.0%   (N/F   12.0%)
Courses in general   59%     29%     0.0%     0.0%     0.0%   (N/F   12.0%)

9. What background knowledge do you think you were missing that would have helped you in this course? Is credit in COMP3231/9201 and a co-requisite of Computer Architecture a suitable preparation?
Comments      14 comments


10. Please rate the relevance/appropriateness of the lecture topics.
10. Very
Average Inappropriate
L4 general and L4 API   47%     47%     5.9%     0.0%     0.0%   (N/F   0.1%)
Microkernels in general   41%     53%     5.9%     0.0%     0.0%   (N/F   0.1%)
Microkernel/L4 implementation   41%     35%     12%     12%     0.0%  
Protection, part. capabilities   18%     59%     12%     12%     0.0%  
Caching & TLBs   53%     35%     12%     0.0%     0.0%  
Page tables   65%     24%     12%     0.0%     0.0%  
Multiprocessor issues   24%     59%     5.9%     0.0%     12%  
Real-time issues   24%     41%     29%     0.0%     5.9%   (N/F   0.1%)
File systems   24%     65%     5.9%     5.9%     0.0%  
Mungi   29%     35%     24%     12%     0.0%  
Crypto   18%     12%     29%     35%     5.9%   (N/F   0.1%)
Cool stuff   24%     47%     24%     5.9%     0.0%  

11. Please tell us how interesting you found the lecture topics.
11. Very
Ok Booooring!
L4 general and L4 API   12%     47%     24%     12%     5.9%  
Microkernels in general   35%     47%     18%     0.0%     0.0%  
Microkernel/L4 implementation   12%     47%     5.9%     5.9%     29%   (N/F   0.2%)
Protection, part. capabilities   18%     35%     35%     5.9%     5.9%   (N/F   0.2%)
Caching & TLBs   47%     35%     18%     0.0%     0.0%  
Page tables   47%     18%     12%     12%     5.9%   (N/F   5.1%)
Multiprocessor issues   18%     35%     29%     5.9%     5.9%   (N/F   6.2%)
Real-time issues   18%     12%     59%     5.9%     5.9%  
File systems   0.0%     47%     29%     18%     0.0%   (N/F   6.0%)
Mungi   29%     41%     18%     5.9%     0.0%   (N/F   6.1%)
Crypto   41%     24%     24%     5.9%     5.9%  
Cool stuff   29%     35%     29%     0.0%     0.0%   (N/F   7.0%)

12. Which material do you think will be most useful to you in the future?
Comments      13 comments

13. Which material, not currently in this course, would you liked to have seen covered?
Comments      11 comments

14. Which of the current topics would you like to see scaled back or excluded?
Comments      10 comments


15. Please comment on the mode of lecture delivery.
15. Very
Average Very
Lecture delivery using slides from laptop   29%     65%     5.9%     0.0%     0.0%   (N/F   0.1%)
Looking at kernel code using source browser   18%     5.9%     53%     18%     5.9%  

16. Lecture attendance dropped off somewhat towards the end of session (not that this is unusual). If you attended most lectures, what factors caused you to keep attending?
16.I had enough spare time4
The lectures were too good to miss7
Given the pace and lack of a textbook I couldnt' afford to miss the lectures5
It was as good a place as any to take a nap.4
I wanted to be seen to be there4

17. If you did not attend most lectures, what were the main reasons?
17.Overall workload in this and other courses3
Lecture notes and references cover the material adequately0
Lectures are boring0
There was not enough material to justify attending lectures0
First half was more interesting than second half0

18. How could lectures be improved?
Comments      11 comments


Please give some feedback on the project.

19. What was the level of difficulty of each part of the project?
19. Too easy Just right Too hard Don't
Milestone 0   0.0%     24%     59%     0.0%     0.0%     12%   (N/F   5.0%)
Milestone 1   0.0%     18%     65%     0.0%     0.0%     12%   (N/F   5.0%)
Milestone 2   0.0%     0.0%     82%     0.0%     0.0%     12%   (N/F   6.0%)
Milestone 3   0.0%     18%     65%     0.0%     0.0%     12%   (N/F   5.0%)
Milestone 4   0.0%     0.0%     53%     29%     0.0%     12%   (N/F   6.0%)
Milestone 5   0.0%     0.0%     59%     18%     5.9%     12%   (N/F   5.1%)
Milestone 6   0.0%     0.0%     53%     12%     12%     18%   (N/F   5.0%)
Milestone 7   0.0%     0.0%     59%     5.9%     12%     18%   (N/F   5.1%)
Milestone 8   0.0%     0.0%     24%     29%     24%     18%   (N/F   5.0%)
Bonus: Clock driver   5.9%     5.9%     12%     0.0%     0.0%     65%   (N/F   11.2%)
Bonus: File system caching   0.0%     0.0%     5.9%     12%     0.0%     71%   (N/F   11.1%)
Bonus: Dynamic file system   0.0%     0.0%     5.9%     12%     0.0%     71%   (N/F   11.1%)
Bonus: OS paging   5.9%     0.0%     12%     0.0%     5.9%     65%   (N/F   11.2%)
Bonus: NFS   0.0%     0.0%     12%     5.9%     0.0%     71%   (N/F   11.1%)
Bonus: Shared memory   0.0%     0.0%     12%     5.9%     0.0%     71%   (N/F   11.1%)
System documentation   0.0%     0.0%     76%     5.9%     0.0%     5.9%   (N/F   12.2%)
Project overall   0.0%     0.0%     47%     35%     5.9%     0.0%   (N/F   12.1%)

20. How well was the project specified?
20. Very clear Ok Confusing Don't
Milestone 0   18%     29%     24%     12%     0.0%     12%   (N/F   5.0%)
Milestone 1   5.9%     41%     29%     5.9%     0.0%     12%   (N/F   6.2%)
Milestone 2   0.0%     41%     35%     5.9%     0.0%     12%   (N/F   6.1%)
Milestone 3   5.9%     35%     35%     5.9%     0.0%     12%   (N/F   6.2%)
Milestone 4   5.9%     24%     29%     0.0%     18%     12%   (N/F   11.1%)
Milestone 5   5.9%     29%     35%     5.9%     0.0%     12%   (N/F   12.2%)
Milestone 6   5.9%     29%     24%     18%     0.0%     12%   (N/F   11.1%)
Milestone 7   5.9%     24%     24%     18%     5.9%     12%   (N/F   10.2%)
Milestone 8   5.9%     24%     24%     18%     5.9%     12%   (N/F   10.2%)
Bonus: Clock driver   5.9%     18%     12%     0.0%     0.0%     53%   (N/F   11.1%)
Bonus: File system caching   5.9%     18%     12%     0.0%     0.0%     53%   (N/F   11.1%)
Bonus: Dynamic file system   5.9%     18%     12%     0.0%     0.0%     53%   (N/F   11.1%)
Bonus: OS paging   5.9%     18%     18%     0.0%     0.0%     47%   (N/F   11.1%)
Bonus: NFS   5.9%     12%     12%     0.0%     0.0%     59%   (N/F   11.1%)
Bonus: Shared memory   5.9%     18%     12%     0.0%     0.0%     53%   (N/F   11.1%)
System documentation   0.0%     24%     53%     5.9%     0.0%     12%   (N/F   5.1%)
Project overall   5.9%     35%     41%     12%     0.0%     0.0%   (N/F   6.1%)

Anything Else

21. Suggestions for improving the project? (This can include suggestions for alternative topics to use in next year's project)
Comments      10 comments

22. As of next year the course will be back to 6 UoC. Do you have any suggestions on how to change it (in particular the project) so it will be a reasonable 6UoC load, without being too detrimental on what students get out of it?
Comments      11 comments

Other factors not mentioned above?
Back to Question

1. Thought it sounded more interesting than some other subjects.
2. It had a lot to do with the fact that every interesting thing that Gernot talked about it OS, he said would be covered in AOS. I mostly wanted to find out how everything worked....
3. Very much liked 3231, though it was also challenging.

5. What were the best things about this course?
Back to Question

1. the challenging project
2. Interesting/painful project - freedom to design and implement things and learns a lot on low-level programming
3. Getting a chance to build a working product (SOS).
4. Being able to create an OS basically from scratch, and being able to make your own designe choices along the way (even if some of them are crappy... live and learn)
5. _very_ interesting project. The only project like it in the school. Very intense, but very rewarding.
6. The people in the course have a clue.
7. A hands on approach -- the project.
8. The project is very challenging and the exam is interesting :)
9. The ability to get to play with a real system on real hardware, and program for it
10. I loved the project. Having the milestones due the day after the lectures was a bit hard, coz it took away from programming time.
11. The project.
12. Chance to build a real system
13. Challenging project.
14. The lecture material was mostly very interesting. The project was certainly a challenge. Was 'cosy' because of the small enrolment.
15. the project

6. What were the worst things about this course?
Back to Question

1. 3-hour long lectures going through L4/MIPS source code...
2. lecture is a bit boring .... the exam is abit stressful i guess...
3. The late nights and perhaps even that all nighter.
4. That damn ipstack... it would have been very nice to write our own network driver as we did for the clock (although I know this is not a trivial task). A better written ipstack would be very nice.
5. The lack of sleep.
6. maby the work load, but if pays it's self back in the end
7. The project -- some components depended on earlier milestones.. Lecture notes..I don't generally get a lot out of lectures and I depend on lecture notes.
8. Not enough material from the current OS projects aroud the world.
9. Lack of a debugger for L4 =-) You can only test functions somewhere where debuggers are available so much.
10. The exam. Unfortunately I can empathize that it would be difficult to choose, given that you have people like myself who are wet behind th ears, and others that have done a whole thesis on a production OS (Mungi). It would be hard to choose, though I still thought that it didn't fully test our understanding of the subject matter.
11. The exam.
12. Lecture subject matter not well tied in with practical side of course.
13. The lectures, project and exam all had nothing to do with each other. Some parallelism required. A lot of the project is not so OS relevant, and the exam was really a test of general knowledge, and also not so OS relevant (paper 2). However, the biggest problem is the prerequisites. Should easily be a HD in 3231 plus clearly stated assumed knowledge. Would definitely have affected my decision to take the subject.
14. the lectures that were not related to the project

9. What background knowledge do you think you were missing that would have helped you in this course? Is credit in COMP3231/9201 and a co-requisite of Computer Architecture a suitable preparation?
Back to Question

1. I think OS is the only really useful prereq -- CompArch is useless.
2. Probably don't really need comparch.
3. Credit in 3231 certainly a must... not sure about comp arch though since i didnt do it (hmm... this survey supposed to be anonymous rite?)
4. I'm not sure how related comp arch really is, not by much I think. I wish I knew more about L4 before starting the project.
5. I am glad I did microprocessors as well because that taught me about manipulating hardware with assembler. It would be suggested that others take this, but it was not absolutely required.
6. AOS does assume a lot of background I don't realy know where to start... but you just need to know a lot.
7. I don't computer architecture helped me very much. It helped me understand multiprocessor issues from both a hardware and OS point of view, but that's about all. And I think a better than credit grade in COMP3231 is necessary to do reasonably in this course. Better understanding of networks. I think I learnt more about network programming in this course than in COMP3331, which is rather sad.
8. An experience in COMP2041 will be useful, also a backgroud in Computer network is related for the project.
9. co-requisite of computer architecture didn't help much
10. That was all the preparation that I had. I don't even think that the computer architecture was necessary. It might even prove a hinderance. I did this subject in my first thesis year, and there were other 4th year subjects that I wanted to do. Essentially the computer architecture course made me do another 6 credits, so totalling 18 credits to do AOS. Comp Arch was intresting, but I could have easily survived the course without it.
11. Yes.
12. COMP3231 was appropriate background, computer architecture was less important.
13. As stated, certainly not. A person with just the required background has absolutely no chance of coming even close to passing. Networks, and in particular strong UNIX programming experience are required as well as good "general knowledge" of computing which comes mostly from experience. Need clear assumed knowledge.
14. don't know

12. Which material do you think will be most useful to you in the future?
Back to Question

1. The actual OS imlpementation experience from the project... the lectures are interesting background, but not specifically relevant.
2. Well implementation experience learnt from the project... general system design principles (microkernel?)
3. Protection, caching, page tables, pretty much most of it.
4. Almost everything... I have always wanted to know how a computer works at every level and with the help of this course, I can say I have that knowledge.
5. multiprocessor issues, real-time issues.
6. Mungi and More about other OSs out there.
7. The general topics I found fairly interesting.
8. The microkernel idea is very interesting and have the potential to be developed more in the future. Also the security concept.
9. The stuff on protection & caching and TLBs
10. A lot of the protection, caching, multiprocessor, and file system issues will be very important. I am currently looking into a thesis with multi-processor programming. The crypto stuff would be HEAVILY useful for what I want to do as well.... unfortunately I have done it all.
11. Cool stuff mainly but also caching and TLBs Page tables protection, part capabilities
12. Developing over a long period of time. The more general OS topics. (Commercial issues - Not L4, not Mungi).
13. microkernel knowledge page table knowledge

13. Which material, not currently in this course, would you liked to have seen covered?
Back to Question

1. Issues such as distribution and network file systems, but they are probably best suited to another course.
2. maybe it's taboo but can u talk something more regarding Windows or popular non-unix like OS, eg a few case studies?
3. Not sure what else is there.
4. I think we pretty much covered everything.
5. I'd like to see a mixture of traditional kernel design and implementation and microkernel. Fair enough that we use microkernels in the group, but other kernel designs are also interesting.
6. a bit more UNIX stuff to make a contrast with
7. How architecture design affects systems programming/performance -- it is covered to some extent in the lectures, but not enough in depth.
8. The microkernel concept is very interesting and could probably dominate the next generation of OS, but it is also a good thing to open our mind to the other related area of OS (I found the exam material is also very interesting, that such topic is good as well).
9. More real-time OS material.
10. Some distributed systems. More practical examples like in 3231. ie, Win2K, Linux, Solaris implementatons, etc.
11. ?

14. Which of the current topics would you like to see scaled back or excluded?
Back to Question

1. The L4/MIPS implementation details!
2. nothing much since everything is all important (but boring sometimes)
3. File systems probably went longer than necessary.
4. I've said it before, and I'll say it again... I don't enjoy going thru assembler code in lectures. Although it does give you an understanding of IPC techniques, its nothing that a few well drawn pictures and notes can't explain :-)
5. none
6. The Crytography lecture was interesting, but I don't see how that relates directly to OS.
7. All of the materials are OS stuff followed with examples, but the examples mainly are from an old research projects. I guess it will be more interesting to have less old research project examples and give more examples from the current research projects.
8. The implementation material in the lectures.
9. The project is too much work, and too hard. I didn't get enough out of doing it to justify the time I spent on it.
10. crypto

18. How could lectures be improved?
Back to Question

1. the room sucked, it was hot and smelly the L4 implementation lectures were particularly hard to stay awake in
2. moving to 12-3 may help? force student to read some recommended OS papers and write some critiques and have lecture discussion (good way to practice for exam... which I SHOULD HAVE DONE.... anyway...)
3. Get a better room.
4. I really don't know... sometimes the material being covered is just not stimulating and there isn't much that can be done because it is relevant.
5. The three hour lecture block is quite long, even with the breaks. Attention started to wander towards the end. Would it be possible to break up the lectures ?
6. no laser pointers ;-p
7. Gernot mumbles to himself sometimes, which is a bit annoying.
8. A better room and split the lecture time to have a time for discussion (probably to discuss the current issues of OS research, such that from the other universities: Berkeley, MIT, Disy :)
9. I think a little more blackboard work. It is easy to just show a diagram, though a little deeper understanding might be given if each relevant step of the design of a data structure or subsystem, etc.
10. More frequent breaks.
11. Mostly fine. But perhaps by assuming less knowledge. Occasionally was lost, which made me start to think I'd bitten off too much.

21. Suggestions for improving the project? (This can include suggestions for alternative topics to use in next year's project)
Back to Question

1. The network driver is really buggy. At least use Matt's TCP driver.
2. Keep the exisitng project spec so that the new-comers will suffer what we had! muahhhhhhhhhhhhh......... Anyway, maybe FAQ can be updated and integrated together (the one in Aysst lab page and project faq) for next yr. If the exact same project is going to be continued, extra one wk will be good, coz the late submission (-6 each wk for second last milestone) is a bit too harsh and one wk is not too long, but enough to avoid this late penalty
3. A more robust network driver being provided might make the network aspect easier without ruining the integrity of the project as well as clear description of what precisely is required for milestone 4
4. Scheduling would have been interesting.
5. Just as I mentioned eariler, writing our own ipstack that better than the supplied one. Ooo Ooo.... and a source level debugger :-)
6. I think the project is very good. It teaches a lot about system design in a very short period of time. It was well worth the sleepless nights :)
7. It's been a while since I've looked at it..... looking back at it, it was a good size.
8. Build a distributed OS :) Perhaps after the second half of the course everyone involve in buiding a big project as a team.
9. I understand that the network and file IO protocols could have taken some people a lot of work. The rest of the system was quite enjoyable. I would have loved to have done the bonuses, but there was no time to. Particularly, the shared memory would have been great (esp if you chose an IPT to implement the pager structure)
10. Implementing the clock driver and network driver wasn't too relevant. Probably would keep the project (L4 & hardware), but seriously revise the contents. Less milestones, focusing on core AOS material. Too much UNIX programming to deal with.

22. As of next year the course will be back to 6 UoC. Do you have any suggestions on how to change it (in particular the project) so it will be a reasonable 6UoC load, without being too detrimental on what students get out of it?
Back to Question

1. I don't think 6UoC is a good idea... however, I think the number of compulsory parts should be reduced and maybe students could be required to pick a limited number of them to imlpement. Obviously this is limited to only smoe of the milestones, but letting people choose which parts to implement is a good idea. Whatever you do, don't increase group sizes.
2. Run the 6UoC as a yearly course - just like software engineering workshop - 3 UoC each session. Since only good students are expected to do it (seriously, who actually picked "Looking for easy 12 UoC"???), you can expect quite some amazing, impressive project from students if you give them lots of TIME (which we did not have, otherwise we would have done the bonus or tidy up the existing code at least)... and the super bonus may turns out to be reality (finally?) Of course this brings more problems whether people still wanna do this course if the course is planned this way.... My 2 cent
3. The network part might make things difficult. Also, having time to implement a malloc would have made things easier.
4. The only thing I can think of since it is probably too much for them to build the entire OS, is to have each group implement a few components and integrate them all together to create an OS?!?
5. I think it's a shame that the course has to go back to 6 uoc. It is a hard course, but a lot is learnt and well worth the 12 uoc.
6. I thinks it's a bad thing. watering it down might make it too lite and craming it in would make it a unreasonable for 6u
7. Giving more reference for the project such as the networking part would help to make it more reasonable for 6UoC load.
8. Organize with what OS did the semester beforehand. I found the pager implementation for this really easy, but only because I already wrote it for OS. If you choose two topics for OS (say simple Pager and perhaps a project on asynchonization or concurrency) and another three or so for AOS, then three will be a large coverage of OS design issues, without the workload of having to implement a whole system. The crucial ones that students need to do are: * Pager with ASIDs and demand paging * Process management * Clock driver (for the experience of interrupts) * File management I think the network wasn't so needed (as most people have already done this in networks before), nor was the documentation (although this was probably needed that you had some sort of understanding of what our code did)
9. Remove bonuses from project - the time taken for the project is an exponential function of the number of bonus components attempted - without these it is fairly straightforward. The lecture/exam component doesn't need changing.
10. Mentioned above.. A lot is simply not so AOS relevant, and some is even too elementary. In all cases, the amount of work was over the top.
11. I think that's a bad idea since I thought that I learnt most frm doing the project, and the project just takes that much time

Last modified: 24 May 2019.