proposalPlanningDiaryDownloadsLinks

Preliminary Outline of Proposed Study for MSc: Real-Time Embedded MINIX

SangHyeb Lee

March 2004

Background:
Almost every electronic devices that we use everyday, have an embedded microprocessor. These devices include cell-phones, digital cameras, industrial robot control systems, PDAs, and VCRs, etc.. In each of these devices, there is an operating system which manages all aspects of the machine operations. Since most of these electronic devices interact with the real world, those embedded operating system in the devices also needs to provide real-time facilities. ``A real-time system is one in which the correctness of the computations not only depends on their logical correctness, but also on the time at which the results is produced.''1 As an example of real-time system, consider Anti-lock Breaking System (ABS) in a car. Its job is to sense the moment when a wheel is about to skid and momentarily releases the brake pressure to that wheel. If the ABS system responds either too quickly or too slowly, the car might spin out of control, resulting in a serious accident.

There are many requirements for real-time embedded operating systems. Here I list some of the important requirements which must be met by every real-time embedded operating system:

  • Predictability: A real-time embedded operating system must respond to external events within explicitly required times. To achieve this predictability, operating system should have a low interrupt-latency, a low scheduler-latenc time, a high resolution timer, a pre-emptive kernel, and a real-time scheduling algorithm.
  • Small size: Since there is usually limited amount of memory available on small devices, a real-time embedded operating system needs to be small enough to fit into the memory. A small embedded operating system often uses only a couple of kilobytes of memory.
  • Robustness: Most embedded operating system runs in an enviornment where it is very hard to make any changes to itself. Thus, a real-time operating system needs to be robust so it can run for years without manual repairs. Many embedded operating system also have to control devices that can be dangerous if they do not work exactly as designed.

MINIX is a micro-kernel operating system developed by Andrew Tanenbaum for an educational purpose. This is a free operating system (OS) which resembles UNIX2 in many ways. However, MINIX is much smaller than UNIX and it has a modular structure. The structure of MINIX is so modular that even its file system can be easily removed by making small changes in the kernel. MINIX is also very portable. It has been ported to many different computers such as Atari, Amiga, Macintosh, and SPARC. These advantages of MINIX make it an ideal candidate for a real-time embedded operating system on low-end devices where tiny size of OS is important.

Aim:
To implement a MINIX-based real-time embedded operating system.

Objectives:

  • Literature review of embedded systems.
  • Literature review of real-time operating system for embedded systems.
  • Investigate embedded LINUX.
  • Implement embedded MINIX.
  • Integrate real-time facilities into embedded MINIX.
  • MINIX router (a demonstrable application of real-time embedded MINIX).


Sang Hyeb Lee 2004-03-27