TI/Wirtualizacja: Różnice pomiędzy wersjami

Z Brain-wiki
(Utworzono nową stronę " ==Linkowanie bibliotek== Pisząc program komputerowy korzystamy z bibliotek gotowych funkcji, skompilowanych wcześniej dla danego systemu opercyjnego. Na przykład wyp...")
 
Linia 4: Linia 4:
  
  
 
+
==virtualenv==
 
 
===virtualenv===
 
 
Biblioteki są nie tylko specyficzne dla danego systemu i kompilatora — są też ciągle ulepszane, a ich funkcjonalności poszerzane. Dlatego też w nowszych wersjach bibliotek wywołania tych samych funkcji mogą mieć inną postać i formę, przez co kod napisany pod kątem starszej biblioteki może nie dać się dowiązać (zlinkować) do jej nowszej wersji, i odwrotnie. Dla uniknięcia bałaganu związanego z wieloma wersjami tych samych bibliotek w Pythonie, możemy użyć tzw. [https://virtualenv.pypa.io/en/latest/user_guide.html wirtualnego środowiska] (''virtual environment'', <code>virtualenv</code>).
 
Biblioteki są nie tylko specyficzne dla danego systemu i kompilatora — są też ciągle ulepszane, a ich funkcjonalności poszerzane. Dlatego też w nowszych wersjach bibliotek wywołania tych samych funkcji mogą mieć inną postać i formę, przez co kod napisany pod kątem starszej biblioteki może nie dać się dowiązać (zlinkować) do jej nowszej wersji, i odwrotnie. Dla uniknięcia bałaganu związanego z wieloma wersjami tych samych bibliotek w Pythonie, możemy użyć tzw. [https://virtualenv.pypa.io/en/latest/user_guide.html wirtualnego środowiska] (''virtual environment'', <code>virtualenv</code>).
  
 
Bardziej radykalnym sposobem na uruchamianie programów w osobnych środowiskach jest wirtualizacja, czyli emulowanie całego systemu operacyjnego "w okienku" .
 
Bardziej radykalnym sposobem na uruchamianie programów w osobnych środowiskach jest wirtualizacja, czyli emulowanie całego systemu operacyjnego "w okienku" .
 
<!--— ten sposób omówimy na wykładzie o [[TI/Od_operatora_do_systemu_operacyjnego|systemach operacyjnych]].-->
 
<!--— ten sposób omówimy na wykładzie o [[TI/Od_operatora_do_systemu_operacyjnego|systemach operacyjnych]].-->
 +
 +
 +
==Wirtualizacja==
 +
 +
[[Plik:Zrzut ekranu 2024 macos VM-sm.png|1024px|bezramki]]

Wersja z 12:18, 3 wrz 2024

Linkowanie bibliotek

Pisząc program komputerowy korzystamy z bibliotek gotowych funkcji, skompilowanych wcześniej dla danego systemu opercyjnego. Na przykład wypisanie na ekran wyniku w języku C wymaga użycia funkcji print(), która znajduje się w bibliotece stdio. Te biblioteki są specyficzne dla danego systemu operacyjnego i zawierają funkcjonalności, tłumaczące wysokopoziomowe komendy języka programowania na działania specyficzne dla danego systemu operacyjnego i sprzętu. W powyższym przykładzie biblioteka stdio (od standard input-output) zawiera funkcje służące do wcztywania danych z pliku lub z klawiatury, oraz wypisywania wyników na ekran (w terminalu). Dzięki temu wypisując wynik funkcją printf() (od print formatted, czyli wydruk sformatowany) nie musimy myśleć o tym, w którym miejscu ekranu znajduje się okienko terminala, i które piksele trzeba podświetlić a które zgasić, żeby ułożyły się w konkretne litery i cyfry.


virtualenv

Biblioteki są nie tylko specyficzne dla danego systemu i kompilatora — są też ciągle ulepszane, a ich funkcjonalności poszerzane. Dlatego też w nowszych wersjach bibliotek wywołania tych samych funkcji mogą mieć inną postać i formę, przez co kod napisany pod kątem starszej biblioteki może nie dać się dowiązać (zlinkować) do jej nowszej wersji, i odwrotnie. Dla uniknięcia bałaganu związanego z wieloma wersjami tych samych bibliotek w Pythonie, możemy użyć tzw. wirtualnego środowiska (virtual environment, virtualenv).

Bardziej radykalnym sposobem na uruchamianie programów w osobnych środowiskach jest wirtualizacja, czyli emulowanie całego systemu operacyjnego "w okienku" .


Wirtualizacja

Zrzut ekranu 2024 macos VM-sm.png