Wpis z mikrobloga

Mógłby ktoś mi wytłumaczyć na czym polega idea RTOS? Szukałem na googlach i niby wiem co to jest, ale jak to działa w praktyce? Np. wgrywam sobie taki FreeRTOS na jakiś mikrokontroler i co? Co mi to daje?

#freertos #avr #embedded #komputery

Ogólnie to kupiłem sobie #esp8266 bo miało Wifi, i tyle, a tu okazuje się że są na to całe frameworki (https://github.com/SmingHub/Sming) z bootloaderami, aktualizacją OTA, własnym systemem plików i masą innych rzeczy których bym się nie spodziewał po module za 2$ :D Pierwsze co zrobiłem to zamówiłem sobie więcej esp na aliexpress ^_^
  • 8
@skew: Główną cechą RTOS jest to że jest on deterministyczny czasowo.
Oznacza to że po uruchomieniu programu (zadania) w takim systemie masz gwarancję że wypracuje on opowiedź w danym czasie. RTOS pozwala określić jak długi będzie to czas w najgorszym przypadku.
W normalnym systemie czas odpowiedzi zależny jest m. in. od obciążenia procesora w danej chwili.
@skew: RTOS jest systemem operacyjnym. W zależności od producenta może być turbo kombajnem (QNX, czy linuxy wspierające normę POSIX), albo trochę mniejszym słabiaczkiem (FreeRTOS), ale dalej spełniającym swoje zadanie.

A jakie to zadanie mają spełniać RTOS'y?
Ano, w odróżnieniu od zwykłych OSów (np. w odróżnieniu od Windowsa) są one zaprojektowane pod kątem spełniania surowych norm czasowych w miejscach, gdzie liczy się każda mikro/nano(?)sekunda. W związku z tym mają zaimplementowane odpowiednie mechanizmy
@skew: do tego co napisano tutaj dodam jeszcze praktyczne przykłady:

- RTOS nie może mieć pamięci swap, dlatego bo jeżeli proces wyleci do swap-a to niewiadomo jak długo to potrwa i jak długo tam będzie więc

- scheduler procesów jest "twardy", tj. proces o wyższym priorytecie zawsze, bezwzględnie i na dowolny czas przerywa działanie procesu o niższym priorytecie (w systemach desktopowych przeważnie jest to jakoś proporcjonalnie)

- procesy o tych samych
W normalnym systemie


@czarny_: RTOS to jest normalny system.
@greebqmaster: Co do ty nanosekund to nie do końca o to chodzi. Najważniejsze jest to, że zadanie zawsze zostanie zrealizowane w przewidywalnym czasie a jaki to będzie czas zależy od systemu i od sprzętu.