Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1.
SUMMARY
The main purpose of the paper is to describe the implementation details and justify the necessity of Nooks in the
Operating System. Nooks is an operating system subsystem that, through the use of lightweight kernel protection
domains, provides some isolation to the extension of the operating systems, restricting the access to the kernel space,
and reducing the possibility of corrupting it. Nooks deals
not only with the prevention of the kernel corruption, but
also with the recovery of the kernel when an error occurs
in an extension. The author wants to highlight the importance of adding reliability on commodity operating systems.
There are three main reasons that motivates Nook. First,
it is crucial to deal with reliability, and still, it is something
that has not been solved yet. Second, while the kernel is
coded by a reduced number of experts, that understand the
structure of the operating system in general, there are kernel extensions, that are optional components in the kernel
space for specific functions, that are programmed by the
vendors or other people that might not have that deep of a
knowledge of the kernel organization. Third, thanks to the
previous factor, and given the complexity of the operating
system, most of the errors that corrupt the kernel are caused
by extensions, which is at the same time, hard to test completely as a whole unit (in comparison to the core kernel
of the OS). Additionally, the author claims that there are
two necessary aspects to keep in mind when dealing with
this problem: backward compatibility, that provides reliability improvements to future and old operating systems, and
efficiency to avoid the classic tread off between robustness
and performance (taken from the original article).
The key questions the authors are addressing are: (1) is it
possible to reduce the number of failures that arise from
the kernel extensions. (2) If so, how the operating system
should be modified maintaining compatibility with most of
the existing extensions, (3) How such implementation should
remain efficient and provide backward compatibility to the
kernel extensions. (4) given the implementation, what is
2.
EVALUATION
a considerable slowdown of the whole system, and reduction of the performance of all the running application, every time a disk access is performed (for such
file systems). Outside this assumption I think the authors work is wroth, and still it provides an interesting perspective and solution to the problem that can
be exploited in different ways.
6. Inferences: The line of reasoning is clear, and can be
followed throughout the paper. The reader will reach
most of the same conclusions, however, (as mentioned
before) the fact that the author is aiming the approach
to general purposes operating systems, does not make
complete sense to me.
7. Point of View: The author claims that this is only a
possible solution, and it is not closed to possible implementation. It mentioned some related work, their
advantages and disadvantages, and it tries to cover the
disadvantages. One that is highlighted is the recovery
process, that it seems to be novel. The point of view
is clear, but is not the only one acknowledged by the
author, and so the discussion remains open.
8. Implications: I believe the author is aware of the implications of his work, even if he underestimates the performance loses. The paper is clear in what the scope
of the approach is and what are the limitations. It
also shows sensitivity to those limitations and clearly
instantiates that the position is not unique and it can
be either expanded or modified.
3.
CONCLUSIONS