Co to jest kod macierzysty?
Kod macierzysty jest formą kodu programowania komputerowego skonfigurowanego do działania z wykorzystaniem określonego procesora. Dokładna struktura kodu jest skonfigurowana tak, aby odpowiadała instrukcjom wydawanym przez procesor. Wszystkie typy oprogramowania działają z rodzimym kodem i są napisane, aby działać z optymalną wydajnością z wybranym typem procesora lub z procesorami, które są wytwarzane w celu odzwierciedlenia konfiguracji określonego procesora.
Ponieważ kod macierzysty jest napisany w celu umożliwienia pełnej funkcjonalności, gdy jest uruchamiany w systemie przy użyciu określonych komponentów przetwarzania, wybór uruchomienia oprogramowania w systemie bez wymaganego procesora spowoduje ograniczony dostęp do funkcji pakietu. W niektórych przypadkach oprogramowanie może w ogóle nie działać.
Jednym ze sposobów uruchamiania oprogramowania przy użyciu niekompatybilnego kodu natywnego jest skorzystanie z pośredniego pakietu oprogramowania zwanego emulatorem, który zasadniczo przekształca sygnały z procesora na dane, które kod może odczytać. Jednak nawet w przypadku najbardziej zaawansowanych pakietów oprogramowania do emulacji, uzyskiwana reakcja i stopień wydajności jest zwykle mniejszy niż uruchomienie programu w systemie wyposażonym we właściwy procesor. Często najlepszą opcją jest przepisanie kodu w celu dostosowania go do aktualnie używanego procesora.
Należy zauważyć, że kod macierzysty różni się od tak zwanego kodu bajtowego. Kod bajtowy jest kompilowany do działania w trybie maszyny wirtualnej, który jest w stanie przekonwertować ogólne komponenty kodu bajtowego na bardziej ukierunkowany natywny kod, który będzie działał z używanym procesorem. Chociaż kod bajtowy może być konwertowany, nie jest możliwe wykonanie akcji w odwrotnej kolejności i użycie tego podejścia do zwiększenia poziomu zgodności z obcym procesorem.
Kod macierzysty znajduje się we wszystkich typach środowisk programistycznych. Z biegiem czasu częstotliwość tego, że nie działa dobrze z różnymi procesorami, zaczęła maleć. Wynika to zasadniczo z faktu, że różne procesory są coraz bardziej konfigurowane do działania z tymi samymi typami protokołów i sekwencji logicznych.