One Task Only

What make OS to be RTOS ? Is it because of 1 milli scheduler ? Can system with one task only can be defined as RT system ? Thank You

One Task Only

Hi Michael, there will be many replies to your post. This is a very short one 🙂
What make OS to be RTOS
The Real Time aspect. Real time does not imply an infinite speed and a zero ms response time, but it can promise that the response times won’t last longer than a certain time. This property is also called “deterministic”: one can tell in advance how long the delays and responses of the system will be. The FreeRTOS kernel uses algorithms that are deterministic: processing times do not depend on the number of tasks.
Is it because of 1 milli scheduler ?
A 100 msec scheduler can be RT as well. An RTOS is often required to respond much quicker that 1 ms. It will use hardware interrupts and a proper scheme of task priorities to get a desired behaviour.
Can system with one task only can be defined as RT system ?
Having a single task makes it easier to become a RT system, but it is not enough.

One Task Only

Thank You Hein, Can you please explain the meaning of processing times do not defend on the number of tasks ?

One Task Only

[My original reply to this post, which was sent by email, has not shown up in the forum, so I am pasting it in again below. Apologies if it then appears twice] This forum is to provide support directly to FreeRTOS users, rather than answer conversational questions about embedded systems. The question you asked is something that is written about in hundreds if not thousands of places Google will take you to. To try and prevent a long debate on the subject here I will try and answer it as succinctly as I can: The main difference between an OS and an RTOS is determinism. If the scheduling algorithm of an OS is deterministic it could be considered an RTOS. If the scheduling algorithm of an OS is not deterministic then it can’t be considered an RTOS.

One Task Only

processing times do not depend on the number of tasks ?
That is a promise of the kernel and it API’s. For instance, when you give to a semaphore, the API (xQueueGenericSend) will access a sorted list of tasks that is waiting for this semaphore. The task with the highest priority that is the first of a list will become “runnable”. The kernel will not go through an iteration to find that task, it just takes the first element of a list. And as you know, once a task is runnable, it depends on it relative priority if it will become active. Whether a system becomes RT not only depends on the OS, it also depends on the application. The best promise you can make is maximum reponse times. But like Richard says: thousands of pages have been written about RTOS, and I think they cover the subject much more completely.

One Task Only

This forum is to provide support directly to FreeRTOS users, rather than answer conversational questions about embedded systems. The question you asked is something that is written about in hundreds if not thousands of places Google will take you to. To try and prevent a long debate on the subject here I will try and answer it as succinctly as I can: The main difference between an OS and an RTOS is determinism. If the scheduling algorithm of an OS is deterministic it could be considered an RTOS. If the scheduling algorithm of an OS is not deterministic then it can’t be considered an RTOS.