Do przekazywania instrukcji komputerowi służy program komputerowy. Jest napisany przy użyciu określonego języka programowania. Języki programowania, takie jak C, Java, są językami programowania wysokiego poziomu i są zrozumiałe dla ludzi, ale nie dla komputera. Dlatego program wysokiego poziomu jest konwertowany na język maszynowy przy użyciu tłumacza języka. Program napisany w języku wysokiego poziomu jest kodem źródłowym. Po konwersji przetłumaczony kod nazywa się kodem obiektowym. Linker i moduł ładujący to dwa programy, które są używane do wykonywania programu. W tym artykule omówiono różnicę między łącznikiem a modułem ładującym. Linker to oprogramowanie, które łączy kod obiektowy z dodatkowymi plikami, takimi jak pliki nagłówkowe, i tworzy plik wykonywalny z rozszerzeniem .exe. Moduł ładujący to oprogramowanie systemowe, które ładuje plik wykonywalny wygenerowany przez linker do pamięci głównej. To jest kluczowa różnica między łącznikiem a modułem ładującym.
1. Przegląd i kluczowa różnica
2. Co to jest Linker
3. Co to jest moduł ładujący
4. Związek między łącznikiem a modułem ładującym
5. Porównanie obok siebie - Linker vs moduł ładujący w formie tabeli
6. Podsumowanie
Program komputerowy to zestaw instrukcji przekazywanych komputerowi w celu wykonania określonego zadania. Program komputerowy można napisać w języku programowania. Większość języków programowania to programy wysokiego poziomu. Są łatwo zrozumiałe i czytelne dla programisty. Języki te mają składnię podobną do języka angielskiego. Niektóre przykłady języków wysokiego poziomu to Java, C i Python. Program napisany przy użyciu języka programowania wysokiego poziomu jest znany jako kod źródłowy, plik źródłowy lub program źródłowy. Rozszerzenie kodu źródłowego zależy od języka, w którym został opracowany. Jeśli kod źródłowy jest napisany w C ++, wówczas rozszerzenie pliku to .cpp. Jeśli kod źródłowy jest napisany w języku Python, rozszerzenie to .py.
Nawet kod źródłowy jest zrozumiały dla programisty; nie jest to zrozumiałe dla komputera. Dlatego kod źródłowy należy przekonwertować na format zrozumiały dla maszyny za pomocą tłumacza języka. Może to być kompilator lub tłumacz. Przetłumaczony kod jest znany jako kod obiektowy. Kod obiektowy jest w języku maszynowym. Składa się z zer i raz. Komputer może bezpośrednio zrozumieć kod obiektu. Ma rozszerzenie .obj. Jeśli istnieje kod źródłowy jako Test.c, przechodzi on przez kompilator, a skonwertowany kod staje się Test.obj.
Linker to oprogramowanie, które łączy kod obiektowy z dodatkowymi plikami, takimi jak pliki nagłówkowe, i tworzy plik wykonywalny z rozszerzeniem .exe. Program mógł korzystać z wbudowanych funkcji. Funkcje tych wbudowanych funkcji znajdują się w plikach nagłówków. Zgodnie z wyjaśnionym powyżej przykładem obiektowy kod, który jest Test.obj, jest dodawany wraz z niezbędnymi plikami nagłówkowymi za pomocą Linkera. Tworzy nowy plik o nazwie Test.exe. Jest to plik wykonywalny. Dlatego jest wykonywalny przez komputer.
Program, który powinien zostać wykonany, musi zostać umieszczony w pamięci. Linker łączy kod obiektu i pliki nagłówkowe i generuje plik wykonywalny. Moduł ładujący to oprogramowanie systemowe, które ładuje plik wykonywalny wygenerowany przez linker do pamięci głównej. Przydziela przestrzeń pamięci modułowi wykonywalnemu w pamięci głównej. Dlatego moduł ładujący jest częścią systemu operacyjnego odpowiedzialną za ładowanie programów i bibliotek.
Rysunek 01: Kolejność ładowania kodu źródłowego do pamięci
Ładowanie programu wymaga kilku kroków. Polega ona na wczytaniu zawartości pliku wykonywalnego zawierającego instrukcję programu do pamięci, a także wykonaniu niezbędnych zadań przygotowawczych do uruchomienia pliku wykonywalnego. Po zakończeniu ładowania system operacyjny uruchamia program, przekazując kontrolę do załadowanego kodu programu. Specjalne systemy komputerowe, takie jak systemy wbudowane, na ogół nie mają programów ładujących. Kod jest wykonywany bezpośrednio przez ROM.
Linker vs Loader | |
Linker to oprogramowanie, które łączy kod obiektowy z dodatkowymi plikami, takimi jak pliki nagłówkowe, i tworzy plik wykonywalny z rozszerzeniem .exe. | Moduł ładujący to oprogramowanie systemowe, które ładuje plik wykonywalny wygenerowany przez linker do pamięci głównej. |
Wejście | |
Linker pobiera dane wyjściowe tłumacza języka, który jest kodem obiektowym. | Program ładujący pobiera dane wyjściowe z konsolidatora, który jest plikiem wykonywalnym. |
Funkcjonalność | |
Linker łączy kod obiektu i pliki nagłówkowe i generuje plik wykonywalny. | Program ładujący ładuje plik wykonywalny uzyskany z konsolidatora do pamięci głównej. |
Linker i Loader to dwa składniki oprogramowania związane z wykonywaniem programu. W tym artykule omówiono różnicę między łącznikiem a modułem ładującym. Linker to oprogramowanie, które łączy kod obiektowy z dodatkowymi plikami, takimi jak pliki nagłówkowe, i tworzy plik wykonywalny z rozszerzeniem .exe. Moduł ładujący to oprogramowanie systemowe, które ładuje plik wykonywalny wygenerowany przez linker do pamięci głównej. To jest różnica między Linkerem a Loaderem.
1.'Loader (computing) ', Wikipedia, Wikimedia Foundation, 28 lutego 2018. Dostępny tutaj