1. Realios mašinos aprašas Realios mašinos techninės įrangos komponentų išsidėstymo vienas kito atžvilgiu ir tarpusavio sąveikos schema: Realią mašiną sudaro centrinis procesorius, supervizoriaus, vartotojo ir išorinė atmintys, įvedimo ir išvedimo įrenginiai, atminties puslapiavimo mechanizmas. Atmintis bei įvedimo/išvedimo įrenginiai valdomi kanalais. Puslapiavimo mechanizmas išlaiko sąryšius tarp realių ir virtualių adresų. Puslapiavimo mechanizmas realizuotas keturių baitų registru procesoriuje. Centrinis procesorius gali dirbti dviem režimais: supervizoriaus arba vartotojo. Supervizoriaus režime komandos iš supervizorinės atminties yra apdorojamos aukšto lygio kalbos procesoriumi HLP. Vartotojo režime HLP interpretuoja mikroprogramą, imituojančią virtualios mašinos procesorių, supervizorinėje atmintyje tik skaitymui. Supervizorinėje atmintyje yra operacinės sistemos programos komandos, vykdomos supervizoriaus režime, ir programos, interpretuojančios virtualios mašinos komandas. Supervizorinė atmintis apibrėžiama tokio dydžio, kokio reikia multiprograminei operacinei sistemai. Vartotojo atmintis skirta laikyti virtualių mašinų atmintims. Vartotojo atmintis apibrėžiama taip: lentelės dydis – 350 žodžių po 4 baitus. 10 žodžių laikoma bloku. Vartotojo ir supervizorinė atmintys dalijasi realios mašinos atmintį. Supervizorinė atmintis realiai nebus realizuota. Išorinė atmintis bus realizuota failu kietajame diske. Išorinės atminties dydis nebus ribojamas, bet praktiškai priklausys nuo kietojo disko talpos. Įvedimo/išvedimo įrenginiai atitinkamai yra naudojami nuskaityti vartotojo įvestas komandas bei išvesti rezultatą į kompiuterio ekraną. Savo operacijas jie atlieka per 3 sąlyginius laiko vienetus. Laikas bus skaičiuojamas tik dirbant vartotojo režimu. Realios mašinos centrinio procesoriaus paskirtis – skaityti komandą iš atminties ir ją interpretuoti. Procesorius turi šiuos registrus: • PC – 2 baitų komandų skaitliukas. • R – 4 baitų bendro naudojimo registras. • PTR – 4 baitų puslapių lentelės registras. • MODE – 1 baito registras, nusakantis procesoriaus darbo režimą. • PI, SI – atitinkamai programinių ir supervizorinių pertraukimų 2 baitų registrai. • TI – taimerio registras (2 baitai). • IOI – 2 baitų įvedimo/išvedimo pertraukimo registras. • CHST[1], CHST[2], CHST[3] – kanalų būsenos registrai. 2. Virtualios mašinos aprašas Virtuali mašina – tai menama realios mašinos kopija, su kuria dirba vartotojas. Apibrėšiu savybes, kurias turi tenkinti operacinės sistemos palaikoma virtuali mašina. 2.1. Procesorius Virtualios mašinos centrinis procesorius bus paprastesnės struktūros nei realios. Šio procesoriaus paskirtis – vykdyti komandas, kurios yra virtualioje atmintyje. Virtualus procesorius turės šiuos registrus: • PC – 2 baitų komandų skaitliukas, naudojamas sekančios komandos adresui formuoti. • R – 4 baitų bendrojo naudojimo registras, skirtas pakrauti į jį žodžiams iš atminties ir iš jo į atmintį. Taip pat naudojamas atliekamose operacijose. • C – 1 baito loginis trigeris, naudojamas loginio valdymo perdavimo operacijose. Virtualios mašinos procesoriaus schema: 2.2. Atmintis Virtualios mašinos (VM) atmintis sudaryta iš 100 žodžių po 4 baitus. 10 žodžių sudarys bloką. Kiekvienai VM skiriama po 10 blokų. Tuose dvidešimtyje blokų turi tilpti programa. Pirmuose trijuose blokuose bus saugomos programos komandos, o likusiuose septyniuose – programos darbui reikalingi duomenys. Ryšiai tarp realaus ir virtualaus adreso bus nusakomi per puslapiavimo mechanizmą. Puslapiavimo lentelė bus saugoma paskutiniuose penkiuose atminties blokuose. 2.3. Virtualios mašinos komandų sistema Aritmetinės darbo su sveikaisiais skaičiais komandos: ◦ SU x1x2 – 2 sveikų keturženklių skaičių sudėties komanda (R := R + [a], kur [a] = 10x1+x2). ◦ AT x1x2 – 2 sveikų keturženklių skaičių atimties komanda (R := R – [a], kur [a] = 10x1+x2). ◦ SA x1x2 – 2 sveikų keturženklių skaičių sandaugos komanda (R := R * [a], kur [a] = 10x1+x2). Darbo su duomenimis komandos: • KR x1x2 – žodžio, kurio adresas 10x1+x2, turinio kopijavimas į registrą R. • SR x1x2 – registro R reikšmės įrašymas į atmintį su adresu 10x1+x2. Įvedimo/išvedimo komandos: • PD x1x2 – atminties turinio su adresu 10x1+x2 išvedimas į ekraną. • RD x1x2 – žodžio iš įvedimo įrenginio rašymas į atmintį su adresu 10x1+x2. Valdymo perdavimo komandos: • GO x1x2 – nesąlyginio valdymo perdavimo komanda. Valdymas perduodamas nurodytu adresu 10x1+x2. PC = 10x1+x2. • PT x1x2 – sąlyginio valdymo perdavimo komanda. Jei registro C reikšmė lygi „TRUE“, tai PC = 10x1+x2. • HALT – vartotojo programos vykdymo pabaiga. Palyginimo komanda: • PR x1x2 – palygina registro R reikšmę su atminties reikšme (adresas x1x2). Jei lygu, tai C = R. 2.4. Virtualios mašinos interpretuojamo failo formatas Virtualios mašinos interpretuojamo failo formatas turi būti toks, kur „PROG“ – programos pradžios komanda, „.END“ – pabaigos komanda. Pateikiu pavyzdį programos, skaičiuojančios dviejų skaičių sumą (čia „Suma“ – programos pavadinimas): PROG Suma MV20 1234 MV30 2345 MV00 LR20 SU30 SR40 PD40 HALT .END 2.5. Virtualios mašinos bendravimo su įvedimo/išvedimo įrenginiais aprašymas VM duomenis skaito iš išorinės atminties (realizuotos failu kietajame diske), o rezultatą išveda į kompiuterio ekraną. Įvedimą/išvedimą kontroliuoja kanalų įrenginys. 3. Virtuali mašina visos operacinės sistemos kontekste Multiprograminėje operacinėje sistemoje centrinis procesorius yra perjunginėjamas iš vieno proceso (vykdomos programos) į kitą, sukuriant lygiagretaus veikimo įspūdį. Apibrėžiant šio mechanizmo sąvoką, naudojami proceso, resurso, proceso paketo terminai. Kiekvienas procesas turi savo virtualios mašinos procesorių. Kad procesas būtų vykdomas, jis turi gauti procesoriaus resursų. Taigi virtuali mašina visos operacinės sistemos kontekste atlieka labai svarbų vaidmenį – ji reikalinga proceso vykdymui. 4. Virtualios mašinos realizacija Pateikiama virtualios mašinos realizacija C programavimo kalba: //MAIN.C #include
Šį darbą sudaro 2765 žodžiai, tikrai rasi tai, ko ieškai!
★ Klientai rekomenduoja
Šį rašto darbą rekomenduoja mūsų klientai. Ką tai reiškia?
Mūsų svetainėje pateikiama dešimtys tūkstančių skirtingų rašto darbų, kuriuos įkėlė daugybė moksleivių ir studentų su skirtingais gabumais. Būtent šis rašto darbas yra patikrintas specialistų ir rekomenduojamas kitų klientų, kurie po atsisiuntimo įvertino šį mokslo darbą teigiamai. Todėl galite būti tikri, kad šis pasirinkimas geriausias!
Norint atsisiųsti šį darbą spausk ☞ Peržiūrėti darbą mygtuką!
Mūsų mokslo darbų bazėje yra daugybė įvairių mokslo darbų, todėl tikrai atrasi sau tinkamą!
Panašūs darbai
Kiti darbai
Atsisiuntei rašto darbą ir neradai jame reikalingos informacijos? Pakeisime jį kitu nemokamai.
Pirkdamas daugiau nei vieną darbą, nuo sekančių darbų gausi 25% nuolaidą.
Išsirink norimus rašto darbus ir gauk juos akimirksniu po sėkmingo apmokėjimo!