in English suomeksi Harjoitukset

Tietokoneen toiminta, S2005, HT 5

Nämä tehtävät käsitellään harjoituksissa viikolla 49 (5-9.12.2005).
  1. [2 htp] Aliohjelmat, makrot, literaalit, muuttujat, vakiot
    1. Anna esimerkki tilanteesta, jossa rutiini XYZ olisi parempi toteuttaa makrona kuin aliohjelmana. Perustelut? Esimerkki?
    2. Anna esimerkki tilanteesta, jossa rutiini XYZ olisi parempi toteuttaa aliohjelmana kuin makrona. Perustelut? Esimerkki?
    3. Anna esimerkki tilanteesta, jossa on parempi toteuttaa lukuarvo X literaalina kuin vakiona käskyssä? Perustelut? Esimerkki?
    4. Anna esimerkki tilanteesta, jossa on parempi toteuttaa lukuarvo X vakiona käskyssä kuin literaalina? Perustelut? Esimerkki?
    5. Miten literaalin käyttö eroaa muuttujan käytöstä? Edut? Haitat?
    6. Miten literaalin käyttö eroaa käskyn vakio-osan käytöstä? Edut? Haitat?

  2. [2 htp] Oletetaan, että levyn pyörimisnopeus on 7200 rpm, siinä on yksi luku/kirjoituspää per levypinta, sylintereiden (uraa per levypinta) lukumäärä on 2000, joka uralla on 50 sektoria ja sektorin koko on 0.5 KB. Otaksumme (epärealistisesti), että hakuvarren siirtoaika on lineaarinen urien lukumäärän suhteen ja että se on 0.02 ms per ura. Otaksumme (epärealistisesti), että luettavan tiedoston jokaisen sektorin sijainti on täysin satunnainen levyllä, mästä saadaan todennäköisyyslaskentaa käyttäen keskimääräiseksi ylitettävien urien lukumääräksi 667. Otaksumme edelleen (epärealistisesti), että tiedosto luetaan levyltä yksi sektori kerrallaan. Kauanko kestää 333.33 KB tiedoston lukeminen levyltä keskimäärin? Entä 24 MB tiedoston lukeminen?

  3. [2 htp] Linkitys. Miten Tanenbaumin kirjan [Tane06] kuva 7-15 (b) muuttuisi, jos moduulit linkitettäisiinkin (alhaalta ylöspäin) järjestyksessä ACDB kuvassa 7-15 käytetyn järjestyksen ABCD asemesta?

    Huomaa, että kuvassa 7-15 osoitteet kasvavat ylöspäin. Moduulit on esitelty kuvassa 7-14.

  4. [2 htp] Muistiinkuvattu I/O. Esimerkissä driver.k91 on kuvattu laiteajuri suoraa I/O toteutusta käyttäen. 
    1. Miten laiteajuri tietää, että laite on tulostanut annetun luvun?
    2. Mitä laiteajuri tekee sillä aikaa kun laite on tulostamassa lukua? 
      Kauanko tähän voi kulua aikaa?
    3. Miten laite (laiteohjain) kertoo laiteajurille, että laitteelle annettu tehtävä on suoritettu?
    4. Miten varsinainen (laiteajuria kutsunut) sovellusohjelma saa tietää, että laitteelle annettu tehtävä on suoritettu? 
    5. Kuinka k.o. laiteajuria tulisi muuttaa, jos tulostus tehtäisiinkin epäsuoraa I/O:tä käyttäen? Tarkoitus ei ole antaa tarkkaa vastausta koodattuna, vaan kertoa pääpiirteissään, mitä kaikkea esimerkin ajurissa tulisi muuttaa, jos haluttaisiin käyttää epäsuoraa I/O:ta. 
      Mitä etu/haittaa tästä olisi? Tuleeko tästä mitään muutoksia tulostinlaitteiston (laiteohjaimen) vaatimuksiin?

  5. [2 htp (ylimääräisiä)] Vastaa kurssikyselyyn. Vastaa kurssikyselyn kohdassa 14 ("Miten kurssia voisi kehittää?") myös verkkoluentoja käsitteleviin allaoleviin lisäkysymyksiin. Merkitse lisäkysymysten kohdat vastaukseesi. Ota lisäkysymysten vastaukset talteen opintopiirin omaan ja ryhmätapamisessa tapahtuvaa keskustelua varten.
    1. Miten paljon käytit (Authorware) verkkoluentoja? Kauanko aikaa käytit verkkoluentojen läpikäyntiin yhteensä? Jos et käyttänyt verkkoluentojan lainkaan, niin miksi?
    2. Miten verkkoluennot suhtautuvat mielestäsi tavallisiin luentoihin? Olisitko mielummin halunnut tavalliset luennot tälle kurssille?
    3. Paljonko käytit aikaa oppikirjan (Stallings) lukemiseen?
    4. Paljonko käytit opiskeluaikaa (h) kurssiin yhteensä?
    5. Miten opintopiirit mielestäsi toimivat? Onko sinulla mielessäsi parempi menetelmä opintopiirien ryhmäytymiseen?
    6. Miten projektien osallistumisaktiivisuuteen perustuva arviointiosa mielestäsi toimi? Olivatko aktiivisuuden perusteella annettavat plus/miinus -pisterajat paikallaan vai mitkä rajat olisivat paremmat?
    7. Muita rakentavia yleisiä kommentteja mistä tahansa kurssin osiosta?

    Voit antaa lisäkommenteja verkkomateriaalista CSMoodlen keskusteluryhmän "Metakurssi" avulla tai ylimääräisessä projektissa 4.

Teemu Kerola