# Mimiker: cele na 2020/21-L ###### tags: `mimiker` * Zamknięcie prac nad kodem: **28 czerwca 2021** * Deadline na przygotowanie prezentacji: **2 lipca 2021** ## Cel Interaktywna sesja na RPi3 z podczepionym monitorem, klawiaturą i myszą. Scenariusz prezentacji: 1. Włączamy RPi3. 2. Program `init` startuje emulator terminala `st`. 3. Program `login` prosi nas o nazwę użytkownika i hasło. 4. Prezentacja powłoki systemowej `ksh`: - job control i lista procesów, - sprawdzenie wieloużytkownikowości, - wpisywanie poleceń korzystających z potoków, - pokazanie pseudoterminali w akcji `script`. 5. Używając `atto` edytujemy plik w `lua` i uruchamiamy przy pomocy interpretera. 6. Włączamy grę `tetris` i prezentujemy możliwości terminala. 7. Pokazujemy dokumentację do projektu. Opcjonalnie: 1. System plików na urządzeniu pendrive USB lub karta SD. 2. Interaktywna gra `doom` w trybie graficznym. 3. Wysyłanie i odbieranie pakietów sieciowych. ## Czego najbardziej nam brakuje? 1. Urządzenia prezentującego zdarzenia z klawiatury i myszy w stylu `evdev` lub `wscons`. 2. Sterownik kontrolera hosta USB na RPi3. 3. Sterownika myszy i klawiatury USB (WiP). 4. Emulatora terminala `st` (WiP). 5. Sterownika framebuffer'a. 6. Program rozruchowy `init`. 7. Działające i przetestowane potoki. 8. Strona główna dokumentacji z opisem podsystemów. 9. Nieblokujące I/O. ## Czego brakuje nam trochę mniej? 1. Prawdziwe pliki urządzeń. 2. `mmap` dla pamięci urządzeń. ## Co dobrze byłoby mieć? 1. Szybki `fork` i `mmap` działający dla plików. 2. Uproszczony odpowiednik `kqueue`. 3. Warstwy buforującej `bread` i `bwrite` dla systemu plików.