Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem TCP & FAT




Loading

One Task Only

Posted by michaeln32 on September 28, 2017

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

Posted by heinbali01 on September 28, 2017

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

Posted by michaeln32 on September 28, 2017

Thank You Hein,

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


One Task Only

Posted by rtel on September 28, 2017

[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

Posted by heinbali01 on September 28, 2017

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

Posted by rtel on September 28, 2017

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.


[ Back to the top ]    [ About FreeRTOS ]    [ Sitemap ]    [ ]




Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

FreeRTOS kernel V10 is available for immediate download. Now MIT licensed.


FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS