System operacyjny i procesor to różne koncepcje. Tak, w sercu maszyny znajduje się procesor, który jest kluczowym elementem sprzętu. Pobiera instrukcje oprogramowania wewnętrznego z pamięci oprogramowania i wykonuje je. (Obecnie powszechne jest nawet małe systemy mają wiele procesorów do wykonywania równoległego, nawiasem mówiąc, jest więc nieco nieaktualne mówić wyłącznie o tym . CPU)
Firmware to oprogramowanie przechowywane w nieulotnej (a może nawet tylko do odczytu) pamięci. Ponieważ znajduje się w takiej pamięci, oprogramowanie układowe jest dostępne po włączeniu urządzenia. Maszyna może niemal natychmiast rozpocząć wykonywanie oprogramowania układowego po włączeniu lub jakiś mały program rozruchowy (samo oprogramowanie układowe) może pobrać większe oprogramowanie układowe z pamięci elektronicznej, takiej jak flash, i umieścić je w pamięci RAM, a następnie uruchomić. Współczesne wykorzystanie pamięci flash powoduje, że czasami można usłyszeć zwrot „flashowanie nowego oprogramowania układowego”, odnoszący się do procedury aktualizacji. Firmware nie musi być łatwo aktualizować w ten sposób. Może on pochodzić z układu scalonego, więc aktualizacja urządzenia do nowego oprogramowania układowego może obejmować usunięcie układu scalonego („układ EPROM”) z gniazda i podłączenie nowego. BIOS komputera s były w ten sposób aktualizowane i niezliczone inne urządzenia. To tak naprawdę pochodzi słowo. Niektórzy ludzie czuli się niekomfortowo, nazywając program „oprogramowaniem”, jeśli musieli zamienić układ scalony lub płytkę drukowaną, aby go wymienić, co bardziej przypomina aktualizację sprzętu. Stąd powstało „oprogramowanie wewnętrzne”: coś „trudniejszego” do zmiany niż oprogramowanie.
Oprogramowanie układowe może być „w pełni funkcjonalnym” systemem operacyjnym. Na przykład Tomato to oprogramowanie układowe dla routerów bezprzewodowych oparte na systemie Linux:
http://www.polarcloud.com/tomato
Możemy zalogować się do Tomato za pośrednictwem ssh i otrzymać monit o Linuksa. Jest to więc zaawansowany system operacyjny i oprogramowanie układowe. Ale jeśli router miał dysk twardy i jeśli ten sam system operacyjny musiałby zostać załadowany z tego dysku podczas uruchamiania, nie mógłby być już legalnie nazywany oprogramowaniem układowym. Oprogramowanie układowe musi znajdować się w pamięci elektronicznej, która jest dostępna dla procesora natychmiast po włączeniu, takiej jak pamięć flash lub układy EPROM.
Wiele urządzeń konsumenckich ma obecnie oprogramowanie układowe z możliwością aktualizacji. Jeśli masz na przykład aparat cyfrowy, powinieneś znaleźć jego stronę internetową i sprawdzić, czy nowsza wersja oprogramowania układowego nie jest dostępna, co rozwiązuje niektóre problemy, które mogą występować w fabrycznie zainstalowanym oprogramowaniu. Aktualizacja oprogramowania układowego jest obecnie łatwa nawet dla stosunkowo nietechnicznych użytkowników końcowych. Wspomniany Tomato to przykład oprogramowania firm trzecich typu open source, które zastępuje oprogramowanie fabryczne.
Słowo „system operacyjny” po prostu odnosi się do programu sterującego, który ma pewien stopień zaawansowania i kompletności w zarządzaniu zasobami maszyny i zapewnianiu programom usług na odpowiednio wysokim poziomie: funkcje takie jak systemy plików, protokoły sieciowe, zarządzanie pamięcią i procesami, wysoki poziom dostępu do urządzeń, a być może jakiś model użytkownika, a także bezpieczeństwo. Nie wszystkie z nich muszą być obecne w systemie operacyjnym. Zwykle kluczem jest pamięć, zarządzanie procesami i operacje we / wy. Jeśli program sterujący zezwala na uruchamianie innych programów, nadając tym programom tożsamość, dzięki której są one powiązane z ich własnymi zasobami, i jeśli zapewnia im usługi zarządzania procesorem i pamięcią oraz wykonywania operacji we / wy, możemy nazwać tę kontrolę zaprogramuj system operacyjny.
Ponieważ jesteś ciekawy, możesz naprawdę polubić podręczniki o architekturze komputerów, takie jak William Stallings lub Hennesy i Patterson.