Abstrakcja a wirtualizacja

Abstrakcja - technika nakładania na fizyczne zasoby (np. moc obliczeniową, przestrzeń dyskową) warstwy abstrakcji ujednolicającej usługi i uniezależniającej zarządzanie od rodzaju i producenta zastosowanego oprogramowania, czy sprzętu.

Wirtualizacja - technika polegająca na nakładaniu warstwy abstrakcji na sprzęt, umożliwiająca jego bardziej optymalne wykorzystanie, np. komputer "udaje", że jest kilkoma komputerami, każdy z własnym systemem operacyjnym i zasobami.


Systemy komputerowe, pomimo swojej ogromnej złożoności, ciągle ewoluują za sprawą hierarchicznej konstrukcji, gdzie poszczególne interfejsy dzielą różne poziomy abstrakcji.

W celu łatwiejszego zrozumienia abstrakcji występującej w komputerze można to opisać jako zależność pomiędzy dyskiem twardym a plikami widzianymi przez system operacyjny. System operacyjny wykonuje na dysku proces abstrakcji tworząc przy tym dane adresowe (odpowiednie ścieżki dostępu do sektorów) co sprawia, że dla aplikacji widziane jest to jako pliki o zmiennej wielkości. Użytkownik więc podczas edycji, czytania czy tworzenia plików nie musi znać konstrukcji dysku twardego i struktury pamięci tam występującej.

Niestety, tak skonstruowane interfejsy mają swoje ograniczenia. Podzespoły i komponenty zaprojektowane na specyficzne interfejsy nie będą działały na innych interfejsach (programy napisane pod system Linux nie będą rozumiane przez system Windows). Jednym z rozwiązań jest wirtualizacja. Pozwala ona na ominięcie tych ograniczeń. Wirtualizacja systemu albo komponentów takich jak procesor, pamięć albo urządzenia wejścia/wyjścia polega na zmapowaniu  „innego” interfejsu i jego zasobów do bazowego, prawdopodobnie innego, systemu.


Abstrakcja i wirtualizacja dysku twardego. Abstrakcja zapewnia uproszczenie interfejsu do bazowych zasobów („przetłumaczenie” fizycznych struktur dysku twardego na pliki w systemie). Wirtualizacja zapewnia różne interfejsy lub różne zasoby na tym samym poziomie abstrakcji

Abstrakcja i wirtualizacja dysku twardego. Abstrakcja zapewnia uproszczenie interfejsu do bazowych zasobów („przetłumaczenie” fizycznych struktur dysku twardego na pliki w systemie). Wirtualizacja zapewnia różne interfejsy lub różne zasoby na tym samym poziomie abstrakcji.


Abstrakcja

Wirtualizacja


Jest to reprezentacja istotnych cech przy jednoczesnym ukrywaniu szczegółów tła przed użytkownikami i programistami


Jest to zbiór technologii i koncepcji, które mają na celu zapewnienie abstrakcyjnego środowiska do uruchamiania aplikacji


Pozwala na abstrakcję fizycznej implementacji
w celu ukrycia szczegółów technicznych przed użytkownikiem


Pozwala na stworzenie wirtualnej wersji zasobów komputerowych, wirtualnej platformy sprzętowej komputera i urządzeń pamięci masowej


Pozwala na wprowadzanie zmian w backendzie
bez wpływu na funkcjonalność aplikacji
w warstwie abstrakcji


Zasoby komputera mogą być dzielone lub współdzielone przez wiele środowisk jednocześnie, które są znane jako maszyny wirtualne



Ostatnia modyfikacja: niedziela, 24 kwiecień 2022, 21:42