Często słyszę, jak ludzie nazywają jądro Linuksa obrazem jądra Linuksa i nie mogę znaleźć odpowiedzi w żadnej wyszukiwarce, dlaczego nazywa się to obrazem.
Kiedy myślę o obrazie , mogę myśleć tylko o dwóch rzeczach: kopii dysku lub zdjęciu. Z pewnością jako piekło nie jest to zdjęcie, więc dlaczego nazywane jest obrazem?
kernel
linux-kernel
Tony
źródło
źródło
Odpowiedzi:
Proces rozruchu w systemie Unix ma (miał) jedynie ograniczone możliwości inteligentnego ładowania programu (przenoszenia go, ładowania bibliotek itp.). Dlatego początkowy program był dokładnym obrazem, przechowywanym na dysku, tego, co trzeba było załadować do pamięci i „wywołać”, aby uruchomić jądro.
Dopiero znacznie później dodano kompresję (de-) i chociaż istnieją już mocniejsze programy ładujące, nazwa obrazu utknęła.
źródło
Słowo obraz ma również definicję „Plik zawierający wszystkie informacje potrzebne do utworzenia kopii roboczej na żywo”.
źródło
Nie oznacza to, że „obraz” jest tylko kopią 1: 1 dysku. Tak jak zdjęcie przedstawia rzeczywistość dokładnie tak , jak było podczas fotografowania, tak obraz wykonywalnego programu (lub jądra) reprezentuje program w stanie, w którym można go załadować (lub rozpakować) do pamięci systemowej dokładnie tak , jak jest, a następnie przekazano mu kontrolę. Ten program może następnie zacząć działać od tego stanu w spójny sposób. Obraz jądra Linuksa jest obrazem (obrazem stanu) jądra Linuksa, który może uruchomić się sam po przekazaniu mu kontroli.
W dzisiejszych czasach bootloader ładuje taki obraz z systemu plików dysku twardego (potrzebny jest sterownik), zastępuje się nim i daje mu kontrolę. Proces uruchamiania komputera wykonuje to kilka razy, aż system operacyjny wreszcie uruchomi się. Nazywa się to ładowaniem łańcuchowym . Lub jeśli mniejszy program (łańcuch) ładuje bardziej złożony, nazywa się to ładowaniem początkowym .
BIOS ładuje bootloader, który jest również obrazem, na przykład wywoływanym
boot.img
w przypadkugrub
. Toboot.img
nie jest plik (jeśli grub jest zainstalowany); jest to nazwa części znajdującej się w głównym rekordzie rozruchowym (MBR). Jeśli zrzucisz to do pliku, będzie to obraz w postaci pliku nie zapisanego w sposób surowy na dysku, ale zapisanego w pliku. Jest to również reprezentacja (obraz) najwcześniejszego stanu, w którymgrub
jest w stanie załadować resztę samego siebie.grub
następnie ma własny mechanizm pełnego ładowania się poprzez ładowanie innych obrazów. Jest to reprezentowane przez różne etapy wgrub
. Następnie program ładujący ładuje obraz jądra, zastępując się rozpakowaną zawartością tego pliku.źródło
Historia starożytna. obraz pochodzi ze starego terminu Digital Equipment Corporation na dane wyjściowe z kompilatora-> linkera. plik jest obrazem utworzonym przez interpretację kodu i tak dalej przez linker, aby stworzyć wykonywalny „obraz” twojego projektu.
źródło
W matematyce jądro jest odwrotnym obrazem podzbioru obrazu jakiejś mapy, gdyby ten podzbiór był równy elementowi tożsamości w kodomenie. Jestem pewien, że te nazwy wywodzą się z pojęć matematycznych, ponieważ są one znacznie powiązane w różnych dziedzinach matematyki. Biorąc pod uwagę, że Unix powstał w środowisku akademickim, możliwe, że użycie tego jądra i obrazu tego słowa jest takie samo.
Jeśli masz zestaw, który reprezentuje pewien poziom informacji o „kompletnym” systemie operacyjnym, jeśli te informacje również tworzą grupę, możesz zdefiniować homomorfizm grupy na tym zestawie lub w zasadzie odwzorować na inne zestawy o różnych rozmiarach niż oryginalny zestaw, o ile „szanują” strukturę zbioru orginalnego, co czyniło ją grupą. Widać, że korzystne może być odwzorowanie zestawu na mniejszy zbiór lub podzbiór jakiegoś zestawu, w którym ten podzbiór jest mniejszy.
Obraz - Obraz homomorfizmu grupowego oraz w ogólnych funkcjach i mapach jest tylko podzbiorem jakiegoś zestawu, do którego elementów faktycznie mapowane. Funkcja może nie być odwzorowana na każdy pojedynczy element i elementy te nie zostaną uwzględnione w obrazie.
Jądro - Zasadniczo tylko elementy z oryginalnego zestawu, które mapują na obraz, ale tylko mapują na element tożsamości na obrazie. Zasadniczo elementy odwzorowujące na 0 podobne do rzeczy na obrazie.
Jeśli obraz jest mniejszy niż oryginalny zestaw, możemy zobaczyć, że wiele elementów musi być mapowanych na jeden element. Na przykład, może być wiele elementów z jądra, które mapują na obraz i już wiemy, że wszystkie muszą mapować na 0.
Widzimy, że jeśli wybierzemy oryginalny zestaw jako skończone sekwencje binarne lub 1 i 0 oraz kodomainę (zestaw odwzorowany na) również jako sekwencje binarne, wówczas możemy konstruować takie rzeczy wtedy i tylko wtedy, jeśli, odpowiednia struktura grupy można zdefiniować (ten nieco głębszy i niezwiązany z zadawanym pytaniem).
Widzimy więc z całkowitą pewnością, że „jądro” i „obraz” systemu operacyjnego są całkowicie zdefiniowane i mają znaczenie matematyczne. Niezależny od być może innych zastosowań terminów.
źródło