Re: RTOS
Pipelining is not done in RTOS. It is a hardware mechanism in the microprocessor architecture. For example, a ARM7 has a 3 stage pipeline with Fetch, Decode and Execute. The ARM9 has 4 stage pipeline with Fetch, Decode, Stall and Execute.
There are many schemes in Cache Management such as Direct-Mapped, Fully-Associative, and Set-Associative.
There are many schemes in Memory Management such as MESI, MSI, simple write-through, write-back and snooping for memory on a local bus. If you have distributed memory system, the schemes involve more complex schemes.
Memory management is more complex in the normal PC or workstations because of the higher layers built on top of the kernel require more sophisticated access.
Memory management employed by RTOS for an embedded system is more standard or minimum because the aim is to use the least amount of memory and also to reduce complexity in order to provide real-time processing, and also to minimise power consumption on battery-operated system.
RTOS has reduced or basic functionalities of an OS such as Windows, Linux, Solaris, and MacOS.
Examples of RTOS are eLinux, eCOS, FreeRTOS, VxWorks, Symbian, WindowsCE, PalmOS, Integrity, NucleusPlus, and many more in the market.
RTOS in general should contain a basic kernel that includes:
1. Task/Process Scheduling (such as Rate Monotonic or Deadline Monotonic)
2. Memory Management
3. Cache Management
Depending on the manufacturer, there are different RTOS in the market, which vary in additional layers built on top of a basic kernel, but still termed RTOS as long as it fulfills real-time processing that is defined for the supported microprocessor.
This real-time benchmark is regulated by an industrial consortium of computer hardware and software manufacturers that independently verfies that the RTOS meet the demands and standards to be officially labeled RTOS.