Assignment: Kernel Organization Paper

Table of Contents

Objectives

  • Define and differentiate the monolithic, micro-, and exo- kernel organizations
  • Discuss the pros and cons of the different architectures
  • Provide examples of modern operating systems using the different architectures
  • Offer up a convincing argument as to which organization you would choose for a new operating system

Assignment description

Write a 3-5 page (double-spaced) paper that discusses three different approaches described in operating systems literature for the organization and modularization of OS kernel implementations. The three organizational approaches are embodied by:

  1. Monolithic kernels
  2. Microkernels
  3. Exokernels

Your paper should consist of 3 distinct sections.

In the first, you should identify the distinguishing characteristics of each approach and compare them to one another, discussing their relative advantages and disadvantages. Be sure to justify your claims (e.g., if you state that monolithic kernels are more prone to crashing, explain why this is the case).

For the next section, you should survey existing OS kernel implementations and provide at least one example of each approach (preferably, one that is commercially available, though this may not be possible of all the approaches). Briefly discuss what impact you feel the design choice has had on the operating system, and why (or why not) it was an appropriate choice.

In the last section, you should present your own argument for which approach would be the "best" choice for a modern, general-purpose operating system. You should draw on material presented in the first two sections for your argument. Note that there isn't a right or wrong answer; I'm much more interested in your justification!

References and Citations

Please note that you must list all your references in a bibliography, and any quotes (verbatim or paraphrased) you use should be clearly cited in your text. If you are not sure how to do this, you should peruse these [guidelines on APA in-text citations and reference lists](http://www.library.cornell.edu/resrch/citmanage/apa).

Your paper should have a minimum of 5 references. Wikipedia articles may count towards at most 2 of these references.

Grading

Your paper will be scored out of a maximum of 30 points.

An A+ paper (30 points) is well organized and thoroughly researched, clearly adds to the in-class discussion of kernel organization, provides and discusses examples of each approach, and ends with a convincing argument for using a particular approach in a modern operating system. Moreover, it makes use of in-text citations and is free of spelling and grammatical errors.

A B (~25 points) paper should similarly add to our in-class discussion, but perhaps fails to adequately flesh out one of the approaches or provided examples. It clearly uses in-text citations and leverages references for all facts and claims. The quality of writing might be slightly lower than that of an A paper.

A C (~22 points) paper will cover the requisite topics but may be poorly organized or fail to add to the discussion had in class. In-text citations may be scarce or missing, though a list of references should still be present. Blatant spelling/grammatical mistakes may be evident.

Submissions that exclude one or more sections entirely, fail to list references, or are atrociously written will receive a D (19 points) or worse. Plagiarism will result in a 0 for the assignment (and this goes for all future assignments).

Accepted formats

All submissions must be in the PDF format. If your document editor cannot export/print to PDF, there are online services that can do this for you – e.g., [PDF Online](http://www.pdfonline.com/convert-pdf/)

Submission

Please upload your paper as an attachment for "Assignment 1: Kernel organization paper," listed in the Assignments section on Blackboard. The submission timestamp will be used to enforce the deadline. Important: do not use the digital dropbox – we won't look there for submissions!