Narrator: W tej lekcji
zaczniemy mówić o systemach wbudowanych.
Kiedy mówimy o systemie wbudowanym, jest
to system komputerowy, który został zaprojektowany
do wykonywania określonej i dedykowanej funkcji.
Teraz, kiedy mówimy o systemie wbudowanym,
często mówimy o rzeczach
bardziej w przestrzeni produkcyjnej lub automatyzacji.
Możemy więc mieć mikrokontroler w
systemie kroplówek medycznych, który ma jedno zadanie.
Służy do pomiaru objętości płynu, który przechodzi
przez urządzenie i trafia do kroplówki, dzięki czemu można podać
pacjentowi to, czego potrzebuje.
Inny może dotyczyć
systemu sterowania w stacji uzdatniania wody.
Jego zadaniem jest upewnienie
się, że woda przepływa w określonym tempie.
Będą oni otwierać lub zamykać zawory, aby upewnić
się, że utrzymujemy tę ilość przepływu przez system.
Taka jest idea systemu wbudowanego.
I może to być bardzo, bardzo proste urządzenie lub
może być w pełni złożone i mieć pełny
system operacyjny, taki jak Linux lub Android, używany
do uruchamiania tego typu systemów.
To zależy.
Teraz, w tej konkretnej lekcji,
skupię się bardziej na konkretnych systemach wbudowanych,
które mają jedną funkcję i mają
własny dedykowany system operacyjny lub mikroprocesory
do wykonywania tej funkcji.
Na przykład w moim domu mam inteligentny licznik.
Jeśli więc wyjdę na zewnątrz mojego domu,
mogę spojrzeć na licznik energii
elektrycznej w moim domu, a on powie mi, ile kilowatów na godzinę
zużywam i ile zużywam w czasie.
Teraz te informacje są podłączone do Internetu, dzięki czemu
firma energetyczna nie musi
wysyłać kogoś do mojego domu, aby odczytać
ten licznik raz w miesiącu.
Zamiast tego wszystko odbywa się teraz elektronicznie.
Robią to za pomocą modemów komórkowych
i łączą się przez sieć komórkową z powrotem
przez Internet do swojej siedziby i serwerów,
aby wprowadzić dane o tym, co wykorzystaliśmy
do zużycia energii.
Jeśli spojrzysz na swój licznik
w domu, prawdopodobnie masz coś, co wygląda bardzo podobnie.
Obecnie tego typu systemy wbudowane są
uważane za środowiska statyczne, w których
częste zmiany nie są wprowadzane lub dozwolone.
Kiedy na przykład ostatnio aktualizowałeś oprogramowanie swojego
licznika energii elektrycznej?
Prawdopodobnie nigdy tego nie robiłeś.
Firma energetyczna prawdopodobnie też nie
robi tego zbyt często.
Taka jest idea tych systemów wbudowanych.
Są to bardzo okrojone systemy,
które zostały stworzone w jednym i tylko jednym celu.
Dzięki temu stają się bezpieczniejsze, ponieważ
nie mają dużo dodatkowego kodu.
Ale jeśli ten oryginalny kod
nie został wykonany w dobrym stanie, utrudnia
to aktualizacje, ponieważ te rzeczy
nie są zbudowane tak, aby mogły otrzymywać
częste aktualizacje oprogramowania.
Z tego powodu systemy
wbudowane często mają bardzo niewielkie wsparcie w zakresie
identyfikowania i korygowania błędów bezpieczeństwa.
Nie możesz zadzwonić do firmy energetycznej i
powiedzieć, żeby przyjechali zabezpieczyć twój licznik.
To po prostu nie jest część tego, co zamierzają dla ciebie zrobić.
Zrobią to tak, jak chcą, ponieważ
to ich urządzenie.
I często, jeśli masz system wbudowany w fabryce lub
w zakładzie, jeśli jesteś w obszarze produkcyjnym, będziesz
miał ograniczone wsparcie od tego producenta.
Jest to więc obszar, w którym naprawdę
chcesz przenieść wszystkie te urządzenia
do oddzielnej sieci i nie podłączać
ich z powrotem do Internetu w ogóle, gdzie może to być dla ciebie
duży obszar podatności na ataki.
Kiedy mówimy o systemach wbudowanych,
pojawia się termin PLC, czyli programowalny
sterownik logiczny.
Jest to rodzaj komputera, który został zaprojektowany do
wdrożenia w środowisku przemysłowym lub zewnętrznym
i może zautomatyzować nasze nowoczesne systemy mechaniczne.
Teraz, kiedy myślisz o sterowniku PLC,
chcę, abyś pomyślał o czymś takim jak produkcja,
która otworzy lub zamknie zawór, aby
wpuścić więcej lub mniej wody.
Taka jest idea sterownika PLC.
Jest to programowalny sterownik logiczny.
Te sterowniki PLC działają na oprogramowaniu
układowym, ponieważ są to systemy wbudowane.
Tak więc oprogramowanie układowe, które jest oprogramowaniem na chipie, może
być łatane i przeprogramowywane w celu usunięcia
luk w zabezpieczeniach, gdy się pojawią.
Jest to jednak bardzo specyficzny proces, a wsparcie
ze strony producenta jest zazwyczaj ograniczone.
To nie jest tak, jak w przypadku Microsoftu,
gdzie w każdy wtorek udostępniają łatkę.
W przypadku tych sterowników PLC poprawki mogą pojawiać się co sześć
miesięcy, rok lub dwa lata.
Pomiędzy kolejnymi łatkami mija zazwyczaj bardzo dużo czasu.
Kolejną rzeczą, o której chcemy porozmawiać,
są niektóre z używanych systemów operacyjnych.
Istnieje więc coś takiego jak RTOS, czyli
system operacyjny czasu rzeczywistego.
Jest to rodzaj systemu operacyjnego, w
którym priorytetem jest deterministyczne wykonywanie operacji.
Pomoże nam to zapewnić spójną reakcję
na krytyczne czasowo zadania.
Zastanów się nad tym.
Jeśli uruchamiasz coś, co musi otworzyć lub zamknąć zawór
wewnątrz elektrowni jądrowej, czy
możesz mieć możliwość wyłączenia go w dowolnym momencie?
Prawdopodobnie nie, prawda?
Cóż, to jest pomysł, w którym użylibyśmy RTOS, systemu
operacyjnego czasu rzeczywistego.
Wynika to z faktu, że wiele naszych systemów
wbudowanych zazwyczaj nie toleruje restartów
lub awarii i muszą mieć przewidywalne
czasy reakcji w milisekundach.
Jeśli więc buduję coś,
co będzie obsługiwać części samolotu, co pomoże
mojemu autopilotowi latać, a autopilot musi
dokonywać regulacji na skrzydłach
co kilka milisekund, to jest to coś, do czego chcielibyśmy
użyć systemu operacyjnego czasu rzeczywistego.
Nie możemy użyć do tego standardowego systemu Windows.
Po prostu nie jest wystarczająco szybki i wydajny.
Podlega restartom, awariom, poprawkom
zabezpieczeń i wielu innym rzeczom.
Tak więc RTOS, kiedy słyszysz ten termin, pomyśl o tym jako
o typie systemu operacyjnego, który jest często
używany w systemach wbudowanych, szczególnie
w aplikacjach o znaczeniu krytycznym.
Innym sposobem, w jaki możemy to
zrobić, jest użycie tak zwanego systemu na chipie.
Jest to kolejna forma systemów wbudowanych.
W tym miejscu nasz procesor integruje funkcjonalność
platformy wielu kontrolerów logicznych w jednym układzie
scalonym.
System-on-a-chip może być bardzo energooszczędny i dlatego jest często
używany w mniejszych urządzeniach, które muszą
mieć wbudowany system.
Jeśli więc muszę stworzyć coś,
co będzie miało wbudowany system
i będzie bardzo małe, aby zmieściło się w mojej kieszeni, zwykle
używałbym czegoś takiego jak system-on-a-chip.
Jeśli korzystasz z czegoś takiego
jak Roomba lub robot odkurzający,
używają one mentalności typu system-on-a-chip, ponieważ starają
się umieścić wszystkie te informacje na jednym
chipie, ponieważ zajmuje to mniej miejsca, a
zatem możesz zostawić więcej miejsca na funkcjonujące części,
których potrzebujesz, takie jak odkurzacz.
System-on-a-chip odnosi się do rodzaju układu scalonego, który
zawiera wszystkie komponenty systemu komputerowego
na jednym chipie.
Obejmuje to procesor, pamięć, pamięć masową, procesor graficzny
i urządzenia peryferyjne, takie jak kontrolery
USB, obwody zarządzania energią i radia bezprzewodowe
do Wi-Fi lub Bluetooth.
Doskonałym przykładem systemu na chipie jest Raspberry Pi,
który zawiera w pełni zamknięty komputer
istniejący na jednym chipie.
Teraz wiele z tych układów system-on-a-chip
zostanie wbudowanych w inne urządzenia, takie
jak inteligentne telewizory i dekodery, takie jak Amazon Fire TV, Roku i urządzenia
do przesyłania strumieniowego Apple TV.
Konstrukcje typu system-on-a-chip stały się bardzo
popularne ze względu na niskie zużycie
energii, przyzwoitą wydajność i niewielkie rozmiary.
Na przykład, jeśli masz Roku lub Fire TV Stick,
są one wielkości pendrive'a.
Zapewniają one jednak w pełni działającą funkcję Smart TV w każdym istniejącym
telewizorze i mogą przetwarzać strumieniowe
przesyłanie wideo przez połączenie
bezprzewodowe za pomocą tych urządzeń.