Napisz program, którego zadaniem będzie:

  1. utworzenie pliku na dysku i zmapowanie obszaru pamięci do tego pliku (funkcja mmap), w taki sposób, aby zapisy do pamięci były widoczne w pliku,
  2. uruchomienie podprocesu, który następnie uruchomi program (jedną z funkcji exec*) wyświetlający obrazek z podanego pliku z opcją aktualizacji (np. display -update 1),
  3. proces nadrzędny będzie wykonywał w pętli następujące operacje:
    1. odpyta użytkownika o nazwy kolejnych plików z obrazkami (JPEG lub PNG),
    2. obliczy długość pliku i zmieni odpowiednio wielkość obszaru pamięci wspólnej i zmapowanego pliku (funkcje stat, mmap, ftruncate),
    3. wczyta plik do zmapowanego obszaru pamięci,
    4. ewentualnie wymusi aktualizację wyświetlanego obrazu przez podproces (funkcja memcntl/MC_SYNC???).

Jako program wyświetlający obrazki można zastosować program display należący do pakietu Image Magick. Przydatnym programem wyświetlającym obrazki jest również xv, aczkolwiek jego licencja zezwala tylko na użycie do celów prywatnych.

Uwaga: wersja programu display na Solarisie (diablo) ma jakiś błąd powodujący, że opcja update nie działa prawidłowo. Jako obejście błędu można użyć dodatkowo opcji delay (np. delay 2), co spowoduje aktualizację obrazka. Wersja programu na Linuksie nie ma tego problemu.