Ćwiczenie 0 (wprowadzające) Uruchamianie i posługiwanie się systeme Minix W ramach zadania wprowadzającego należy: A. Zapoznać się z wprowadzeniem do budowy systemu Minix minix_intro.pdf B. Przetestować w laboratorium uruchamianie systemu Minix B.1 Laboratorium w sali CS500 System Minix uruchamia się poprzez załadowanie Linuksa i w nim uruchomienie emulatora qemu. cd mkdir minix cd minix cp /dyd/soi/minix203.img . qemu-system-x86_64 [--curses] ./minix203.img Bezpieczne położenie Miniksa a) w Miniksie $ shutdown b) przełączenie na konsolę emulatora qemu: Alt-[Win/Ctrl/Shift]-2 (powrót do emulacji: -1) > quit B.2 Laboratoria w salach 10 i 139 System Minix uruchamia się poprzez załadowanie Linuksa i w nim uruchomienie emulatora bochs. W zarysie: a. wystartować Linux, b. uruchomić terminal c. skopiować do katalogu domowego przygotowany katalog bochs+minix: cp -R /usr/local/bochs/minix ~ d. uruchomianie emulatora cd minix bochs e. startowanie Miniksa w emulatorze <6 - Begin Simulation> NASTĘPNIE: wybrać w Miniksie klawisz '=' login to root z pustym hasłem C. Wprowadzenie do systemu Minix 1. Rozpoznać podstawowe środowisko i polecenia - shell ash + klawisze strzałek i dopełniające - man man - edytory plików testowych: mined (man mined), vi (man vi) 2. Do dyspozycji masz kilka pseudoterminali przełączanych kombinacją klawiszy (np. Alt-F2) oraz Alt-. Uruchom interpreter ash, który udostępnia m.in. skojarzenie historii poleceń z klawiszami kursorów (klawisze Up, Down) oraz dopełnianie nazw poleceń/ plików przy użyciu klawisza TAB. 3. Zapoznaj się z podstawowymi komendami systemu Minix, a mianowicie: ls, pwd, cd, cp, mkdir, rm, rmdir, more, cat, echo, file, grep, mv, od, cc, sh, who, date, ps, sleep, sed, which, tee, sort, chown, chmod, mount, umount, mkfs, mined, vi. Wywołaj dostęp do dokumentacji dla każdego z poleceń (np. man od). Poznawanie dokumentacji należy rozpocząć od uzyskania informacji o samym systemie stron dokumentacji elektronicznej (polecenie 'man man'). Warto również zapoznać się z działaniem komendy apropos (np. apropos fork). 4. Zapoznaj się ze strukturą systemu plików (drzewo katalogów od /), z zawartością oraz rozmieszczeniem poszczególnych katalogów. 5. Zapoznaj się z konstrukcjami if, while, for języka interpretera poleceń sh (przejrzyj szczegółowo 'man sh'). Zapoznaj się z możliwościami polecenia test. 7. Zakończ pracę wykonując kolejno: sync 8. Uwagi 1. Standardowo skrypty powłoki można uruchamiać zadając je jako argument wywołania interpretera poleceń, np.: sh ./prog Aby móc wykonywać skrypt jako niezależne polecenie, należy mu nadać atrybut wykonywalności poleceniem chmod (man chmod): chmod +x ./prog 2. Należy pamiętać, że domyślnie katalog bieżący nie znajduje się na liście ścieżek zmiennej PATH. Zatem, aby uruchamiać programy z bieżącego katalogu, należy jawnie specyfikować bieżący katalog: ./prog Dobrą praktyką jest umieszczanie wszystkich plików wykonywalnych w podkatalogach bin (np. $HOME/bin) i dodawanie tych podkatalogów do zmiennej PATH. PATH=$PATH:$HOME/bin export PATH vi nowy_skrypt chmod +x ./nowy_skrypt mv nowy_skrypt $HOME/bin Dostępność polecenia na liście ścieżek zmiennej PATH można sprawdzić poleceniem 'which', np. which nowy_skrypt Z. Pozostałe uwagi: - minix203.img to jak na dzisiejsze standardy _tylko_ 50MB - można na przykład taki plik przenosić na USB między środowiskami wirtualnymi na WEiTI i na komputerze prywatnym, - proszę pamiętać, by zawsze swoje rozwiązania zadań laboratoryjnych z SOI.B mieć na co najmniej dwóch różnych nośnikach, przypadkowe kasowanie własnych rozwiązań zdarza się często, - uruchamianie na komputerze prywatnym Miniksa w środowisku qemu pod Linuksem daje możliwość montowania systemów plików z pliku minix203.img do bezpośredniego dostępu do miniksowych plików z poziomu systemu Linux. - dodatkowe użyteczne informacje prowadzący publikuje na liście dyskusyjnej przedmiotu SOI, - jak uczy doświadczenie inwestycja w naukę posługiwania się edytorem vi/vim zawsze procentuje w dalszym życiu zawodowym informatyka.