User Tools

Site Tools


faq

Frequently Asked Questions

General

Question 1: For the test, do I need to know everything in the slides?

Answer to Question 1: you will need to know everything in the slides, EXCEPT for things that I explicitly say that you don't need to know. For example, during the lectures, when I showed slides 31-32 of OSD4.pdf, “Fields of the VFS Superblock Object in Linux,” I said that you don't need to memorize all the names of the Fields of the VFS Superblock Object, UNLESS the name is mentioned in the slides. Here is one example: the field name “s_fs_info” is mentioned in slide 33, so you do need to memorize the field name “s_fs_info”, and what it does. In general, you will need to know anything and everything that is discussed in the slides.

Question 2: For the project, do I need to perform a study of the whole Linux kernel? Can you provide an example of a Linux subsystem that would be of suitable scope for the project?

Answer to Question 2: No, you are required to study … one or more subsystems of the Linux kernel which provide some basic kernel functionality. You do not need to study the whole Linux kernel for your project.

“Memory Management”, would be an example of a Linux subsystem that would be of suitable scope for the project. “Process Scheduling” would be another example of a Linux subsystem that would be of suitable scope for the project.

Question 3: What is the main difference between the alternative (programming) project and the alternative (programming) assignment?

Answer to Question 3: There is a significant difference in how the project will be evaluated compared with the assignment:

For the assignment, /cs/course/4221/4221a1F12alternative1.doc states that:

“D. Evaluation of the Assignment

Your assignment will be evaluated according to: (a) … (b) … (c ) The amount of effort involved in installing, setting up, and using the QNX Neutrino RTOS (Neutrino RTOS), and associated Development Tools, Middleware Software, Board Support Packages on the selected host and board.”

In contrast, for the project, /cs/course/4221/4221projectF12alternative1.doc states that:

“D. Evaluation of the Project

Your project will be evaluated according to:

(a) The degree of sophistication of the laboratory experiments in the tutorial/manual; and the degree to which they teach how to exploit the capabilities of the QNX Neutrino RTOS (Neutrino RTOS) on the selected host and board. (b) … (c ) …”

So the answer to Question 3 is that, compared with the assignment, the project is going to be evaluated according to: “The degree of sophistication of the laboratory experiments in the tutorial/manual; and the degree to which they teach how to exploit the capabilities of the QNX Neutrino RTOS (Neutrino RTOS) on the selected host and board.”

So in general, one would expect that, compared with the assignment, the project should:

1. demonstrate a much higher “degree of sophistication of the laboratory experiments in the tutorial/manual;”

2. teach to a much more sophisticated degree, “how to exploit the capabilities of the QNX Neutrino RTOS (Neutrino RTOS) on the selected host and board.”

Question 4: Can you recommend some books for helping to understand the material in the slides in OSD.5 and OSD.6?

Answer to Question 4: Unfortunately, no books cover all the material in the slides in OSD.5 and OSD.6. However, reading Chapter 5, “Kernel Synchronization”, of the book, “Understanding the Linux Kernel”, 3rd Edition, may help understand some of the material on synchronization in the slides in OSD.5.pdf. Reading Chapter 1 to Chapter 3 of the book “MicroC/OS-II The Real-Time Kernel”, 2nd Edition, may help understand some of the material on μC/OS-II in the slides in OSD.6.pdf.

faq.txt · Last modified: 2012/11/21 19:49 by jxu