- 3* -
System operacyjny symulatorom maszyny wi.rtuo.lnoj obliczonia
Do podziału oprogrumownuia na oprogrumowanio użytkowo i system operacyjny można dojść również przeprowadzając inne rozumowanio.
Jeśli chcemy zastosować maszynę cyfrową do rozwiązywania Jakiegoś problemu wynikającogo z potrzeb Jakiegoś zbioru użytkowników (rozumianych tok Jak wyżoj) powinniśmy sformułować ton problem i określić sposób Jogo rozwiązywania.*Sposób rozwiązywania problemu można wyrazić w formio o-blleżenia, któro rozpati'ywać można Jako uporządkowany zbiór operacji wykonywanych na slcońozonym zblorzo danych, przekształcających ten zbiór w inny skończony zbiór wyników.
Realizacja obliczonia w mnszynio cyfrowej sprowadza się do umieszczenia programu togo obliczo-nla w pamięci maszyny i przydzielenia temu programowi niezbędnej liczby procesorów. Program obliczenia Jest sformalizowanym zapisom tego obliczonia w Języku programowania. Operacje obliczonia wyrażano są za pośrodnictwom instrukoji (zdań ) tego języka.
Układując program obliczonia z roguły nio intorosujemy się technicznymi detalami konkretnoJ maszyny cyfrowej. Nio troszczymy się o to w jaki sposób strumienie danyoh i wyników progrurau będą przenoszono przez konkretno urządzania wejścia-wyjścia, w Jaki sposób program będzie rozmieszczony w pomięci i wroszcio skąd w maszynio znajdzie się niezbędny zostaw procesorów.
$
ZakJadutny, żo taka maszyna istnie Jo i że jost nią abs tralccy Jna, wirtualna maszyna obliozenia. Maszyna ta dyspomijąc zbiorom wirtualnych procesorów i wirtualną pamięcią kontaktuje się z otoczeniom przez wirtualne urządzenia wejśoia-wyjścia będące producentami danych i konsumentami wyników programu. Maszyny wirtualno niezmiernie rzadko są roalizowane sprzętowo, przeważnie są one symulowano na maszynach rzeczywistych. Poszukując odpowiadającej nam maszyny wirtualnej w isto-oio poszukujemy zrealizowanego Joj symulatora.
Warto sobie uświadomić, że obszar pohukiwań ogranicza podjęta uprzednio decyzja: wybór Języka programowania. Wybór Języka niskiego poziomu (assoinblera ) proktyoznie oznacza również wybór konkret noJ ImplomontacJi symulatora maszyny wirtualnoJ. Jeśli wybraliśmy Język wysokiego poziomu, to możemy odnaleźć wiolo implomontacJi potrzebnej nam maszyny wirtualnej. W wielu wypadkach bowiem nasza maszynę wirtualną można odwzorować w innoj maszynio wirtualnej, dokonując formalnego przoksztalconia programu naszego obliozenia na równoważny mu funkcJonalni© program innoj maszyny. Można to wykonać za pomocą kompilatora przyjętogo Języka programowania, który albo istnieje albo musi być napisuny.
Niekiedy Jodnak wśród dostępnych symulatorów nio znajdziemy takiego, któży odpowiadałby na-ny.ym potrzebom. Musimy wtody ton symulator skonstruować.
Zauważmy, że skoro maszyna wirtualna ma mioć niezbędną liczbę wirtualnych procesorów, wirtualne pamięci itp. to utworzyć Jo możemy z fizycznych procosorów i pamięci dokonując ich podziału-wg Jakichś reguł. Wyżoj pokazaliśmy, że podziałom sprzętowych zasobów maszyny cyfrowoj zajmie się i.ystom operacyjny toj maszyny. Symulator maszyny wirtualnej na maszynio rzoczywistoj będzio więc systemom opora* lym tej rzoczywistoJ maszyny cyfro\/oj działającym nu rzecz programu obliczenia czyli oprogramowania użytkowego.
Przystępując do konstruowania symulatora maszyny wirtuuluuj musimy zacząć od zaprojoktowuiila Lej maszyny. Projektując maszynę wirtualną okroślamy jej Język. Język maszyny wirtualnej Jest prawio zawsze Językiem niskiego poziomu z tej przyczyny, że z reguły obojmujo instrukcjo rzeczywistej maszyny (arytmetyczne, logiczno), których po prostu nio trzeba wtody symulować. Przekształcanie programu obliczenia, Jeśli napisano go w Języku wysokiego poziomu, Jost zadaniom kompilatora, który, być możo,. będzio miał z tym sporo roboty. Nio ma to Jodnak wpływu na jokość realizacji obliczenia, gdyż kompilacja przobioga w innym czasie i często w innym miejscu niż realizowano Jost obiiczonic. Gdyby natomiast system operacyjny musiał interprotacyjnio wykonywać wszystkio iusli*nkcje programu obliczonia, miałoby to bezpośredni wpływ na czas tej realizacji.
>bói i zoozywi s togo systemu korapu torowe go, a ściślej Jego konfiguracji, ograniczany Jost ivzoz konieczność uwzględnienia urządzeń vuJściu/wyJścia dostosowanych do fizycznych właściwości współdziałającego obiektu (Inno urządzenia - gdy z systemu korzystają ludzio, inno - gdy maszyny) oraz