A. Description of the Assignment Imagine that a company has been using the Linux operating system / kernel for all of its products that are used in a broad range of commercial applications in the past, but the company is currently considering developing an operating system / kernel for real-time embedded systems, so that company now wants to know all the important things about how operating systems / kernels for real-time embedded systems, compare with the Linux operating system / kernel, and that company has assigned you the task of writing a report on this subject and presenting your findings to the managers and technical staff of that company. You are required to write a detailed comparison of operating systems / kernels for real time embedded systems, and the Linux operating system / kernel.
B. Requirements (a) An important requirement is that you should try to provide as many detailed examples as possible, and that your comparison should be as detailed as possible. (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 an explanation on some aspect of operating systems / kernels for real-time embedded systems, 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 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 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 to form a more complete explanation of one or aspects of operating systems / kernels for real-time embedded systems, and the Linux operating system / kernel, or add your own improvements on existing explanations, on the condition that the source of each of the existing explanations is clearly identified and attributed, and you clearly identify which particular element(s) of the resulting assembly or particular element(s) of the resulting explanation are your own work . If you have written an explanation 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: (f) Drawings, if any, must be produced electronically with a drawing program. All the drawings must be accompanied by figure numbers and captions.
C. Evaluation of the Assignment
Your assignment will be evaluated according to: (a) The quality, completeness, and originality of your comparison of operating systems / kernels for real-time embedded systems, and the Linux operating system / kernel. (b) The quality of the explanations/examples in the report that are your own work. (c) The clarity, readability and organization of the report. (d) How easy it is for the TA/marker to fully understand the explanations and examples in the comparison of operating systems / kernels for real-time embedded systems, and the Linux operating system / kernel when reading the report. (e) Whether your report satisfy the requirements in section B above.
D. 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 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) Section 5.6, “Real-Time CPU Scheduling” p. 227-234; (3) Section 5.7.1, “Example Linux Scheduling” p. 234-239; (4) Chapter 20, “The Linux System” p. 775-819. You may also perform a Google search online using the key words “real-time operating system”; “real time kernel”, “real-time embedded systems”; 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.