Co to jest obraz oprogramowania?


Najlepsza odpowiedź

Wydaje mi się, że mówisz o oprogramowaniu, które będzie działać na niektórych rodzaj systemu wbudowanego w przeciwieństwie do oprogramowania, które ma zostać wdrożone jako aplikacja komputerowa lub inny wariant.

Zanim będzie można uruchomić program na konkretnym sprzęcie, należy wykonać kilka kroków, aby przekonwertować napisany kod źródłowy na coś, co może być zinterpretowane przez maszynę.

Twój kod źródłowy jest napisany w języku, który ma określoną składnię i semantykę i który jest czytelny dla Ciebie, podczas gdy procesor oczekuje i rozumie tylko jedynki i zera.

Podczas pracy z językami kompilowanymi istnieją seria narzędzi, które użyte w określonej kolejności i z odpowiednimi danymi wejściowymi wygenerują coś, co jest powszechnie znane jako obraz oprogramowania. Ten obraz oprogramowania jest tym, co ostatecznie załadujesz do celu.

W zależności od sprzętu i tego, jak zbudujesz łańcuch narzędzi, narzędzia do tworzenia obrazu oprogramowania będą się różnić, ale na pewno będziesz potrzebować preprocesora, kompilatora i konsolidatora.

Kod źródłowy jest przekazywany do preprocesora, który rozwiąże niektóre rzeczy (makra, dołączenia, dyrektywy preprocesora i inne). W tym momencie masz plik pośredni, który jest nadal czytelny. Następnie wstępnie przetworzony plik jest przekazywany do kompilatora, który wygeneruje plik obiektowy. Musisz powiedzieć kompilatorowi, jak i jakie pliki ma wziąć, aby utworzyć prawidłowe pliki obiektowe.

Na koniec linker połączy różne pliki obiektowe z poprzedniego kroku w sposób, w jaki mu powiesz i utworzy w rezultacie obraz binarny (konsolidator zajmie się łączeniem bibliotek i innymi rzeczami, które nie mogły zostać rozwiązane w fazie kompilacji).

Instalowanie lub testowanie obrazu oprogramowania oznacza załadowanie obrazu binarnego utworzonego w ostatnim kroku do docelowego sprzętu. Ładowanie jest zwykle wykonywane przez skopiowanie obrazu do pamięci trwałej.

To jest szeroki opis procesu i nie ma być wyczerpujący.

Odpowiedź

Przeczytanie dwóch odpowiedzi przede mną i wyznanie, że nie pewni, o co właściwie pytasz, są to rzeczy, do których możesz się odwoływać.

W wielu systemach z wieloma użytkownikami, ponieważ na komputerze jest tylko jeden zestaw rejestrów sprzętowych, które muszą być współużytkowane, zwykle daj każdemu użytkownikowi kawałek czasu (powiedzmy 10 ms), a następnie przejdź do następnego i następnego. Stan danych każdego użytkownika nie zmienia się, ponieważ są przechowywane na dysku lub w nieużywanej pamięci. Stan zestawu rejestrów musi być przechowywany jako migawka tego, co dzieje się w tej chwili, aby można było je przywrócić następnym razem, gdy użytkownik zostanie wybrany.

Innym zastosowaniem tego terminu jest matematyka i zarządzanie pamięcią do przechowywania obrazu w pamięci, w przeciwieństwie do zwykłego skanowania zestawu wierszy o różnych wartościach.

W dawnych czasach komputerów z główną ramą kod źródłowy był kompilowany lub składany w bibliotekach „ rdzenia obrazu , maszyna język jako blok, który ma być załadowany do pamięci, a następnie uruchomiony tak, jak jest. Większość bibliotek DLL stosuje podobną teorię, jeśli nie praktykę.

Przepraszam, jeśli wszystko, co zrobiłem, to zamulenie wody.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *