(Rozdział Instrukcja obsługi programu)

Podobne dokumenty
5.2. Pierwsze kroki z bazami danych

Rozdział 5. Administracja kontami użytkowników

Expo Composer Garncarska Szczecin tel.: info@doittechnology.pl. Dokumentacja użytkownika

Ćwiczenie Zmiana sposobu uruchamiania usług

Instrukcja obsługi Platformy nszkoła. Panel Opiekuna

WPROWADZANIE ZLECEŃ POPRZEZ STRONĘ INSTRUKCJA UŻYTKOWNIKA

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

Komputery I (2) Panel sterowania:

5.4. Tworzymy formularze

Zasoby dyskowe: Eksplorator Windows Z zasobami dyskowymi związane są nierozłącznie prawa dostępu gwarantujące możliwość odczytu, kasowania,

Korzystanie z edytora zasad grupy do zarządzania zasadami komputera lokalnego w systemie Windows XP

Podręczna pomoc Microsoft Power Point 2007

Temat: Organizacja skoroszytów i arkuszy

Podstawy technologii cyfrowej i komputerów

Kopiowanie, przenoszenie plików i folderów

Zawartość. Wstęp. Moduł Rozbiórki. Wstęp Instalacja Konfiguracja Uruchomienie i praca z raportem... 6

5. Administracja kontami uŝytkowników

AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. QuIDE Quantum IDE PODRĘCZNIK UŻYTKOWNIKA

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7

10.2. Udostępnianie zasobów

Aplikacja projektu Program wycinki drzew i krzewów dla RZGW we Wrocławiu

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.1

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

Ustawienia personalne

mfaktura Instrukcja instalacji programu Ogólne informacje o programie biuro@matsol.pl

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

System Wsparcia Organizacji Zakupów w GRUPIE TAURON - Podręcznik Oferenta

Rozdział 2. Konfiguracja środowiska pracy uŝytkownika

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows Vista

e-podręcznik dla seniora... i nie tylko.

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3

INSTRUKCJA OBSŁUGI BIULETYNU INFORMACJI PUBLICZNEJ

windows XP n a j l e p s z e t r i k i

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

3D Analyst. Zapoznanie się z ArcScene, Praca z danymi trójwymiarowymi - Wizualizacja 3D drapowanie obrazów na powierzchnie terenu.

Wyniki operacji w programie

Instrukcja Instalacji

Instrukcja wprowadzania graficznych harmonogramów pracy w SZOI Wg stanu na r.

Włączanie/wyłączanie paska menu

Instrukcja użytkownika ARSoft-WZ3

Nieskonfigurowana, pusta konsola MMC

Rys. 1. Główne okno programu QT Creator. Na rysunku 2 oznaczone zostały cztery przyciski, odpowiadają kolejno następującym funkcjom:

Wprowadzenie do środowiska Qt Creator

Platforma e-learningowa

UNIFON podręcznik użytkownika

SYSTEM ZARZĄDZANIA RELACJAMI Z KLIENTEM CRM7

PWI Instrukcja użytkownika

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows XP

Krótka instrukcja instalacji Adobe Acrobat Reader

7 Business Ship Control dla Symfonia Handel

Rejestratory Sił, Naprężeń.

Rozdział 1. Zagadnienia podstawowe

Instrukcja Wykonawcy - Moduł Aukcji/Licytacji (bez podpisu elektronicznego)

APLIKACJA SHAREPOINT

Ustalanie dostępu do plików - Windows XP Home/Professional

I. Program II. Opis głównych funkcji programu... 19

Synchronizator plików (SSC) - dokumentacja

1. Przypisy, indeks i spisy.

Ćwiczenie 6. Wiadomości ogólne.

Systemy operacyjne. Zasady lokalne i konfiguracja środowiska Windows 2000

Instrukcja użytkowania

7 Business Ship Control dla Systemu Zarządzania Forte

Celem ćwiczenia jest zapoznanie się z podstawowymi funkcjami i pojęciami związanymi ze środowiskiem AutoCAD 2012 w polskiej wersji językowej.

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Wstęp 7 Rozdział 1. OpenOffice.ux.pl Writer środowisko pracy 9

Instrukcja instalacji i obsługi modemu ED77 pod systemem operacyjnym Windows 98 SE (wydanie drugie)


Instrukcja programu ESKUP

Tworzenie prezentacji w MS PowerPoint

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

SUPLEMENT DO DYPLOMU

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.1

Kancelaria instalacja programu

Kancelaria Prawna.WEB - POMOC

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA (KSS)

Konsola MMC. - zarządzanie zaporą sieciową (wf.msc): - zasady zabezpieczeń loklanych (gpedit.msc):

Podręcznik użytkownika Obieg dokumentów

Podręcznik użytkownika programu. Ceremonia 3.1

Rozdział II. Praca z systemem operacyjnym

Wstęp. Skąd pobrać program do obsługi FTP? Logowanie

1. Opis. 2. Wymagania sprzętowe:

Laboratorium - Użycie narzędzia Przywracanie systemu w systemie Windows 7

BIBLIOTEKA LOKALNE CENTRUM WIEDZY PRAKTYCZNEJ PRZEWODNIK PO NARZĘDZIACH WARSZTAT NR 1: ARKUSZE KALKULACYJNE - MINI SKRYPT

Instrukcja obsługi Platformy nszkoła. Panel Ucznia

Instrukcja instalacji oprogramowania Systemu e-kt

1. Opis okna podstawowego programu TPrezenter.

I Tworzenie prezentacji za pomocą szablonu w programie Power-Point. 1. Wybieramy z górnego menu polecenie Nowy a następnie Utwórz z szablonu

Viatoll Calc v1.3. Viatoll Calc. Instrukcja użytkownika. Strona 1

Tablica SMART Board i Microsoft Office krótki poradnik

INSTRUKCJA OBSŁUGI PROGRAMU TESTY UPRAWNIENIA BUDOWLANE 2015

Korzystanie z poczty i Internetu

System Gokart Timing

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Diagnostyka pamięci RAM

netster instrukcja obsługi

Moduł 1 Pliki i foldery

Memeo Instant Backup Podręcznik Szybkiego Startu

INSTRUKCJA UŻYTKOWNIKA. Wielkopolski system doradztwa. edukacyjno-zawodowego

Transkrypt:

POLITECHNIKA CZĘSTOCHOWSKA WYDZIAŁ INŻYNIERII MECHANICZNEJ I INFORMATYKI KATEDRA INŻYNIERII KOMPUTEROWEJ PRACA MAGISTERSKA Mechanizmy stosowane w systemach operacyjnych - system dydaktyczny (Rozdział Instrukcja obsługi programu) Sebastian Świerczyna nr albumu: 30041 kierunek: Informatyka specjalność: Inżynieria oprogramowania i Systemy Informatyczne promotor: dr inż. Jarosław Bilski Częstochowa 2004 1

Spis treści 1. INSTRUKCJA OBSŁUGI PROGRAMU...3 1.1 INSTALACJA I URUCHOMIENIE...3 1.1.1 Instalacja...3 1.1.2 Uruchomienie...4 1.2 GŁÓWNE OKNO SYSTEMU...5 1.2.1 Panel sterowania...7 1.2.2 Główne menu systemu...8 1.2.2.1 Menu Procesy...9 1.2.2.2 Menu Semafory...11 1.2.2.3 Menu Urządzenia...11 1.2.2.4 Menu Narzędzia...12 1.3 TWORZENIE, KOMPILACJA I URUCHAMIANIE PROGRAMÓW...13 1.3.1 Tworzenie i kompilacja...13 1.3.2 Uruchamianie...14 1.4 WIZUALIZACJA OBIEKTÓW...16 1.4.1 Wizualizacja procesów...17 1.4.1.1 Okno procesu...17 1.4.1.2 Eksplorer procesów...20 1.4.2 Wizualizacja semaforów...21 1.4.2.1 Okno semafora...21 1.4.2.2 Eksplorer semaforów...22 1.4.3 Wizualizacja urządzeń...22 1.4.3.1 Okno urządzenia...22 1.4.3.2 Eksplorer urządzeń...23 1.4.4 Wykres czasowy...25 1.4.5 Zawartość i przeglądanie katalogu domowego symulatora...26 1.5 ZASTOSOWANE ALGORYTMY SZEREGOWANIA ZADAŃ...28 1.5.1 Algorytm domyślny...28 1.5.2 Algorytm z podwyższaniem priorytetów...29 2. SPIS ILUSTRACJI...30 2

1. Instrukcja obsługi programu Aby użytkownik aplikacji mógł sprawnie przeprowadzać badania i symulacje, powinien zaznajomić się z niniejszym rozdziałem. Opisuje on budowę graficznego interfejsu użytkownika oraz sposób posługiwania się nim. Dodatkowo w pierwszej części tego rozdziału zostanie poruszony aspekt instalacji i uruchamiania aplikacji na komputerze użytkownika. 1.1 Instalacja i uruchomienie Niniejszy rozdział jest zbiorem wskazówek opisujących instalację, pierwsze uruchomienie programu, oraz pewne podstawowe informacje, które są konieczne, aby zrozumieć działanie systemu. 1.1.1 Instalacja Aplikacja w całości została napisana w języku JAVA firmy Sun. W tym momencie należy powiedzieć, że zgodnie z nomenklaturą nazewnictwa stosowaną przez firmę Sun, program w zasadzie nie jest aplikacją a apletem, mówiąc jeszcze dokładniej apletem podpisanym (Niemniej jednak w dalszej części pracy używane będą zamiennie słowa aplet/aplikacja/system). Certyfikacja apletu była konieczna, gdyż korzysta on lokalnej przestrzeni dyskowej, na komputerze użytkownika, co jest niemożliwe w przypadku apletów niepodpisanych. Aplikacja w własnym katalogu domowym przetrzymuje pliki przykładowych programów, pliki programów źródłowych pisanych przez użytkownika, a także pliki wirtualnych urządzeń istniejących w systemie. Wszystkie w/w dane zapisywane są w podkatalogu SOS, który zostaje utworzony w katalogu domowym użytkownika używającego aplet, katalog ten zostanie utworzony podczas jego pierwszego uruchomienia aplikacji. W związku z tym należy zadbać o dostateczną ilość miejsca oraz odpowiednie prawa dostępu, konieczne do stworzenia takiego folderu. Należy tutaj także powiedzieć, że aplet był kompilowany kompilatorem javac firmy Sun i jest przystosowany do współpracy z Java Virtual Machine w wersji 1.4.2_b01 (lub zgodnej). Należy więc zadbać o zainstalowanie odpowiedniej wersji pluginu w przeglądarce internetowej, na której uruchamiany ma być aplet. 3

Reasumując aplikacja nie wymaga instalowania jej na komputerze użytkownika, wymaga tylko zapewnienia niezbędnej ilości na dysku twardym komputera, oraz przystosowanej do wyświetlania apletów przeglądarki internetowej. 1.1.2 Uruchomienie Po pomyślnym uruchomieniu apletu pojawi się główne okno programu (opisane w rozdziale 1.2). W momencie startu systemu utworzone zostają w nim dwa gotowe do działania procesy: IDLE proces jałowy, jego rola jest identyczna jak w rzeczywistych systemach operacyjnych. Wykonywany jest tylko wówczas, gdy niema innych gotowych procesów, INIT proces, który posiada najwyższy priorytet co gwarantuje, że zostanie wykonany, nim do działania wkroczą inne procesy. Uruchamiany jest jako proces systemowy. Te dwie własności powodują, że w tym procesie można przygotować sobie odpowiedni zestaw obiektów np. semaforów, czy też innych procesów, które będą konieczne do wykonania symulacji. W oryginalnej oryginalnej wersji programu proces ten nie robi nic. Jednak taki stan rzeczy użytkownik może łatwo zmienić podmieniając oryginalny kod procesu INIT na swój własny program (opisane w rozdziale 1.2.2.1). Program pomiędzy kolejnymi sesjami zapamiętuje ustawienia w swoim katalogu domowym. Jeśli pomiędzy kolejnymi uruchomieniami programu katalog ten zostanie usunięty program utworzy go na nowo i uruchomi się z domyślnymi ustawieniami. Zapamiętywane ustawienia to: wersja językowa programu (zmiana opisana w rozdziale 1.2.2.4), wersja algorytmu szeregowania zadań (więcej na ten temat w rozdziale 1.5), nazwa programu, który jest procesem INIT. 4

1.2 Główne okno systemu Po pomyślnym uruchomieniu ukaże się główne okno aplikacji. Już na pierwszy rzut oka widać, że wzorowane jest ono na menadżerze okien KDE, oraz interfejsie znanym z produktów Windows firmy Microsoft począwszy od wersji 95. Podobieństwo było jak najbardziej zamierzone, gdyż większość z użytkowników komputera miała do czynienia z w/w menadżerami okien. Powinno więc być dla nich intuicyjne posługiwanie się tym programem. W oknie tym pojawiać się będą inne okna, które są czymś na kształt okien aplikacji w rzeczywistych systemach operacyjnych. Okna w tym systemie, służą głównie do wizualizacji stanu poszczególnych obiektów wewnątrz systemu (takich jak: procesy, semafory, urządzenia). Poza oknami tego typu znajdziemy tutaj również panel kompilatora, który służy do pisania i kompilowania własnych programów użytkownika (więcej na ten temat w rozdziale 1.3). UWAGA!!! Należy pamiętać o tym, że okna pokazujące stan obiektów w systemie są tylko i wyłącznie wizualizacją tego, co dzieje się wewnątrz tych obiektów. Niezależnie czy okna tego typu są uruchomione, czy też nie system zachowuje się identycznie. O oknach wizualizujących poszczególne typy obiektów będzie mowa w rozdziałach 1.4.x 5

[F] [E] [A] [B] [C] [G] [D] Rys. 1. Ogólny widok systemu Na rysunku 1 przedstawione jest główne okno systemu, wraz z podstawowymi elementami. [A] - przycisk wyświetlający menu główne systemu (rysunek 1 [E]), [B] - zestaw 4 przycisków służących do zmiany aktualnie wyświetlanego pulpitu. W symulatorze mamy do dyspozycji 4 pulpity, na których wyświetlane są okna uruchomionych aplikacji (rysunek 1 [F]), [C] - pasek, na którym umieszczane są przyciski (rysunek 1 [G]) wyświetlanych okien, [D] - pasek sterujący. Za jego pomocą można kontrolować przebieg symulacji (Rozdział 1.2.1), [E] - główne menu aplikacji. Z jego poziomu mamy dostęp do większości opcji systemu (Rozdział 1.2.2), [F] - przykładowe okno programu działającego wewnątrz systemu. Każda aplikacja okienkowa uruchomiona wewnątrz systemu posiada własne okno. Każdemu otwartemu oknu odpowiada przycisk (rysunek 1 [G]) służący do obsługi okna, który umieszczony jest na pasku okien (rysunek 1 [C]), 6

[G] - przycisk służący do minimalizowania, przywracania okna aplikacji. Każdemu wyświetlanemu w systemie oknu odpowiada dokładnie jeden taki przycisk. Po kliknięciu prawym klawiszem na takim przycisku pojawia się menu (rysunek 2). Za pomocą tego menu kontekstowego możemy wykonywać następujące operacje: przenoszenia między pulpitami, minimalizowania, przywracania oraz zamykania okna. Rys. 2. Menu kontekstowe przycisku aplikacji 1.2.1 Panel sterowania Panel sterowania przebiegiem symulacji służy użytkownikowi do wybrania sposobu, w jaki chce przeprowadzić symulacje. Dostępne są dwa tryby: krokowy - pozwalający obserwować krok za krokiem wykonywanie kolejnych instrukcji. W tym przypadku użytkownik wyzwala kolejne takty, ciągły - dający możliwość przeprowadzenia symulacji, w której badany jest stan, jaki osiągnie system po wykonaniu określonego zbioru rozkazów. Wyzwalaniem taktów zajmuje się wbudowany moduł aplikacji. Takty generowane są w ustalonych przez użytkownika odstępach czasu, bądź bez jakichkolwiek opóźnień. Widok takiego panelu, wraz z opisem działania jego poszczególnych elementów, został zawarty na rysunku 3. 7

Uruchamia tryb ciągły symulacji. Takty wyzwalane są automatycznie z odpowiednim opóźnieniem Suwak, za pomocą którego ustalane jest opóźnienie pomiędzy wyzwalaniem kolejnych taktów w trybie ciągłym Wstrzymanie symulacji Wykonanie kolejnego kroku symulacji Restart systemu. Przywrócenie stanu systemu do takiego, jaki ma miejsce tuż po jego uruchomieniu Rys. 3. Panel sterowania systemem 1.2.2 Główne menu systemu Z poziomu tego menu możemy zarządzać obiektami takimi jak procesy, semafory i urządzenia. Dodatkowo można sterować zachowaniem symulatora. Rysunek 4 przedstawia omawiane menu. Znaczenie poszczególnych pod menu zostały wstępnie wyjaśnione za pomocą objaśnień. Bardziej szczegółowe omówienie dostępnych opcji, można znaleźć w kolejnych podrozdziałach. Wyświetlenie okna kompilatora Wyświetlenie okna umożliwiającego przeglądanie zasobów plikowych zgromadzonych w katalogu domowym systemu Wyświetlenie okna, w którym zawarte są podstawowe informacje nt. systemu Zakańczanie pracy z symulatorem Menu dotyczące: -wyboru sposobu wizualizacji, -wyboru algorytmu szeregowania, -wyboru wersji językowej, -wyświetlenie wykresu czasowego Menu dotyczące obsługi procesów znajdujących się w systemie Menu dotyczące obsługi semaforów znajdujących się w systemie Menu dotyczące obsługi urządzeń znajdujących się w systemie Rys. 4. Menu główne systemu 8

1.2.2.1 Menu Procesy Pod menu dotyczące procesów istniejących w systemie. Za pomocą opcji dostępnych z poziomu tego menu można: przeglądać listy procesów istniejących w systemie, uruchamiać nowe procesy, sterować oknami wizualizacji procesów. Możliwe jest także usuwanie procesów istniejących w systemie. Rys. 5. Menu procesy Na rysunku 5 przedstawiono widok tego menu. Jak widać dostępne mamy następujące opcje: Utwórz nowy proces po wybraniu tej pozycji, ukaże się lista wszystkich skompilowanych programów znajdujących się w katalogu domowym programu. Po wybraniu któregoś z programów wyświetlone zostaje okno dialogowe (opisane w rozdziale 1.3.2) określające priorytet i tryb uruchamiana programu. Po zatwierdzeniu wybranych opcji program zostanie uruchomiony, Załaduj nowy proces INIT podmienienie bieżącego procesu INIT na inny. Po wybraniu tej opcji wyświetlona zostanie lista skompilowanych programów, znajdujących się w katalogu domowym aplikacji. Po wybraniu żądanego programu system zostanie uruchomiony ponownie, z załadowanym nowym procesem INIT, Usuń zakończone procesy usuwa z wszelakich okien wizualizujących procesy, które zakończyły swoje działanie. System nie zapewnia automatycznego usuwania zakończonych procesów, gdyż mogłoby to w pewnych sytuacjach utrudniać obserwowanie symulacji, Wszystkie procesy lista wszystkich procesów obecnych w systemie, łącznie z tymi, które zakończyły działanie, a nie zostały jeszcze usunięte. Po wybraniu procesu 9

z takiej listy uruchamiana jest jego wizualizacja. Jeśli okno do wizualizujące było już uruchomione, ale nie widoczne np. w skutek zminimalizowania, lub widoczne na innym niż bieżący pulpit zostaje ono przywrócone, a pulpit jest zmieniany na ten, na którym znajduje się to okno, Gotowe procesy pod menu o działaniu zbliżonym do Wszystkie procesy, z tą różnicą, że tutaj znajdziemy tylko te procesy, które są gotowe do wykonywania, Uśpione procesy pod menu o działaniu zbliżonym do Wszystkie procesy. Jednak wyświetlane są tu listy procesów uśpionych. Dostępne są listy procesów oczekujących na następujące zdarzenia: oczkuje na no konsole wejściową, oczekuje na wysłanie wiadomości, oczekuje na odebranie wiadomości, oczekuje pod semaforem, oczekuje pod wielokrotnym semaforem, oczekuje na otwarcie urządzenia, oczekuje na operacje zapisu/odczytu danych z urządzenia. Zakończone procesy pod menu o działaniu zbliżonym do Wszystkie procesy. Znajdziemy tu jednak listę wszystkich zakończonych, ale jeszcze nieusuniętych procesów w systemie, Eksplorer procesów uruchomienie wewnętrznej aplikacji pokazującej informacje o wszystkich procesach w systemie. Więcej informacji temat eksplorera procesów w rozdziale 1.4.1.1, Pokaż ostatnio wykonywany uruchomienie wizualizacji ostatnio wykonywanego procesu. Jeśli okno do wizualizujące było już uruchomione, ale nie widoczne np. w skutek zminimalizowania, lub widoczne na innym niż bieżący pulpit zostaje ono przywrócone, a pulpit jest zmieniany na ten, na którym znajduje się to okno. 10

1.2.2.2 Menu Semafory Pod menu dotyczące semaforów istniejących w systemie. Za pomocą opcji dostępnych z poziomu tego menu można poznać stan poszczególnych semaforów, a także informacje zbiorczą na temat wszystkich semaforów w systemie. Rys. 6. Menu semafory Jak widać na powyższym rysunku, do wyboru mamy dwie opcje: Wszystkie semafory lista wszystkich semaforów obecnych w systemie. Po wybraniu semafora z takiej listy uruchamiana jest jego wizualizacja. Jeśli okno wizualizujące było już uruchomione, ale nie jest widoczne w skutek zminimalizowania, lub widoczne na innym niż bieżący pulpit zostaje ono przywrócone, a pulpit jest zmieniany na ten, na którym znajduje się to okno, Eksplorer semaforów uruchomienie wewnętrznej aplikacji pokazującej informacje o wszystkich semaforach w systemie. Więcej informacji na temat eksplorera semaforów w rozdziale 1.4.2.2, 1.2.2.3 Menu Urządzenia Pod menu dotyczące urządzeń istniejących w systemie. Za pomocą opcji dostępnych z poziomu tego menu można poznać stan poszczególnych urządzeń, a także informacje zbiorczą na temat wszystkich urządzeń w systemie. Rys. 7. Menu urządzenia Jak widać na powyższym rysunku, do wyboru mamy dwie opcje: Wszystkie urządzenia lista wszystkich urządzeń obecnych w systemie. Po wybraniu urządzenia z takiej listy uruchamiana jest jego wizualizacja. Jeśli okno do wizualizujące było już uruchomione, ale nie widoczne w skutek 11

zminimalizowania, lub widoczne na innym niż bieżący pulpit zostaje ono przywrócone, a pulpit jest zmieniany na ten, na którym znajduje się to okno, Eksplorer urządzeń uruchomienie wewnętrznej aplikacji pokazującej informacje o wszystkich urządzeniach w systemie. Więcej informacji temat eksplorera urządzeń można znaleźć w rozdziale 1.4.3.2, 1.2.2.4 Menu Narzędzia Z poziomu tego menu mamy dostęp do ustawień systemu. Za jego pomocą można zmienić stosowany przez system algorytm szeregowania zadań, uruchomić okno wykresu czasowego, lub zmienić wersję językową interfejsu graficznego. Rys. 8. Menu narzędzia Poniżej zebrano znaczenie poszczególnych opcji menu. Pokazuj okno wykonywanego procesu jeśli zaznaczona jest ta opcja, po każdym wyzwoleniu taktu zegara sprawdzane jest, czy proces, w którym wykonano ostatni rozkaz ma uruchomione okno wizualizacji. Jeśli takowe okno jest uruchomione, ale nie widoczne w skutek zminimalizowania, lub widoczne na innym niż bieżący pulpit zostaje ono przywrócone, a pulpit jest zmieniany na ten, na którym znajduje się to okno. Więcej na temat okien wizualizacji procesów w rozdziale 1.4.1.1, Pokazuj okno wykonywanego procesu (nawet jeśli niewizualizowany) działanie podobne do powyższej opcji. Różnica polega na tym, że jeśli ostatnio wykonywany proces nie miał załączonego okna wizualizującego jest ono uruchamiane, Domyślny algorytm szeregowania zadań/algorytm z postarzaniem opcje te służą do wybrania algorytmu szeregowania zadań w systemie. Algorytm można 12

zmieniać w takcie przeprowadzania symulacji i nie jest konieczne restartowanie systemu. Opis zastosowanych w systemie algorytmów szeregowania zadań w można znaleźć rozdziale 1.5, Wykres czasowy uruchomienie okna, w którym znajduje się wykres czasowy opisujący działania i stan obiektów, w kolejnych taktach systemu. Okno wykresu dostępne jest dopiero po wykonaniu pierwszego taktu. Więcej na temat okien wizualizacji procesów w rozdziale 1.4.4, Minimalizuj wszystkie okna zminimalizowanie wszystkich otwartych okien, Zamknij wszystkie okna zamknięcie wszystkich otwartych okien, Język Polski wybranie polskojęzycznej wersji interfejsu graficznego. Zmiana języka będzie w pełni zastosowana po ponownym uruchomieniu aplikacji, English Language wybranie anglojęzycznej wersji interfejsu graficznego. Zmiana języka będzie w pełni zastosowana po ponownym uruchomieniu aplikacji, 1.3 Tworzenie, kompilacja i uruchamianie programów Jak już wspomniano w rozdziale, w systemie istnieje możliwość tworzenia własnych programów, za pomocą wewnętrznego języka. Naturalnym jest więc to, że system powinien udostępnić użytkownikowi narzędzia, za pomocą których będzie mógł tworzyć własne programy czy też edytować te, które dostarczone zostały wraz z systemem. Koniecznym jest także udostępnienie graficznego narzędzia, za pomocą którego będzie możliwe kompilowanie tychże programów do plików wykonywalnych. 1.3.1 Tworzenie i kompilacja Do tworzenia i kompilowania programów służy narzędzie zwane kompilatorem. Jest ono dostępne z poziomu głównego menu (rozdział 1.2.2). Za jego pomocą możemy edytować, kompilować, zapisywać, lub odczytywać kody źródłowe programów. System składuje pliki źródłowe (a także ich skompilowane wersje) w własnym katalogu domowym, tworzonym na komputerze gdzie uruchomiony jest aplet. 13

Na poniższym rysunku pokazane jest okno kompilatora. Jak widać, w przypadku błędów w kodzie programu kompilator zaznacza linie z błędem, oraz informuje o typie błędu. Jeśli uda się pomyślnie skompilować program, kompilator automatycznie zapisuję plik wynikowy w katalogu domowym aplikacji. Nazwa pliku wykonywalnego jest identyczna z nazwą edytowanego programu, ale zmieniane jest jego rozszerzenie na *.bin. Otworzenie pliku z istniejącym programem Utworzenie nowego, pustego programu Zapisanie kodu źródłowego programu Zapisanie kodu źródłowego programu pod wybraną przez użytkownia nazwą Poprzez podświetlenie na czerwono zaznaczane są linie z błędem Nazwa obecnie edytowanego programu Przeprowadzenie kompilacji programu Okno edycji programu Treść linii w której znajduje się błąd Numer linii w której znajduje się błąd Okno komunikatów kompilatora. Tutaj sygnalizowane są ewentualne błędy Rodzaj napotkanego błędu. (w tym wypadku brak średnika) Rys. 9. Okno kompilatora 1.3.2 Uruchamianie Skompilowane kody źródłowe programów można uruchamiać na trzy, wymienione poniżej sposoby: za pomocą menu opisanego w rozdziale 1.2.2.1, a dokładniej z poziomu pod menu Utwórz nowy proces. Uruchamianie sprowadza się wtedy do wybrania programu z listy wszystkich dostępnych programów wykonywalnych znajdujących się w katalogu domowym, 14

za pomocą okna służącego do przeglądania zasobów zgromadzonych w katalogu domowym systemu (okno to jest opisane w rozdziale 1.4.5). W tym wypadku należy wybrać dowolny plik z rozszerzeniem *.bin i nacisnąć przycisk Otwórz, poprzez umieszczenie w kodzie programu instrukcji CREATE_PROCES opisanej w rozdziale. W przypadku użycia dwóch pierwszych sposobów konieczne jest określenie, z jakim priorytetem ma zostać utworzony proces, oraz czy ma pracować w trybie użytkownika, czy też systemowym. Wyboru takiego można dokonać za pomocą okna pokazanego na rysunku 10. Okno to wyświetlane jest automatycznie podczas ręcznego tworzenia nowego procesu.(ręcznie - czyli nie z poziomu kodu innego programu). Uruchamianie nowego programu może mieć miejsce w dowolnym momencie działania systemu, czyli przed lub po wykonaniu pierwszego taktu, niezależnie czy symulacja prowadzona jest za pomocą ręcznego wyzwalania taktów, czy też w trybie automatycznym. Nazwa uruchamianego programu Podgląd kodu źródłowego programu Priorytet tworzonego procesu Określa czy proces ma być utworzony jako: -użytkownika -systemowy Potwierdzenie ustawień. Utworzenie nowego procesu Rys. 10. Okno dialogowe Utwórz nowy proces 15

1.4 Wizualizacja obiektów Ponieważ zadaniem aplikacji jest symulowanie procesów zachodzących wewnątrz systemu, koniecznym jest wyposażenie jej w narzędzia, które odzwierciedlałyby wnętrze i stany, w jakim się znajdują poszczególne obiekty istniejące w systemie, a także zależności pomiędzy tymi obiektami. Wychodząc na przeciw oczekiwaniom stawianym systemowi, został on wyposażony w narzędzia do wizualizacji pojedynczych obiektów, ale także pokazujące stan wszystkich obiektów tego samego typu (np. pokazanie informacji o wszystkich procesach w systemie). Takie zbiorcze przedstawienie pewnej grupy obiektów nazywane jest eksploracją. Mamy więc np. narzędzie o nazwie eksplorator procesów. Dodatkowo aplikacja posiada możliwość przedstawienia w formie wykresu czasowego opisu działań i stanów obiektów w kolejnych taktach systemu. Narzędzie do przeprowadzania wizualizacji tego typu zostało nazwane wykresem czasowym. Ponieważ w wielu oknach stosowane są ikony, obrazujące pewne stany, bądź sytuacje, przed przystąpieniem do omawiania poszczególnych narzędzi wizualizujących warto zaznajomić się z tabelą 1, w której zostały zebrane ich znaczenia. W tym miejscu watro też przypomnieć, że okna wizualizujące są tylko i wyłącznie ilustracją tego, co dzieje się wewnątrz systemu. Niezależnie czy okna tego typu są uruchomione, czy też nie system zachowuje się identycznie. Tabela 1. Stosowane ikony i ich znaczenia Ikona Znaczenie Ostatnio wykonywany proces, Ostatnio wykonywany rozkaz Proces, Ikona pliku wykonywalnego (z skompilowanym programem) Proces systemowy Ostatnio wykonany rozkaz w procesie Semafor o wartości równej zero 16

Semafor o wartości różnej od zera Zamknięte urządzenie Otwarte urządzenie Nowy obiekt W obiekcie miały miejsce jakieś zmiany Ikona pliku z kodem źródłowym programu 1.4.1 Wizualizacja procesów Ponieważ procesy są najważniejszymi obiektami w systemie, więc narzędzia służące do ich wizualizacji siłą rzeczy muszą być najbardziej rozbudowane. Niemniej jednak, tak jak w przypadku obiektów każdego innego typu mamy do dyspozycji dwa rodzaje okien: jedne służące do przedstawiania stanu pojedynczego procesu, a drugie do równoczesnej obserwacji wszystkich procesów. 1.4.1.1 Okno procesu Okno służy do wizualizowania pojedynczego procesu działającego w systemie. Przykładowe okno zostało przedstawione na rysunku 11. Na pasku tytułowym znajduje się PID procesu, wraz z nazwą wykonywanego programu. Oto opis poszczególnych obszarów okna: [A] - kod źródłowy programu kod programu, który wykonuje proces. Za pomocą odpowiednich ikon zaznaczony jest ostatnio wykonywany rozkaz tego procesu, [B] - konsola wyjściowa procesu konsola, za pomocą której proces wyświetla informacje dla użytkownika, [C] - konsola wejściowa procesu konsola, za pomocą której użytkownik może wprowadzać dane do procesu. Wysłanie danych do procesu następuje po wciśnięciu przycisku Zatwierdź, 17

[D] - wszystkie semafory lista wszystkich istniejących semaforów w systemie. Po dwukrotnym kliknięciu na wybranym semaforze otwierane jest jego okno wizualizujące. Lista semaforów podzielona jest na następujące kolumny: Z Zmiany - ikona obrazująca zmiany w semaforze, po wykonaniu ostatniego taktu, W Wartość - ikona obrazująca bieżącą wartość semafora, ID numer ID semafora, Nazwa nazwa semafora, Wartość bieżąca wartość semafora, Maks maksymalna wartość semafora, Oczekujących liczba procesów oczekujących pod semaforem, [E] - Lista urządzeń otwartych przez proces. Po dwukrotnym kliknięciu na wybranym urządzeniu otwierane jest jego okno wizualizujące. Lista urządzeń podzielona jest na następujące kolumny: Z Zmiany - ikona obrazująca zmiany w urządzeniu, po wykonaniu ostatniego taktu, ID numer ID urządzenia, Nazwa nazwa urządzenia, Dostęp tryb, w jakim urządzenie zostało otwarte przez proces. Dopuszczalne tryby to RO tylko do odczytu, WO tylko do zapisu, RW możliwy zarówno odczyt jak i zapis, Rozmiar numer ID semafora, [F] - Kolejka wiadomości wejściowa kolejka wiadomości procesu. Zebrane są tutaj wszystkie wiadomości, jakie dotarły do procesu, ale jeszcze nie zostały przez niego przetworzone. Kolejka komunikatów podzielona jest na następujące kolumny: Z Zmiany - ikona obrazująca zmiany w liście komunikatów. Nadawca proces, od którego pochodzi wiadomość. Wiadomości pochodzące z konsoli wejściowej procesu w tym polu wpisane mają konsola, 18

Dane treść komunikatu, [G] - Funkcje kontrolujące bieżące wartości funkcji takich jak: SYS_RESULT, SEM_RESULT, DEV_RESULT, MSG_RESULT. Znaczenie wartości tych funkcji zostało omówione w rozdziale. [H] - Lista zmiennych lista zmiennych, widocznych w bieżącym miejscu wykonywania programu. Lista podzielona jest na trzy kolumny: I. nazwa zmiennej, wraz z ikoną wizualizującą, jakie zmiany zaszły w niej po wykonaniu ostatniego taktu w systemie, II. wartość zmiennej, III.typ zmiennej. [I] - pasek stanu, z którego możemy się dowiedzieć: jaki priorytet posiada proces, w jakim stanie aktualnie się znajduje, czy jest to proces systemowy, czy też proces użytkownika, ilość taktów, jaką poświęcił system na wykonywanie rozkazów pochodzących z tego procesu. [J] - Zabij proces za pomocą tego przycisku można wymusić przedwczesne zakończenie wykonywania procesu. 19

[D] [G] [A] [E] [H] [B] [F] [C] [I] [J] Rys. 11. Wizualizacja procesu 1.4.1.2 Eksplorer procesów Kolejnym narzędziem mającym zastosowanie w obserwacji przeprowadzanej symulacji jest Eksplorer procesów. Dostępny jest on z pod menu opisywanego w rozdziale 1.2.2.1. Zawiera listę wszystkich procesów istniejących w systemie. Po dwukrotnym kliknięciu na wybranym procesie uruchamiana jest jego wizualizacja. Opis poszczególnych kolumn: Z Zmiany ikona obrazująca zmiany w stanie procesu, po wykonaniu taktu, W Wykonywany ikona obrazuje, czy proces był wykonywany w ostatnim takcie, S Systemowy ikona obrazuje, czy proces pracuje jako systemowy, czy też w trybie procesu użytkownika, PID numer PID procesu, Nazwa nazwa programu, który jest wykonywany przez proces, Kolejka kolejka systemowa, w której aktualnie znajduje się proces, 20

Priorytet priorytet procesu Rys. 12. Eksplorer procesów 1.4.2 Wizualizacja semaforów Kolejnym typem obiektów istniejących w systemie są semafory. Podobnie jak w przypadku procesów mamy do dyspozycji dwa rodzaje okien, służących do przedstawiania stanu pojedynczego semafora, jak i równoczesnej obserwacji wszystkich semaforów istniejących w systemie. 1.4.2.1 Okno semafora Okno to obrazuje pojedynczy semafor istniejący w systemie. W oknie zgromadzone są następujące dane: numer identyfikujący semafor (ID), nazwa semafora, jego bieżąca i maksymalna wartość. Przedstawiona jest również ewentualna kolejka procesów oczekujących pod tym semaforem. Znaczenia kolumn tabeli opisującej kolejkę semafora są identyczne z znaczeniem kolumn z okna eksplorera procesów (rozdział 1.4.2.1) Rys. 13. Wizualizacja semafora 21

1.4.2.2 Eksplorer semaforów Kolejnym narzędziem służącym do obserwacji obiektów systemowych zwanych semaforami jest eksplorer semaforów. Tak jak to miało miejsce w przypadku eksplorera procesów, okno to umożliwia przeglądanie spisu i właściwości wszystkich obiektów tego samego typu, w tym wypadku spisu semaforów. Otwarcie tego okna jest możliwe z poziomu menu semafory opisywanego w rozdziale 1.2.2.2. Na rysunku 14 przedstawiono przykładową zawartość okna. Jak widać podzielone jest ono na dwie części. W lewej części znajduje się spis wszystkich semaforów. Znaczenie poszczególnych kolumn tej listy jest identyczne jak w przypadku spisu semaforów z okna wizualizacji procesu (rozdział 1.4.1.1) Podwójne kliknięcie na którymś z semaforów powoduje otwarcie okna wizualizującego wybrany semafor. Natomiast pojedyncze kliknięcie powoduje wyświetlenie w prawej części okna listy procesów oczekujących pod semaforem. Struktura i znaczenie kolumn listy procesów oczekujących pod semaforem jest taka sama jak w przypadku okna wizualizującego pojedynczy semafor (rozdział 1.4.2.1) Rys. 14. Eksplorer semaforów 1.4.3 Wizualizacja urządzeń Kolejnym, a zarazem ostatnim typem obiektów istniejących w systemie są urządzenia. Podobnie jak w przypadku procesów i semaforów mamy do dyspozycji dwa rodzaje okien, służących do obrazowania pojedynczego urządzenia, jak i równoczesnej obserwacji wszystkich urządzeń istniejących w systemie. 1.4.3.1 Okno urządzenia Przy pomocy okna tego typu (rysunek 15) można obserwować urządzenie, a dokładniej jego właściwości typu: numer identyfikacyjny (ID), nazwa urządzenia, tryby, w jakim 22

może zostać otwarte, bieżącą oraz maksymalną ilość równocześnie korzystających z urządzenia procesów. Można także zobaczyć aktualną zawartość urządzenia, listę procesów korzystających z urządzenia, jak i listę procesów oczekujących na otwarcie czy też na operacje zapisu/odczytu danych z urządzenia. Lista procesów, które otworzyły urządzenie ma konstrukcje identyczną z tą znaną z okna wizualizacji procesu (rozdział 1.4.1.1). Natomiast lista procesów oczekujących pod urządzeniem została pozbawiona kolumny określającej, w jakim trybie urządzenie zostało otwarte przez proces. Jednocześnie dodano dwie kolumny mówiące o wartości priorytetu procesu, oraz o tym, w jakiej kolejce systemowej oczekuje proces (na podstawie tej informacji można wnioskować czy proces czeka na otwarcie urządzenia, czy też na operacje odczytu/zapisu danych). Rys. 15. Wizualizacja urządzenia 1.4.3.2 Eksplorer urządzeń Okno to, podobnie jak inne eksploratory obiektów wyświetla pełną listę urządzeń istniejących w systemie, w tym wypadku są to urządzenia. W oknie tym można wyróżnić dwie części: część lewa to tutaj znajduje się pełna lista urządzeń. Podwójne kliknięcie na którymś z urządzeń powoduje otwarcie okna wizualizującego wybrane urządzenie. Natomiast pojedyncze kliknięcie powoduje zmianę zawartości tabel 23

znajdujących się w prawej części okna, opisujących stan urządzenia. Znacznie poszczególnych kolumn: Z Zmiany ikona obrazująca zmiany w stanie urządzenia, po wykonaniu taktu, O Otwarte ikona wizualizująca stan urządzenia, a dokładniej fakt czy urządzenie jest otwarte przez jakikolwiek proces, ID numer identyfikacyjny urządzenia, Nazwa nazwa urządzenia, Dostęp tryby w jakim urządzenie może być otwierane przez procesy, Maks maksymalna liczba procesów, które mogą równocześnie korzystać z urządzenia, LiczbaKorzystających liczba procesów, które aktualnie korzystają z urządzenia, LiczbaOczekujących liczba procesów oczekujących na otwarcie urządzenia, Rozmiar aktualna ilość danych przechowywanych w urządzeniu. część prawa po zaznaczeniu w części lewej konkretnego urządzenia, w tym fragmencie okna pojawiają się szczegółowe dane na temat procesów korzystających, lub ubiegających się o dostęp do urządzenia. Dane te przedstawione są w formie list o strukturze identycznej do tabel znanych z okna wizualizacji urządzenia (rozdział 1.4.3.1) Rys. 16. Eksplorer urządzeń 24

1.4.4 Wykres czasowy Kolejnym ważnym komponentem systemu jest narzędzie o nazwie wykres czasowy. Ma ono zupełnie inne możliwości, niż wszystkie omawiane do tej pory okna. W przeciwieństwie do omawianych narzędzi wizualizacji, które obrazowały stan obiektu uchwycony pomiędzy wykonywaniem kolejnych taktów, narzędzie to loguje wszystkie operacje wykonane od uruchomienia systemu. Zapis tych działań przedstawiony jest w formie wykresu czasowego, w którym każdej kolumnie odpowiada takt w systemie, a każdemu wierszowi odpowiada konkretny obiekt istniejący w systemie. Okno wykresu czasowego dostępne jest po wykonaniu pierwszego taktu, z poziomu menu Narzędzia (rozdział 1.2.2.4). Możliwe jest uruchomienie tylko jednej instancji tego wykresu. Takie ograniczenie podyktowane jest dużymi narzutami pamięciowymi dla danych przechowywanych w wykresie. Jak widać na rysunku 17 okno wykresu czasowego podzielone jest na trzy zasadnicze fragmenty. W części prawej widoczna jest legenda, opisująca znaczenie poszczególnych kolorów komórek. W części lewej znajduje się kolumna zawierająca spis wszystkich obiektów wyświetlanych na wykresie. W części środkowej znajdują się komórki wykresu opisujące stany poszczególnych obiektów w kolejnych taktach. Po najechaniu kursorem myszy na konkretną komórkę pojawia się podpowiedź dokładnie opisująca stan obiektu oraz wykonywane przez niego czynności Rys. 17. Okno wykresu czasowego 25

W przypadku przeprowadzania dużych symulacji, kiedy to w systemie istnieje bardzo wiele obiektów, koniecznym może być zawężenie liczby wyświetlanych wierszy do tych, które reprezentują interesujące obiekty. Z pomocą przychodzą wtedy opcje zawarte w menu wykresu czasowego. Widok i opcje tego menu zostały przedstawione na rysunku 18. Rys. 18. Menu wykresu czasowego Znaczenie poszczególnych opcji: Posortuj po typach obiektów opcja użyteczna jeśli system wykazuje dużą dynamikę pod względem tworzenia nowych obiektów o zróżnicowanych typach. W takim przypadku nowe obiekty dodawane są jako kolejne wiersze wykresu, co prowadzi do przemieszania w kolejnych wierszach obiektów różnego typu. Użycie tej opcji prowadzi do posortowania zawartości wierszy wykresu. Najpierw umieszczane są procesy, a w dalszej kolejności semafory i urządzenia, Usuń nieistniejące obiekty usuwa z wykresu wszystkie wiersze, które zawierają zakończone procesy, oraz usunięte z systemu semafory oraz urządzenia, Wybierz wyświetlane obiekty po wybraniu tej opcji wyświetlana jest lista wszystkich obiektów istniejących w systemie. Użytkownik może wybrać te, które mają być widoczne na wykresie. 1.4.5 Zawartość i przeglądanie katalogu domowego symulatora Aby można było wygodnie pracować z omawianym symulatorem, powinien on zapamiętywać pewne dane, które wprowadził użytkownik (kody źródłowe, oraz skompilowane programy). Zgodnie z tymi założeniami program zapisuje w/w pliki w swoim własnym katalogu domowym o nazwie SOS, utworzonym w katalogu domowym użytkownika uruchamiającego aplet. 26

Koniecznym jest zatem udostępnienie narzędzia, za pomocą którego będzie można z poziomu symulatora sprawdzić zawartość tego katalogu. Narzędziem służącym do tego typu operacji jest okno Katalog domowy, dostępne z poziomu menu głównego (rozdział 1.2.2). Za jego pomocą możemy przeglądać zawartość folderu aplikacji. Po wybraniu któregoś z plików i wciśnięciu przycisku Otwórz nastąpi jego uruchomienie. W zależności od rozszerzenia pliku możliwe są następujące operacje: *.bin plik z skompilowanym programem. Podczas otwierania takiego pliku przeprowadzana jest próba jego uruchomienia. Użytkownik pytany jest za pomocą okna dialogowego utwórz nowy proces (rys 10) o parametry utworzenia procesu, typu: priorytet i tryb pracy procesu, *.prg plik z kodem źródłowym programu. Plik tego typu uruchamiany jest w kompilatorze. Lista plików Lista rozszerzeń plików, które mają być uwzględnione w liście plików Otwarcie wybranego pliku Nazwa zaznaczonego pliku Rys. 19. Okno przeglądania zawartości katalogu domowego 27

1.5 Zastosowane algorytmy szeregowania zadań Podobnie jak w każdym rzeczywistym systemie wielozadaniowym, tak i w tym symulatorze istnieje pewien w algorytm szeregowania zadań. Tak jak było to już mówione w rozdziale, algorytm taki określa, w jakiej kolejności mają być wykonywane procesy współistniejące w systemie. W aplikacji zastosowano dwa algorytmy. Przełączanie się pomiędzy nimi opisano w rozdziale 1.2.2.4. W poniższych pod rozdziałach zawarto omówienie wbudowanych algorytmów szeregowania zadań 1.5.1 Algorytm domyślny Algorytm ten dzieli procesy na następujące klasy procesy systemowe procesy takie posiadają bezwzględne pierwszeństwo wykonywania się w stosunku do każdej innej klasy procesów. Specjalnym rodzajem procesu systemowego jest proces INIT. Proces ten jest tworzony w momencie startu systemu, posiada priorytet wyższy niż jakikolwiek inny proces. Jeśli więc proces ten będzie w stanie gotowym - system gwarantuje, że to on będzie wykonywany, procesy użytkownika procesy tego typu wykonywane są wówczas, gdy niema żadnego gotowego procesu systemowego, proces idle choć jest to proces systemowy, wykonywany jest tylko w momencie, gdy brak jest w systemie jakiegokolwiek innego gotowego procesu, W dalszych rozważaniach pominiemy procesy INIT oraz IDLE, gdyż jak wyjaśniono powyżej, gdyż wykonywane one są niejako niezależnie od algorytmu szeregowania zadań. Wszystkie pozostałe procesy mogą posiadać priorytety z zakresu od 1 do 11. To właśnie od wartości priorytetu zależy, kiedy i na jak długo proces otrzyma procesor. Procesor przydzielany jest gotowym procesom o najwyższym priorytecie (w obrębie swojej klasy). Długość kwantu czasu, na jaki zostanie przydzielony procesor jest proporcjonalna w stosunku 1:1 do priorytetu procesu. Tak więc dla przykładu: gotowy proces o priorytecie 10 otrzyma procesor na 10 taktów. Jeśli podczas wykonywania procesu inny proces o wyższym priorytecie, lub proces pochodzący z bardziej uprzywilejowanej klasy otrzyma status wykonywalny - obecnie wykonywany proces zostaje wywłaszczony. 28

1.5.2 Algorytm z podwyższaniem priorytetów Algorytm ten jest modyfikacją domyślnego sposobu szeregowania zadań omówionego w poprzednim pod rozdziale. Wszystko to, co powiedziano na temat klas procesów oraz ich priorytetów pozostaje w mocy. Jedyną innowacją w stosunku do powyższego algorytmu jest mechanizm postarzania priorytetów procesów długo oczkujących na czas procesora. Rozwiązanie takie zapobiega głodzeniu procesów. Polega ono na stopniowym zwiększaniu priorytetu procesom, które podczas trwania epoki nie otrzymały czasu procesora. W momencie, gdy taki proces, który miał zawyżony priorytet (w skutek postarzania) otrzyma swój czas procesora przywracany jest mu jego bazowy priorytet. Jako epokę w tym wypadku należy rozumieć wykonanie wszystkich procesów z zakresu jednej klasy o najwyższym priorytecie. Po wykonaniu tych operacji, wszystkim procesom, które nie otrzymały czasu procesora, w obrębie tej klasy zwiększany jest priorytet o jeden. Jako ciekawostkę można dodać, że rozwiązanie postarzania priorytetów zostało wprowadzone do rzeczywistych systemów, gdy w 1973 roku, w wycofywanym z eksploatacji systemie IBM 7094 wykryto zagłodzony, niskopriorytetetowy proces przedłożony do wykonania w 1967 roku. 29

2. Spis ilustracji RYS. 1. OGÓLNY WIDOK SYSTEMU...6 RYS. 2. MENU KONTEKSTOWE PRZYCISKU APLIKACJI...7 RYS. 3. PANEL STEROWANIA SYSTEMEM...8 RYS. 4. MENU GŁÓWNE SYSTEMU...8 RYS. 5. MENU PROCESY...9 RYS. 6. MENU SEMAFORY...11 RYS. 7. MENU URZĄDZENIA...11 RYS. 8. MENU NARZĘDZIA...12 RYS. 9. OKNO KOMPILATORA...14 RYS. 10. OKNO DIALOGOWE UTWÓRZ NOWY PROCES...15 RYS. 11. WIZUALIZACJA PROCESU...20 RYS. 12. EKSPLORER PROCESÓW...21 RYS. 13. WIZUALIZACJA SEMAFORA...21 RYS. 14. EKSPLORER SEMAFORÓW...22 RYS. 15. WIZUALIZACJA URZĄDZENIA...23 RYS. 16. EKSPLORER URZĄDZEŃ...24 RYS. 17. OKNO WYKRESU CZASOWEGO...25 RYS. 18. MENU WYKRESU CZASOWEGO...26 RYS. 19. OKNO PRZEGLĄDANIA ZAWARTOŚCI KATALOGU DOMOWEGO...27 30