A Comparison of Real-Time Real-time embedded Operating Systems
Kernels and the Linux Operating System / Kernel
A. Description of the Assignment
Imagine that an existing software company which prefers to remain anonymous
has been using the Linux operating system / kernel for all of its products in the
past, but the company has heard that it could be advantageous to use a
real-time real-time embedded operating / kernel instead of the Linux operating
system / kernel for some of its products, so that company now wants to know all
the important things about how real-time embedded operating systems / kernels
compare with the Linux operating system / kernel, and that company has
assigned you the task of writing a report that includes a detailed comparison of
real-time embedded operating systems / kernels and the Linux operating system
/ kernel which will be read and used by the managers and technical staff of that
company.
B. Requirements
(a) An important requirement is that you should try to provide as many detailed
examples as possible in the comparison of real-time embedded operating
systems / kernels and the Linux operating system / kernel in your report.
(b) You should try to organize your report in a way such that it is easy to
understand and use. The reader should be able to find information on a
particular topic as quickly as possible, and be introduced to important concepts
and issues at a “higher level” first, before getting into “lower level” details.
(c) The report must clearly identify which sources of information you have used in
which components of this assignment.
(d) If a good explanation/example in the comparison of real-time embedded
operating systems / kernels and the Linux operating system / kernel already
exists in a book or paper that has been published by a publisher or posted on a
website, you may include it together with the other explanations/examples you
have written yourself in your report, on the condition that you must clearly identify
and attribute the source of each original individual existing explanation/example
that you have either improved upon or included with or without modification; and
explain in detail exactly which improvements you have made to the original, if
any, in your report. You may assemble existing explanations/examples to form a
more complete comparison of real-time embedded operating systems / kernels
and the Linux operating system / kernel, or add your own improvements on
existing explanations/examples, on the
condition that the source of each of the existing explanations/examples is clearly
identified and attributed, and you clearly identify which particular element(s) of
the resulting assembly or particular element(s) of the resulting
explanations/examples are your own work. If you have provided a written
explanation/example that cannot be found anywhere else, you should explicitly
identify it as such, by writing in brackets that this is your own work and thoughts.
(e) The report must contain a table of contents, and must be clearly divided into
sections and subsections, with section and subsection headings. Page
numbers must be included.
The format for the references in report, should be similar to the format of the
references in the following paper:
http://www.csc.villanova.edu/~nadi/csc8710/papers/nooks.pdf
(f) Drawings, if any, must be produced electronically with a drawing program.
All the drawings must be accompanied by figure numbers and captions.
C. What to Hand In
- The required format of the submitted written report is PDF.
D. Evaluation of the Assignment
The weight of this assignment is 15% of your final course grade.
Your assignment will be evaluated according to:
(a) The quality, completeness, and originality of the explanation and examples of
the possible advantages and disadvantages of using the Java programming
language’s various object-oriented features in the design and implementation of
software.
(b) The clarity, readability and organization of the written report.
E. Notes Regarding Reference Sources
Please note that articles from websites that are outside of academia, cannot
really be used to support your arguments, because such articles in general are
NOT written by experts, and are NOT reviewed by other experts in the field, and
for this reason, do not carry the same weight as peer-reviewed (refereed or
scholarly) articles which are written by experts and are reviewed by several other
experts in the field before the article is published in order to ensure the article’s
quality.
You should distinguish between peer-reviewed articles and non-peer-reviewed
articles in your assignment. If you do reference articles from websites that are
outside of academia, you should make it clear to the reader that the article is not
as trustworthy as a peer reviewed article. Note that all the sources that you
reference must also be publicly available.
F. A Starting Point For Doing This Assignment
Note that this assignment is different from a programming assignment – the
assignment does not require the writing of any programs. The writing of the
assignment report should be more like writing a report when doing some
technical research for a company; or more like writing a technical article to be
published on the Internet for public knowledge; or like writing a chapter, or a
section or subsection in a chapter of a book; where the article, report, or the
chapter, or the section or subsection in the chapter of the book, attempts to
explain as clearly as possible, and provide as many examples as possible to
compare real time embedded operating systems / kernels and the Linux operating
system / kernel.
As a starting point, you may read the following sections and chapter in the
course textbook, A. Silberschatz, P.B. Galvin, G. Gagne, “Operating System
Concepts,” 10th Edition: (1) Section 1.10.6, “Real-time Embedded Systems”
p. 45-46; (2) Chapter 20,
“The Linux System” p. 775-819. You may also perform a Google search online
using the key words “real-time embedded operating system”; and the key words
“Linux operating system”; Linux kernel”. It is your responsibility to search for,
read, try to understand, and decide which additional material should be used for
this assignment.
H. Notes Regarding Any Details That Are Not Explicitly Specified Above
Please note that the requirements specified in section B. Requirement above,
are the minimum requirements that must be satisfied by your report. Obviously,
there are many other possible details about what could be included to compare
real-time embedded operating systems / kernels and the Linux operating system
/ kernel that have been left unspecified.
In general it is up to each individual student to make his/her individual judgment
regarding details that are not explicitly specified above, such as what specific
material to include in the report, the length of writing for each specific
material/topic in the report, the total length of the report, how to organize and
structure the material in the report, …, etc., and any other possible details about
the report.