- Co to jest RTOS?
- Dlaczego RTOS?
- Różnica między systemem operacyjnym czasu rzeczywistego a systemem operacyjnym
- Rodzaje RTOS
- Korzyści z używania darmowego systemu RTOS
- Niektóre główne problemy związane z RTOS
- Jak korzystać z RTOS
Systemy embedded mają szerokie zastosowanie we wszystkich urządzeniach elektronicznych wokół nas, ewidentnym przykładem jest mini laptop, który nosimy ze sobą cały czas, tak mam na myśli nasze telefony komórkowe.
Ilekroć pojawia się system wbudowany, zawsze jest to połączenie sprzętu, takiego jak mikrokontrolery lub mikroprocesory, i oprogramowania, takiego jak oprogramowanie układowe lub system operacyjny. System operacyjny stanowi podstawę wszystkich urządzeń elektronicznych i zarządza zarówno sprzętem, jak i oprogramowaniem w każdym urządzeniu elektronicznym. Termin system operacyjny nie ogranicza się tylko do systemów Unix i Windows dla komputerów, ale może również obejmować mikrokontrolery. Jeden taki system operacyjny, który może działać na mikrokontrolerach, nazywany jest systemem operacyjnym czasu rzeczywistego. Tutaj dowiemy się o RTOS i zastosowaniach systemu operacyjnego czasu rzeczywistego.
Co to jest RTOS?
System operacyjny czasu rzeczywistego, popularnie zwany RTOS, zapewnia kontrolerowi możliwość reagowania na wprowadzane dane i wykonywania zadań w określonym przedziale czasu w oparciu o priorytet. Na pierwszy rzut oka RTOS może brzmieć jak każdy inny wbudowany program lub oprogramowanie układowe, ale jest zbudowany na architekturze systemu operacyjnego. W związku z tym, jak każdy system operacyjny, RTOS może umożliwiać jednoczesne wykonywanie wielu programów obsługujących multipleksowanie. Jak wiemy, rdzeń procesora lub kontrolera może wykonać tylko jedną instrukcję naraz, ale RTOS ma coś, co nazywa się harmonogramemktóry decyduje, którą instrukcję wykonać jako pierwszą, i w ten sposób wykonuje instrukcje wielu programów jeden po drugim. Technicznie rzecz biorąc, RTOS tylko stwarza iluzję wielokrotnego brania przez wykonywanie równoległych instrukcji pojedynczo.
To sprawia, że RTOS nadaje się do różnych zastosowań w świecie rzeczywistym. W RTOS dla dowolnego wejścia zawsze, gdy logika została oszacowana, która daje odpowiednie wyjście. Ta logika jest mierzona nie tylko na podstawie logicznej kreatywności, ale także na podstawie czasu, w jakim dane zadanie zostało wykonane. Jeśli system nie wykonuje zadania w tym określonym czasie, jest to nazywane awarią systemu.
Dlaczego RTOS?
- Dostępność sterowników: W systemie RTOS dostępnych jest wiele sterowników, co pozwala nam używać ich bezpośrednio do różnych zastosowań.
- Zaplanowane pliki: RTOS zajmuje się harmonogramowaniem, więc zamiast skupiać się na planowaniu dowolnego systemu, możemy po prostu skupić się na tworzeniu aplikacji. Na przykład pliki planowania zadań są używane do definiowania określonych akcji, gdy zostanie spełniony zestaw warunków. RTOS używa pewnych zaawansowanych algorytmów do planowania zwykle uruchomionych, gotowych i zablokowanych stanów, które podczas pracy RTOS skupiają się bardziej na tworzeniu aplikacji niż na planowaniu.
- Elastyczność dodawania funkcji: w systemie RTOS, nawet jeśli chcesz dodać nowe funkcje, możesz je po prostu dodać bez zakłócania istniejących funkcji
Różnica między systemem operacyjnym czasu rzeczywistego a systemem operacyjnym
Istnieją różne różnice między systemem operacyjnym czasu rzeczywistego a systemami operacyjnymi, takimi jak Windows, Linux itp. Przyjrzyjmy się im jeden po drugim za pomocą formatu tabeli:
S.Nr | System operacyjny | System czasu rzeczywistego |
1 | Podział czasu to podstawa wykonywania procesów w systemie operacyjnym | Procesy są realizowane w kolejności ich ważności |
2 | System operacyjny działa jako interfejs między sprzętem a oprogramowaniem systemu | System czasu rzeczywistego jest tak zaprojektowany, aby można go było wykonać w celu rozwiązania rzeczywistych problemów |
3 | Zarządzanie pamięcią nie jest krytycznym problemem, jeśli chodzi o wykonanie systemu operacyjnego | Zarządzanie pamięcią jest trudne, ponieważ w oparciu o przydzielanie pamięci w czasie rzeczywistym, co samo w sobie jest krytyczne |
4 | Zastosowania: biuro, centra danych, system dla domu itp | Zastosowania: sterowanie samolotem lub reaktorem jądrowym, sprzęt do badań naukowych |
5 | Przykłady: Microsoft Windows, Linux, OS | Przykłady: Vx Works, QNX, Windows CE |
Rodzaje RTOS
Możemy podzielić system operacyjny czasu rzeczywistego głównie na trzy części, a mianowicie
- Ciężki system operacyjny czasu rzeczywistego
- Miękki system operacyjny czasu rzeczywistego
- Firmowy system operacyjny czasu rzeczywistego
1. Twardy system operacyjny czasu rzeczywistego
Zacznijmy rozumieć ten typ systemu operacyjnego na przykładzie, którego przykładem na żywo jest system sterowania lotem. W systemie sterowania lotem wszelkie zadania powierzone przez pilota w postaci danych wejściowych powinny być wykonane na czas. W trudnym systemie operacyjnym czasu rzeczywistego awarie systemu mogą być tolerowane. Cechy twardego systemu RTOS to:
- Wykonywać zadania na czas
- Niedotrzymanie terminu jest fatalne w skutkach
- Gwarantowany gorszy czas reakcji w przypadku sprawy
- Może prowadzić do awarii systemu
2. Miękki system operacyjny czasu rzeczywistego
Najłatwiejszym przykładem użycia miękkiego RTOS jest baza danych online, ponieważ w programowym RTOS parametrem, o który bardziej się martwimy, jest prędkość. Stąd cechy miękkiego RTOS to:
- Zadania należy wykonywać jak najszybciej
- Późne wykonanie zadań jest niepożądane, ale nie śmiertelne
- Istnieje możliwość pogorszenia wydajności
- Nie może prowadzić do awarii systemu
3. Firmowy system operacyjny czasu rzeczywistego
Ramię robota, które służy do podnoszenia przedmiotów, można uznać za jeden z przykładów firmowego systemu RTOS. Tutaj, w ramach tego firmy RTOS, nawet jeśli proces jest opóźniony, jest tolerowany.
Korzyści z używania darmowego systemu RTOS
Oto zalety używania RTOS w twoich aplikacjach.
- Brak problemów z zaporą
- Niska przepustowość dla lepszej wydajności
- Lepsze bezpieczeństwo i prywatność
- Niski koszt ze względu na redukcję sprzętu i komponentów oprogramowania używanych do rozwoju
Niektóre główne problemy związane z RTOS
Teraz, pomimo wielu zalet dla RTOS w rzeczywistych zastosowaniach, ma również różne wady. Omówiono tutaj niektóre kwestie z tym związane.
- Przerwania są zwykle używane w programach w celu zatrzymania wykonywanego programu i skierowania przepływu do innej ważnej części kodu. Tutaj, w ramach systemu RTOS, ponieważ wymagany jest szybki czas odpowiedzi; zaleca się wyłączanie przerwań na jak najmniejszy czas.
- Ponieważ jądro powinno również reagować na różne zdarzenia, wymagane jest posiadanie mniejszego rozmiaru jądra, aby pasowało poprawnie do ROM
- Należy usunąć zaawansowane funkcje systemu RTOS, ponieważ nie ma w nim koncepcji takiej pamięci wirtualnej.
Jak korzystać z RTOS
Teraz, gdy wiesz, co to jest RTOS i gdzie możesz go używać, aby rozpocząć pracę z RTOS, zwykle musisz użyć środowiska programistycznego Tornado lub FreeRTOS. Przyjrzyjmy się krótko obu tym środowiskom programistycznym.
Tornado - VxWorks
Tornado to zintegrowane środowisko do tworzenia wbudowanych aplikacji RTOS związanych z czasem rzeczywistym w systemie docelowym. Tornado składa się z trzech podstawowych elementów, które wymieniono poniżej.
1) VxWorks
2) Narzędzia do tworzenia aplikacji (kompilator i powiązane programy)
3) Zintegrowane środowisko programistyczne, które może zarządzać, debugować i monitorować aplikację VxWorks
VxWorks to sieciowy system operacyjny czasu rzeczywistego. Na początek VxWorks powinniśmy mieć jeden zestaw deweloperski (target) wraz z jedną stacją roboczą. W tym przypadku zestaw deweloperski to nic innego jak docelowy host lub komponent, który komunikuje się z docelowym serwerem na stacji roboczej. Cel tutaj łączy narzędzia tornado, takie jak powłoka i debugger. Dlatego korzystając z VxWorks skonfigurujemy i zbudujemy systemy, podczas gdy Tornado zapewni nam graficzny interfejs użytkownika i narzędzia wiersza poleceń do konfiguracji i budowania.
Bardzo ważnym punktem, który pojawia się tutaj, jest to, że podczas instalowania tornado w systemie katalog instalacyjny powinien używać
nazw ścieżek takich jak: installDir / target. Na przykład, jeśli chcesz przechowywać swoje tornado w C: \ tornado na hoście z systemem Windows, pełną nazwę ścieżki należy w takim przypadku zidentyfikować jako katalog_instalacyjny / target / h / vxworks.h.
Tutaj nie będziemy omawiać szczegółowo funkcji Vx (zostawimy to w następnym samouczku), ale omówimy, jak można wykonać programowanie za pomocą C ++ w Vxworks przy użyciu WindRiver GNU. WindRiver GNU pomaga nam w dostarczaniu graficznej analizy dotyczącej przerwania występującego podczas wykonywania, a także w raporcie użycia pamięci.
Na przykład powyższy widok WindRiver wyjaśnia powiązany numer procesora wraz z priorytetem zadań (tLowPri i tHighPri). Stan bezczynności, czyli zielona linia oznaczała czas, przez który procesor nie jest w stanie pracy, co obserwuje się co kilka sekund. t1, t7, t8 i t9 to nic innego jak różne używane procesory. Tutaj wybieramy tylko procesor T7.
Dlatego ten Windriver może wywoływać zarówno podprogramy VxWorks, jak i moduły aplikacji. Możesz uruchomić aplikację Windriver albo z paska narzędzi uruchamiania tornado (przycisk -> i), później kliknij menu, a następnie kliknij powłokę. Na koniec z wiersza poleceń wpisz „> serwer docelowy windsh”.
Teraz do programu za pomocą C ++, ważne jest, aby zawierać składnik INCLUDE_CPLUS_DEMANGLER ten składnik demangler pozwala symbole cel powłoki powrót człowieka czytelnych form nazw symboli C ++. Przed pobraniem modułu C ++ do celu Vxworks postępuj zgodnie z procesem znanym jako munching. W tym przypadku chrupanie odnosi się do dodatkowego kroku przetwarzania hosta.
Skompiluj program źródłowy aplikacji w C ++ i pobierz na przykład plik hello.cpp. Później uruchom go, aby munch na.o i skompiluj wygenerowany plik ctdt.c. Następnie połącz aplikację z ctdt.o, aby wygenerować moduł do pobrania hello.out w ramach VxWorks. Wynikiem po wykonaniu tego VxWorks będzie plik make, który będzie używany w jakimś celu.
Darmowy RTOS
Generalnie, gdy zaczynamy od RTOS, generalnie preferujemy Vx Works RTOS. Ale tutaj omówimy pokrótce darmowy RTOS, do którego mogą również przyzwyczaić się początkujący, aby przejść przez koncepcję systemu operacyjnego czasu rzeczywistego. Darmowy RTOS został opracowany przez Richarda Barry'ego i zespół FreeRTOS, jest również własnością Real time engineers ltd, ale jest darmowy i można go po prostu pobrać, klikając poniższy link
Pobierz bezpłatne ROTS
Najnowsza wersja darmowego systemu RTOS używanego w czasie tego artykułu to wersja 10, oznaczona jako FreeRTOS V10.
Największą zaletą wolnego RTOS, która czyni go lepszym pod względem innych RTOS, jest jego niezależne od platformy zachowanie pod względem sprzętu, tj. Kod c, którego będziemy używać do uruchamiania systemu operacyjnego, może działać na różnych platformach o różnej architekturze. Dlatego niezależnie od tego, czy korzystasz z mikrokontrolera 8051, czy z jakiegoś najnowszego mikrokontrolera ARM, kod, który napisałeś wraz z procesem wykonania będzie podobny dla obu.
Istnieje wiele innych korzyści płynących z używania darmowego systemu RTOS nad Vx i innych narzędzi operacyjnych RTOS. Niektóre z nich można określić jako:
- Zapewnia łatwiejsze testowanie
- Promuje koncepcję ponownego wykorzystania kodu
- Krótszy czas bezczynności
- Łatwa konserwacja
- Wyciągnij informacje o czasie
Również podstawowe jądro, gdzie Kernel odnosi się do centralnego komponentu systemu operacyjnego, który jest obecny w wolnym RTOS, czyni go dostępnym do użycia dla różnych aplikacji. Ponieważ łatwo jest dołączyć rozszerzone moduły do systemów operacyjnych, aby uzyskać więcej aplikacji, darmowy RTOS staje się bardziej wydajny.
Jeden z przykładów użycia darmowego RTOS można wyjaśnić za pomocą koncepcji połączenia Free RTOS z Nabto. Nabto to bezpłatne urządzenie internetowe służące do przesyłania informacji z urządzenia do przeglądarki.
Dlatego połączenie Free RTOS z Nabto sprawia, że jest to mały fragment kodu C, jak wyjaśniono na rysunku a. Obecnie modny jest Internet rzeczy (IOT), a każde urządzenie IOT, do którego będziemy uzyskiwać dostęp, ma unikalny adres URL w Internecie, a technologia umożliwia bezpieczne i wyjątkowo niskie połączenia punkt-punkt. W przypadku braku połączenia z Internetem ta kombinacja może być pomocna. Dlatego wolny RTOS jest popularnym wyborem, jeśli chodzi o wdrażanie IOT.