Przygotowanie własnego komputera do laboratoriów SO

Niniejszy dokument opisuje pokrótce, jak przygotować (co pobrać, co zainstalować, ...) własny komputer do pracy na laboratoriach SO.

Zainstalować

W poniższym opisie dla ułatwienia podaję nazwy paczek z Ubuntu. Jeśli ktoś korzysta z innego systemu operacyjnego, powinien zainstalować ich odpowiedniki – zazwyczaj nazwy będą podobne. Zawartość paczki z Ubuntu można także wygodnie sprawdzić za pomocą strony Wyszukiwanie pakietów dystrybucji Ubuntu.

Podczas laboratoriów SO będziemy korzystać m.in. z następujących programów i narzędzi:

Sprawdzić/włączyć sprzętowe wsparcie wirtualizacji

Korzystanie ze sprzętowego wsparcia wirtualizacji za pomocą KVM (KVM acceleration) znacząco przyspiesza działanie maszyny wirtualnej.

Aby móc korzystać ze sprzętowego wsparcia wirtualizacji, musi być ono oferowane przez dany proces. Sprawdzić, czy procesor oferuje takie wsparcie, można za pomocą polecenia egrep -c '(vmx|svm)' /proc/cpuinfo – wartość większa od 0 oznacza, że tak.

Korzystanie ze sprzętowego wsparcia wirtualizacji może wymagać włączenia tej opcji w BIOS/UEFI – czasami jest domyślnie wyłączona. Opcja ta może nazywać się także Intel VTx lub AMD-V.

Aby maszyna wirtualna mogła korzystać ze sprzętowego wsparcia wirtualizacji, w systemie operacyjnym powinny być zainstalowane wszystkie potrzebne do tego moduły/sterowniki/biblioteki (w Ubuntu powinno wystarczyć zainstalowanie wyżej podanych paczek).

Czy wsparcie sprzętowe wirtualizacji może być użyte, można sprawdzić za pomocą polecenia kvm-ok (paczka cpu-checker).

Pobrać obraz maszyny wirtualnej MINIX

Podczas zajęć będziemy korzystali ze specjalnie przygotowanego obrazu maszyny wirtualnej z systemem MINIX. Obraz ten dostępny jest na serwerze students w pliku /home/students/inf/PUBLIC/SO/scenariusze/4/minix.img.xz (379 MB). Należy go pobrać (np. za pomocą scp) i rozpakować.

Opcjonalnie: zainstalować Eclipse IDE

Na zajęciach będziemy czytali i modyfikowali pliki źródłowe systemu MINIX. Jest to stosunkowo duży projekt, więc warto, żeby edytor/IDE ułatwiał pracę z takim kodem (nawigacja po kodzie, podpowiedzi, wstępna walidacja, ...).

Podczas zajęć można oczywiście korzystać w tym celu z dowolnego edytora/IDE. Jednak jeśli ktoś nie ma swojego ulubionego edytora/IDE lub nie ma on dobrego wsparcia dla dużych projektów napisanych w C, lub po prostu chciałby spróbować także czegoś innego, to polecam Eclipse IDE z CDT (C/C++ Development Tooling) – najłatwiej go pobrać i zainstalować za pomocą oferowanego instalatora (podczas instalacji należy wybrać wersję Eclipse IDE for C/C++ Developers). Podczas zajęć pokażę, jak skonfigurować go do pracy z kodem źródłowym MINIX-a.