Plaanid puhkusele minna? Võta endale majutus AirBnb kaudu ja saad 37€ kontoraha Tee konto Sulge
Facebook Like

LAC-5700 Operatsioonisüsteemid (0)

1 Hindamata
Punktid
 
Säutsu twitteris

TALLINNA TEHNIKAÜLIKOOL


LAC- 5700 OPERATSIOONISÜSTEEMID

KODUTÖÖ NR.1

ARUANNE

Õppejõud : prof . Vello Kukk
Tudeng : Anneli Kaldamäe
Martr . nr : 991476
Rühm : LAP
E-mail : anneli_k@excite.com

TALLINN 2000

SISUKORD


Ülesande tingimused….……………………………………………………..3

Programmi lähtekood..………………………………………………………3
Programmi disaini kirjeldus…………………………………………………9
Katsed:
  • katse listing……………………………………………………………...10
  • katse listing……………………………………………………………...11
  • katse listing……………………………………………………………...12
  • katse listing……………………………………………………………...13
    Kommentaarid ja arvamused algoritmide omaduste kohta………………...14







    ÜLESANDE TINGIMUSED


    1) mälu maht – 64 või rohkem ühikut; valida nii, et oleks võimalik printida iga olek ühte ritta (kasutada püsilaiusega fonti)
    2) protseduurid:
    1. mälu eraldamine ( reserveerimine ) – get (maht, tunnus),
    2. mälu vabastamine free (tunnus).
    3) mudeleerimis- (test-)programm reserveerib-vabastab mälu vähemalt 60 korda;
    4) mälu täituvust juhtida nii, et hõivatus kasvab enam-vähem ühtlaselt kuni ~75-80%-ni, seejärel langeb kuni 50%-ni ja seejärel kasvab uuesti 75%-ni; võib kasutada ka suuremat korduste arvu;
    5) väljastada mäluseisu iseloomustav rida iga protseduuri töö lõpul;
    6) algoritmid mälu reserveerimisel:
    1. esimene sobiv blokk ,
    2. sobivaim blokk;
    7) algoritmid mälu vabastamiseks:
  • suunamine vabade blokkide hulka,
  • märgistamine ning prahikoristus;
    8) kõigi nelja variandi puhul kasutada sama testprogrammi.

    PROGRAMM
    program maluHaldus;
    const
    maluSuurus = 64;
    var
    malu : array[ 1..maluSuurus ] of Char;
    maluKysimiseMeetod : Integer ;
    maluVabastamiseMeetod : Integer;
    fail : text;
    { Otsib mitu thja kohta on antud koha peal j„rjest m„lus... }
    function leiaVabadePositsioonideArv( kohtMalus: Integer ): Integer;
    Var
    vabasidKohti : Integer;
    koht : Integer;
    begin
    koht := kohtMalus;
    vabasidKohti := 0;
    while ( malu[ koht ] = ' ' ) and ( koht = BlokiSuurus then begin
    kirjutaMallu( positsioonMalus, BlokiSuurus, BlokiNimi );
    leitiMalu := true;
    end;
    positsioonMalus := positsioonMalus + 1;
    Until ( positsioonMalus = maluSuurus ) or LeitiMalu;
    end
    else begin { Kui kysimise meetod on 2 ... }
    { Valitakse sobivaima suurusega m„lublokk... }
    positsioonMalus := 1;
    sobivaimPositsioon := 0;
    sobivaimaPositsiooniSuurus := maluSuurus; { suurem kui maluSuurus - 1 }
    Repeat
    vabasidPositsioone := leiaVabadePositsioonideArv( positsioonMalus );
    if ( vabasidPositsioone >= BlokiSuurus ) and
    ( vabasidPositsioone sobivaimPositsioon := positsioonMalus;
    sobivaimaPositsiooniSuurus := vabasidPositsioone;
    end;
    positsioonMalus := positsioonMalus + 1;
    Until ( positsioonMalus = maluSuurus );
    if sobivaimPositsioon 0 then begin { kui pole 0 }
    LeitiMalu := true;
    kirjutaMallu( sobivaimPositsioon, BlokiSuurus, BlokiNimi );
    end;
    end;
    if LeitiMalu then begin
    { V„ljastab m„lu seisu ekraanile }
    For positsioonMalus := 1 to maluSuurus do
    Write( fail, malu[ positsioonMalus ] );
    WriteLn ( fail );
    end;
    if not LeitiMalu then begin { leitiMalu = false , st ei leitud m„lu... }
    if maluVabastamiseMeetod = 2 then begin { Kui m„lus väib olla prahti... }
    { Eemaldatakse praht - asendatakse thjusega (thikutega) }
    For positsioonMalus := 1 to maluSuurus do
    if malu[ positsioonMalus ] = '*' then
    malu[ positsioonMalus ] := ' ';
    Peale prgi eelmadamist proovida uuesti, seekord juba tavalise
    m„lu vabastamise meetodiga, et mitte uuesti prgi korjama hakata
    kui m„lu ikkagi piisavalt pole.
    maluVabastamiseMeetod := 1;
    votaMalu( BlokiNimi, BlokiSuurus );
    maluVabastamiseMeetod := 2;
    end
    else begin { Kui maluvabastamiseMeetod = 1 -- tavaline (pole prgi) }
    Writeln( 'M„lu sai t„is' );
    Halt; { Läpetab programmi t”” }
    end;
    end;
    end;
    procedure vabastaMalu( BlokiNimi: Char );
    Var
    positsioonMalus: 1..maluSuurus;
    begin
    if maluVabastamiseMeetod = 1 then begin
    { Vabastatakse kohe }
    For positsioonMalus := 1 to maluSuurus do
    if malu[ positsioonMalus ] = BlokiNimi then
    malu[ positsioonMalus ] := ' ';
    end
    else begin { Kui m„lu vabastamise meetod on 2 }
    { M„rgitakse m„lu vabastamiseks }
    For positsioonMalus := 1 to maluSuurus do
    if malu[ positsioonMalus ] = BlokiNimi then
    malu[ positsioonMalus ] := '*';
    end;
    { V„ljastab m„lu seisu ekraanile
  • 80% sisust ei kuvatud. Kogu dokumendi sisu näed kui laed faili alla
    Vasakule Paremale
    LAC-5700 Operatsioonisüsteemid #1 LAC-5700 Operatsioonisüsteemid #2 LAC-5700 Operatsioonisüsteemid #3 LAC-5700 Operatsioonisüsteemid #4 LAC-5700 Operatsioonisüsteemid #5 LAC-5700 Operatsioonisüsteemid #6 LAC-5700 Operatsioonisüsteemid #7 LAC-5700 Operatsioonisüsteemid #8 LAC-5700 Operatsioonisüsteemid #9 LAC-5700 Operatsioonisüsteemid #10 LAC-5700 Operatsioonisüsteemid #11 LAC-5700 Operatsioonisüsteemid #12 LAC-5700 Operatsioonisüsteemid #13 LAC-5700 Operatsioonisüsteemid #14
    Punktid 50 punkti Autor soovib selle materjali allalaadimise eest saada 50 punkti.
    Leheküljed ~ 14 lehte Lehekülgede arv dokumendis
    Aeg2007-12-06 Kuupäev, millal dokument üles laeti
    Allalaadimisi 64 laadimist Kokku alla laetud
    Kommentaarid 0 arvamust Teiste kasutajate poolt lisatud kommentaarid
    Autor Rain Ungert Õppematerjali autor

    Lisainfo

    Tehtud kodutöö operatsioonisüsteemides. Antud ülesande tingimused.
    lac 5700 , operatsioonisüsteemid , algoritmid

    Mõisted


    Kommentaarid (0)

    Kommentaarid sellele materjalile puuduvad. Ole esimene ja kommenteeri


    Sarnased materjalid

    6
    doc
    LAC-5700 operatsioonisüsteemid-töö 2
    1
    doc
    Operatsioonisüsteemid
    5
    doc
    Operatsioonisüsteemid
    12
    docx
    Operatsioonisüsteemid
    18
    odp
    Operatsioonisüsteemid
    23
    docx
    Operatsioonisüsteemi alused
    39
    doc
    Microsoft Operatsioonisüsteemid
    12
    docx
    Erinevad operatsioonisüsteemid



    Faili allalaadimiseks, pead sisse logima
    Kasutajanimi / Email
    Parool

    Unustasid parooli?

    UUTELE LIITUJATELE KONTO MOBIILIGA AKTIVEERIMISEL +50 PUNKTI !
    Pole kasutajat?

    Tee tasuta konto

    Sellel veebilehel kasutatakse küpsiseid. Kasutamist jätkates nõustute küpsiste ja veebilehe üldtingimustega Nõustun