Cześć, mógłby mi ktoś wyjaśnić w jaki sposób na poziome sprzętowym i programowym realizowany jest czas rzeczywisty? Z jakich urządzeń i technologii się korzysta i jak się takie coś weryfikuje? Chodzi mi tutaj głównie o systemy czasu rzeczywistego oraz o np. sterowniki programowalne w przypadku hardware.

- Rejestracja:około 6 lat
- Ostatnio:dzień
- Postów:62

- Rejestracja:prawie 14 lat
- Ostatnio:ponad 3 lata
- Lokalizacja:Grudziądz/Bydgoszcz
- Postów:5300
mogę coś palnąć bo miałem z tym styczność tylko na studiach, ale wszystko się synchronizuje i opiera o cykle zegara procesora czyli innymi słowy o taktowanie procesora, każdy kolejny takt to kolejne "odliczenie czasu", innymi słowy jeśli między jednym a drugim taktem nadajnik ma wysyłać 8 bit to odbiornik ma odebrać dokładnie 8 bit i nic więcej i czekać na kolejny takt bo wtedy ma przyjść kolejne 8 bitów.

- Rejestracja:około 6 lat
- Ostatnio:prawie 3 lata
- Lokalizacja:Warszawa 🐪
- Postów:1719
Jest tego trochę. Do tego, co napisał mr_jaro dodam, że wykonanie każdego rozkazu procesora zajmuje określony czas (liczbę taktów). Program musi zmieścić się w określonej za "czas rzeczywisty "liczbie taktów. Jeśli tego nie zrobi, musi poczekać na kolejną porcję czasu procesora albo zostaje ubity. Służą do tego specjalne rejestry procesora, które z reguły są dostępne tylko dla systemu (tak na marginesie dostęp do niektórych można uzyskać, ale trzeba liczyć się z tym, że ich wartość zostanie nadpisana przez system). Przykładem jest rejestr instrukcji.
Od strony programowej jest planista, który w systemach RT jest trochę bardziej wybredny, niż w systemach domowych. Może też być sprzętowy watchdog, który zabija wszystkie procesy, które nie spełnią określonych parametrów.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.
PerlMonk