Research Project

profileSaMsRa@1
ResearchProject-Instructions.pdf

RESEARCH PROJECT

The theme of the course project this semester is Real Time Operating Systems (RTOS).

This topic would cover the design and implementation of embedded computer systems.

RTOS is an operating system (OS) for real-time computing applications that processes

data and events that have critically defined time constraints. It guarantees real-time

applications a certain capability within a specified deadline. RTOSes are designed for

critical systems and for devices like microcontrollers that are timing-specific. An RTOS

is distinct from a time-sharing operating system, such as Unix, which manages the

sharing of system resources with a scheduler, data buffers, or fixed task prioritization in

a multitasking or multiprogramming environment. Processing time requirements need

to be fully understood and bound rather than just kept as a minimum. All processing

must occur within the defined constraints. Real-time operating systems are event-

driven and preemptive, meaning the OS can monitor the relevant priority of competing

tasks, and make changes to the task priority. Event-driven systems switch between

tasks based on their priorities, while time-sharing systems switch the task based on

clock interrupts.

There are 3 types of RTOSes.

(1) Hard RTOS

Hard RTOSs are tailored for applications where missing a deadline constitutes a system

failure. You’d expect to see this type of RTOS used in time-sensitive applications like

traffic control, anti-lock braking, or aircraft sensors. These systems guarantee specific

response times to predefined inputs, executing tasks within scheduled deadlines.

In sectors like aeronautics or medical devices, for example, where precision and speed

are essential, a hard RTOS ensures speedy handling of data and processing. In these

situations, RTOSs process events within tenths of a second. Failure to meet specific

constraints results in system failure, and sometimes catastrophic consequences.

(2) Soft RTOS

Soft RTOSs offer a far more flexible approach compared to hard RTOSs. When a soft

RTOS misses a deadline, it’s undesirable but not catastrophic. These systems

prioritize predictability and reliability over extreme speed. Soft RTOSs, unlike their

hard counterparts, don’t strictly enforce deadlines. This allows for better multitasking

and suitability in scenarios like media streaming, network routing, games, and

simulations. While delays in soft RTOSs might lead to temporary glitches, the system

will continue to function without grinding to a halt, making them ideal for devices like

PCs, cameras, and smartphones.

(3) Firm RTOSs

Firm RTOSs form the middle ground between hard and soft RTOSs. For these systems,

missed deadlines are considered system failures, but don’t have catastrophic

consequences. For example, in automated factory systems, missing a deadline can cause

production issues but not bring immediate dangers. Firm RTOSs stick to deadlines with

some flexibility, accepting small time delays like you might see in applications such as

multimedia, where missing a deadline might impact product quality. As a result, these

systems strike a balance, ensuring the system continues functioning — despite missing

deadlines — but potentially resulting in a degradation of the finished product’s quality.

You would select and focus on a specific RTOS and do a survey research OR select a

multiple EOSs and compare and contrast different RTOSes and elaborate their specific

features with deeper discussion on them. The suggested RTOSes to choose from are in

the list below, but not limited to:

Deos (DDC-I), embOS (SEGGER), FreeRTOS (Amazon), Integrity (Green Hills

Software), Keil RTX (ARM), LynxOS (Lynx Software Technologies), MQX (Philips

NXP / Freescale), Nucleus (Mentor Graphics), Neutrino (BlackBerry), PikeOS (Sysgo),

SafeRTOS (Wittenstein), ThreadX (Microsoft Express Logic), µC/OS (Micrium),

VxWorks (Wind River), and Zephyr (Linux Foundation)

The research project will typically involve a library and web search, and the analysis of the papers found from the search. It could also involve some implementation or measurement if the project proposes to include certain degree of prototype design and development, or testing or comparison. Typical questions that could be addressed must be relevant to operating system techniques implemented to support the operation of

RTOSes including the basic overview of how an RTOS does what it does:

(1) Task scheduling – An RTOS uses algorithms, like Rate Monotonic Scheduling or

Earliest Deadline First, to determine the order it should execute tasks.

(2) Interrupt management – An RTOS quickly processes interrupts and preempts

ongoing tasks to cut response times down to a minimum.

(3) Inter-task communication and synchronization – An RTOS uses mechanisms like

semaphores, message queues, and event flags to communicate between and

synchronize different tasks.

(4) Resource allocation – An RTOS enables real-time behavior in the system by

allocating CPU time, memory, and peripherals based on task priority and requirements. In general, if a system called X is chosen, then the questions that should be addressed in the research should include, but not limited to the following list:

What is X? What is historical prospective of X? What are the goals and purposes of X? What standard and platform governs X? How is X designed and implemented? What are subcomponents of X, and their functions? How are these subcomponents are connected to support the overall functions of X? What is the complexity and cost of implementation? What are pros and cons of X? What companies are currently involved in this line of business? What is the future trend of X?

An alternative to focusing on technological functions and explaining or analyzing the technical approach is to focus on detailed, extensive comparison of multiple products related to X and their vendors. This research project is to examine the state of the art and practice of major companies that provide services and products related to operating systems. You will work to research the OS design related to X and companies that developed it, determine the company’s market niche, assess their strategic vision, evaluate their products as per the topics covered in this course, and present a short paper as the fulfillment of the project. You may take a technical focus of a particular technology and survey those companies providing that technology. You must cite references to various resources such as web sites, papers and other documents, but the writing has to be your own summary. In case you copy the pictures, you must cite references of them in the text as well as in the picture captions. Turn-it-in checker will give you the similarity scores. Any scores over 25% similarity will not be considered as your own work and thus 20% penalty would be applied to the submitted with over 25% similarity. Any work over 35% or more will be applied 40% penalty. Below is the list of guidelines to follow:

Minimum 10 pages, single line spacing, single column format, excluding the cover page, the table of contents page, and the reference page.

The cover page should contain the course number, semester information, the title of the project, and your contact information including personal email and phone number.

The cover page must be followed by the page with the table of contents.

The report must end with reference list at the end under the title “References” and every reference must be cited in the text.

Moderate number of pictures or illustration should be included in the report. Do NOT make the pictures bigger than 1/4 of the page size, except some extreme cases.

The final paper will be evaluated by the following criteria:

Relevance (15%) Contents (20%) Clarity (10%) Reference (20%) Originality (15%) Presentation (10%) Amount of information (10%)

End of Project Description & Requirements