From a31a9cc31b78b75cf39c053253a23d2183054fe1 Mon Sep 17 00:00:00 2001 From: Paavo Nieminen <paavo.j.nieminen@jyu.fi> Date: Fri, 3 May 2024 16:22:15 +0300 Subject: [PATCH] Luennon 12 tulemaa tuoreeltaan. --- luentosuunnitelma_2024.org | 543 ++++++++++++++++++++++++++++++++----- 1 file changed, 479 insertions(+), 64 deletions(-) diff --git a/luentosuunnitelma_2024.org b/luentosuunnitelma_2024.org index ca5ac61..561dd5f 100644 --- a/luentosuunnitelma_2024.org +++ b/luentosuunnitelma_2024.org @@ -1778,6 +1778,316 @@ ollut pakko, kun oltiin ensimmäistä kertaa tärpin parissa ja osa porukasta jäi vielä vapaaehtoisesti yliajalle käsittelemään sitä) +** Luento 12: (pe 3.5.2024) (P/J) Tärppejä lisää +*** Tämän päivän agenda + +Ryhmätyöpainotus: tenttitärppejä, muistiinpanojen vertailua ja kysymyksiä . + +*** Infot keväälle 2024 + +- Demo 4 tarkastettu kaikilta palauttaneilta tämän päivän mittaan + +- Käyttäkää ensi viikon Open labrapäivät hyödyksi. Kysymyksiä ylös, + niin muistat kysyä! Tekemisen haasteita on paras näyttää käytännössä + ruutujaolla tai mikroluokassa ruudulta. + +*** Seuraava ennakkotehtävä (sama kuin eilen todettiin) + +Lukemista: + +- Demo 5 ohjeteksti + +- Monisteen luvut 9-10 + +Katselemista: + +- Aihepiirivideot monisteen koodiliitteessä olevista + esimerkeistä. Näiden tavoite on tukea teoriaosuuden ymmärtämistä. + +Tekemistä: + +- Demo 4b valmiiksi ja palautus + asioiden sisäistäminen tähän + astisesta. + +- Demo 5 työn alle. *HUOMAUTUS:* Demo 5:n katselu voi auttaa myös demo + 4b:n ymmärtämistä! Eli niiden tekemisjärjestystä voi koettaa vaihtaa + tai yhdistää toisiinsa, jos tuntuisi olevan hyödyksi itselle. + +- Omatoimisia kokeiluja, havainnekuvien piirtelyä ja niiden kautta + yhteyksien etsimistä teorian, käytännön ja + rajapintadokumentaatioiden välille. + +- Tarkennusta tai rautalankaa vaativien kysymysten listaamista ylös, + jotta voidaan vääntää rautalankaa niistä. + +Kestomuistutus: 5 opintopistettä 8 viikossa tarkoittaa keskimäärin +16-17 tuntia viikossa tehokasta tekemistä. Muista tauot ja lepo, koska +muuten ne varsinaiset tekemisen hetketkään eivät ole niin tehokkaita +kuin voisivat olla! + + + + + + +*** Aihepiiri: Tsemppausta kevään 2024 toteutuksen tekijöille + +Paikan päällä pienryhmien lämmittely fiiliskierroksen merkeissä + +Kerätään vähän fiiliksiä yhteen myös koko porukan kesken: + +- Joku ryhmä hyppäsi jo asiaankiin. + +- Toisella ryhmällä itse asia vaikutti tunteisiinkin. + +- Kurssista puhuttiin kolmannessakin ryhmässä + +Havaintoja: + +- Demo 4b aiheutti päänvaivaa aamulla + +- Monisteen luku 4 tuli aiemmin luettua huolella, mutta tuntuu, että + ilmeisesti ei tullut syväopittua sitä. MUTTA on MAHTAVAA päästä + vetämään tuskassa epämukavuusalueella! + +- Linkkivinkki: GNU Assembler examples + ( https://cs.lmu.edu/~ray/notes/gasexamples/ ) + + +*** Tauko 14 minuuttia. + +Jatketaan tasan 11:10 + +*** Tenttitärppi nro 2 + +Tässä kohtaa kevään 2024 toinen tenttitärppi. + +**** Kevään 2024 menettely + +"Näätäilyä" eli luentotilaisuuteen kytkettyä ryhmäkeskustelua on +kokeiltu erilaisin tavoin useiden vuosien ajan inkrementaalisti. + +Keksitään pyörä uudelleen jollain tähän kevääseen sopivalla +tavalla. Raamit: + +- Yksin-ryhmissä-kaikki -menettely; sama sukka sopii joskus moniinkin + jalkoihin. + +- Saadaan kuvaa omasta ja kaverien oppimisen vaiheesta *ilman + suorituspaineita*; kokonaiskuva välittyy tallennettujen osioiden + kautta myös kotikatsomoihin + +- Simuloidaan tenttiä, jolla kevään 2024 opintojaksosta tulee lopuksi + arvosana. + +**** Protokolla: + + - Kolmen hengen ryhmät lähellä istuvien kanssa. + + - 3*30 sekunnin nimi- ja fiiliskierros, jotta keskustelu lämpenee. + (voidaan tehdä myös session aluksi, ei tarvitse joka kysymyksen + kohdalla lämmitellä uudelleen) + + - Päivän tenttitärppi yksin-ryhmissä-kaikki -menettelyllä (seuraava + kohta). + + - Oikean vastauksen takana oleva ajatuksenkulku + +**** Tehtävä + +- Kysymys on... Moodlesta aiemman vuoden tentistä joku kysymys + (kysymys 6/48 kevään 2021 tentistä) + +- Kellotetaan 1 minuutti aikaa tehtävän lukemiseen. + +- Kellotetaan 1 minuutti aikaa siihen, että jokainen miettii hiljaa + itselleen vastaukset + +- Ryhmäkeskustelu 2 minuuttia: Käykää läpi kaikkien omat vastaukset. + + Neuvotelkaa siitä, mikä niistä ehkä on eniten oikein. + +- Yhteinen koonti: Kerätään luentotallenteelle ehdotuksia + vastauksista. + + Varmistaan myös oikea vastaus ja että lopulta kaikki osaisivat tehdä + tällaisen tehtävän tentissä täysillä pisteillä. + +Tässä on täydellisyyden vuoksi tehtävä ja siihen liittyvä ohjeteksti +kopioituna: + +Ohje tehtävään: Yhdistä lauseen loppua vastaava kirjain +numeroituun alkuun siten, että lause on totta. Alkuihin on yksi, +yksikäsitteinen, oikea loppu. Jokainen loppu voi sopia useampaan +alkuun tai ei yhteenkään. Tutkitaan prosessien tilasiirtymiä. + +Valitse oikea vaihtoehto: + +Prosessi siirtyy User running -tilasta Kernel running -tilaan, ... + +A) kun prosessori siirtyy keskeytyksen tai käyttöjärjestelmäkutsun +käsittelyyn. + +B) kun tapahtuu paluu käyttöjärjestelmäkutsun tai keskeytyksen +käsittelijästä (esim. AMD64:n konekielikäsky sysret tai iret). + +C) kun prosessi on tehnyt pyynnön esim. lukeakseen merkkejä +tiedostosta, eikä luettava data ole vielä saapunut fyysiseltä +laitteelta toimitettavaksi prosessille saakka. + +D) kun käyttöjärjestelmän vuorontaja siirtää suoritukseen toisen +prosessin, vaikka nykyinenkin prosessi pystyisi jatkamaan laskemista +jo seuraavassa konekielikäskyssään. + +**** Ryhmien vastaukset ja keskustelu + +Muistiinpanot ryhmäkoonnista: + +- Oltiin a-vaihtoehdossa, mutta ei 100%-varmasti. Mielessä kävi myös b + ja d. + +- Vahvin arvaus a, mutta muitakin vaihtoehtoja oli; joku mainitsi + d:n. Aggressiivista puolustamista ei vielä nähty. + +- Yhtä mieltä a:sta, koska "Kernel Running" on käyttöjärjestelmätila, + ja a- ja b-vaihtoehdoissa puhutaan käyttöjärjestelmäkutsusta, muissa + ei. Ja a ja b ovat eri suuntaan meneviä. (a:ssa "siirtyminen", b:ssä + "paluu") + +**** Oikeaksi tarkoitettu vastaus ja logiikka sen takana + +Luentotallenteelle selitys ja logiikka, jolla tavoiteltu oikea vastaus +on selvitettävissä. + +(Yritetään muistaa ja toteuttaa aiempien vuosien palaute: +Mallivastauksen käsittely voidaan tehdä nopeasti.) + + + + + + + + + + + + + + + + + +P +*** Tenttitärppi nro 3 + +Tässä kohtaa kevään 2024 kolmas tenttitärppi. + +**** Kevään 2024 menettely + +"Näätäilyä" eli luentotilaisuuteen kytkettyä ryhmäkeskustelua on +kokeiltu erilaisin tavoin useiden vuosien ajan inkrementaalisti. + +Keksitään pyörä uudelleen jollain tähän kevääseen sopivalla +tavalla. Raamit: + +- Yksin-ryhmissä-kaikki -menettely; sama sukka sopii joskus moniinkin + jalkoihin. + +- Saadaan kuvaa omasta ja kaverien oppimisen vaiheesta *ilman + suorituspaineita*; kokonaiskuva välittyy tallennettujen osioiden + kautta myös kotikatsomoihin + +- Simuloidaan tenttiä, jolla kevään 2024 opintojaksosta tulee lopuksi + arvosana. + +**** Protokolla: + + - Kolmen hengen ryhmät lähellä istuvien kanssa. + + - 3*30 sekunnin nimi- ja fiiliskierros, jotta keskustelu lämpenee. + (voidaan tehdä myös session aluksi, ei tarvitse joka kysymyksen + kohdalla lämmitellä uudelleen) + + - Päivän tenttitärppi yksin-ryhmissä-kaikki -menettelyllä (seuraava + kohta). + + - Oikean vastauksen takana oleva ajatuksenkulku + +**** Tehtävä + +- Kysymys on... Moodlesta aiemman vuoden tentistä joku kysymys + (kysymys 25/48 kevään 2021 tentistä) + +- Kellotetaan 1 minuutti aikaa tehtävän lukemiseen. + +- Kellotetaan 1 minuutti aikaa siihen, että jokainen miettii hiljaa + itselleen vastaukset + +- Ryhmäkeskustelu 2 minuuttia: Käykää läpi kaikkien omat vastaukset. + + Neuvotelkaa siitä, mikä niistä ehkä on eniten oikein. + +- Yhteinen koonti: Kerätään luentotallenteelle ehdotuksia + vastauksista. + + Varmistaan myös oikea vastaus ja että lopulta kaikki osaisivat tehdä + tällaisen tehtävän tentissä täysillä pisteillä. + +Tässä on täydellisyyden vuoksi tehtävä ja siihen liittyvä ohjeteksti +kopioituna: + +Ryhmäkeskustelu 3 minuuttia. + +Ohje tehtävään: Yhdistä lauseen loppua vastaavat kirjaimet (vähintään +yksi, mutta mahdollisesti useita) lauseenalun perään siten, että +muodostuvat lauseet vastaavat todellisuutta. Vastauksessa on oltava +listattuna kaikki todellisuutta vastaavat vaihtoehdot. + +Valitse oikea vaihtoehto (mahdollisesti useita sopivia): + +Kurssilla käsitelty käyttöjärjestelmän rajapintastandardi POSIX +(vuoden 2018 versio) määrää, että ... + +A) Konekielisen aliohjelman ensimmäinen parametri välitetään +rekisterissä RDI, jos se on tyypiltään kokonaisluku. + +B) shell-komento echo tulostaa argumenttinsa. + +C) järjestelmäkutsu exit() tapahtuu sijoittamalla rekisteriin RAX luku 60 ja suorittamalla syscall-konekielikäsky. + +D) shell-komennolla kill voi lähettää prosessille signaalin. + +**** Ryhmien vastaukset ja keskustelu + +Muistiinpanot ryhmäkoonnista: + +- bd TAI b,d + +- bd toiseltakin ryhmältä + +- bd kolmanneltakin ryhmältä + +- Perusteluina: kahdessa muussa enemmän konekielitason toteutusta, kun + POSIX määrää sitä, mitä tapahtuu eikä että miten. + +**** Oikeaksi tarkoitettu vastaus ja logiikka sen takana + +Luentotallenteelle selitys ja logiikka, jolla tavoiteltu oikea vastaus +on selvitettävissä. + +(Yritetään muistaa ja toteuttaa aiempien vuosien palaute: +Mallivastauksen käsittely voidaan tehdä nopeasti.) + + + + + + + + + + * Suunnitelmaa kevään 2024 lähitulevaisuuteen ** Ideapankkia aihepiirivideoiksi 2024 @@ -1910,70 +2220,7 @@ esitiedoista. Vaikuttaisi toteutuneen ainakin havaintopiiriin tulleen tiedon perusteella (todettu 2.5.2024). -** Luento 12: (pe 3.5.2024) (P/J) +Karhuluento+ Rusinanteluento -*** Infot keväälle 2023 -- Ei mitään uutta - homma rullaa, kun rullataan vaan! -- Paitsi jos yleisöllä on mielessä kysymyksiä tämän kevään käytännön - toimenpiteistä? -*** +Tämän luennon tavoite+ -- Karhu ei jää kyselemään pitkäksi aikaa. Karhu vaan painaa menemään, - selittää kovasti mennessään ja vääntää rautalankaa niin paljon kuin - pystyy. -- Päivän lopuksi tiedetään, mitä seuraavaksi pitää tehdä ennen - seuraavia yhteisiä tapaamisia: Seuraavaksi demo 5 - ohjeteksteineen, monisteen luvut 9-10. -- Little man computer ja käydään läpi monistetta varmistaen ja kysellen, - eli pattika-pattika ja pakkia-pakkia, sano Rusinante. - -*** Seuraava ennakkotehtävä (käsiteltiin jo luennolla 11) - -Lukemista: - -- Demo 5 ohjeteksti - -- Monisteen luvut 9-10 - -Tekemistä: - -- Demo 4b valmiiksi ja palautus + asioiden sisäistäminen - -- Demo 5 työn alle. HUOMAUTUS: Demo 5:n katselu voi auttaa myös demo - 4b:n ymmärtämistä! - -Kestomuistutus: 5 opintopistettä 8 viikossa tarkoittaa keskimäärin -16-17 tuntia viikossa tehokasta tekemistä. Muista tauot ja lepo, koska -muuten ne varsinaiset tekemisen hetketkään eivät ole niin tehokkaita -kuin voisivat olla! - - -*** Aihepiiri: "Little man computer" avuksi koneen toiminnan ymmärrykseen - -Elävää animaatiota minimalistisen tietokoneen toiminnasta. Näytetään -luennolla vähäsen: - -http://peterhigginson.co.uk/LMC/ - -Samalta kaverilta karsittu ARM-prosessorisimulaatio: - -http://peterhigginson.co.uk/ARMlite/ - -Kun perusidea on hahmottunut, me opettelemme käyttämään gdb:tä aivan -todellisen tietokoneen kanssa! - -*** Tauko oli sopivassa kohdassa - -*** Aihepiiri (ei videojulkaisua): Luentomonisteen selailua - -Luentomonistetta alusta läpikäyden eri kohtia korostaen: - - Kerrosrakenne käyttöjärjestelmässä. - - Tietokoneen rakenne: teoreettinen, eli kurssilla riittävä ja - todellinen, eli jatkokurssien asia. - - Prosessorin teoreettinen, yksinkertaistettu rakenne. Nykyprosessorit - käsitellään muilla kursseilla. - - Lista, pino ja puu tietorakenteena. - - Binääri-, heksa- ja oktaaliluvut. - -** Luento 13: (ke 8.5.2024) (P/J) Aihepiirejä +** Luento 13: (ke 8.5.2024) (P/J) Muistiinpanojen vertailua ja olan yli havaittua Aletaan tykittää tasan 14:15! Ainakin yritetään taas. @@ -2056,6 +2303,174 @@ ym. muistetaan taas.. Otetaan esimerkiksi "Hei maailma assemblerilla" ja käpistellään. + +*** Vertaillaan muistiinpanoja, jos aikaa on + +*** Tenttitärppi (tyhjä sapluuna copy-paste-modifyä varten) + +Tässä kohtaa kevään 2024 tenttitärppi. + +**** Kevään 2024 menettely + +"Näätäilyä" eli luentotilaisuuteen kytkettyä ryhmäkeskustelua on +kokeiltu erilaisin tavoin useiden vuosien ajan inkrementaalisti. + +Keksitään pyörä uudelleen jollain tähän kevääseen sopivalla +tavalla. Raamit: + +- Yksin-ryhmissä-kaikki -menettely; sama sukka sopii joskus moniinkin + jalkoihin. + +- Saadaan kuvaa omasta ja kaverien oppimisen vaiheesta *ilman + suorituspaineita*; kokonaiskuva välittyy tallennettujen osioiden + kautta myös kotikatsomoihin + +- Simuloidaan tenttiä, jolla kevään 2024 opintojaksosta tulee lopuksi + arvosana. + +**** Protokolla: + + - Kolmen hengen ryhmät lähellä istuvien kanssa. + + - 3*30 sekunnin nimi- ja fiiliskierros, jotta keskustelu lämpenee. + (voidaan tehdä myös session aluksi, ei tarvitse joka kysymyksen + kohdalla lämmitellä uudelleen) + + - Päivän tenttitärppi yksin-ryhmissä-kaikki -menettelyllä (seuraava + kohta). + + - Oikean vastauksen takana oleva ajatuksenkulku + +**** Tehtävä + +- Kysymys on... Moodlesta aiemman vuoden tentistä joku kysymys + (kysymys xx/48 kevään 2021 tentistä) + +- Kellotetaan 1 minuutti aikaa tehtävän lukemiseen. + +- Kellotetaan 1 minuutti aikaa siihen, että jokainen miettii hiljaa + itselleen vastaukset + +- Ryhmäkeskustelu 2 minuuttia: Käykää läpi kaikkien omat vastaukset. + + Neuvotelkaa siitä, mikä niistä ehkä on eniten oikein. + +- Yhteinen koonti: Kerätään luentotallenteelle ehdotuksia + vastauksista. + + Varmistaan myös oikea vastaus ja että lopulta kaikki osaisivat tehdä + tällaisen tehtävän tentissä täysillä pisteillä. + +Tässä on täydellisyyden vuoksi tehtävä ja siihen liittyvä ohjeteksti +kopioituna: + + + + +**** Ryhmien vastaukset ja keskustelu + +Muistiinpanot ryhmäkoonnista: + +- kerätään tähän + +**** Oikeaksi tarkoitettu vastaus ja logiikka sen takana + +Luentotallenteelle selitys ja logiikka, jolla tavoiteltu oikea vastaus +on selvitettävissä. + +(Yritetään muistaa ja toteuttaa aiempien vuosien palaute: +Mallivastauksen käsittely voidaan tehdä nopeasti.) + + + + + + + + + + +*** Tenttitärppi (tyhjä sapluuna copy-paste-modifyä varten) + +Tässä kohtaa kevään 2024 tenttitärppi. + +**** Kevään 2024 menettely + +"Näätäilyä" eli luentotilaisuuteen kytkettyä ryhmäkeskustelua on +kokeiltu erilaisin tavoin useiden vuosien ajan inkrementaalisti. + +Keksitään pyörä uudelleen jollain tähän kevääseen sopivalla +tavalla. Raamit: + +- Yksin-ryhmissä-kaikki -menettely; sama sukka sopii joskus moniinkin + jalkoihin. + +- Saadaan kuvaa omasta ja kaverien oppimisen vaiheesta *ilman + suorituspaineita*; kokonaiskuva välittyy tallennettujen osioiden + kautta myös kotikatsomoihin + +- Simuloidaan tenttiä, jolla kevään 2024 opintojaksosta tulee lopuksi + arvosana. + +**** Protokolla: + + - Kolmen hengen ryhmät lähellä istuvien kanssa. + + - 3*30 sekunnin nimi- ja fiiliskierros, jotta keskustelu lämpenee. + (voidaan tehdä myös session aluksi, ei tarvitse joka kysymyksen + kohdalla lämmitellä uudelleen) + + - Päivän tenttitärppi yksin-ryhmissä-kaikki -menettelyllä (seuraava + kohta). + + - Oikean vastauksen takana oleva ajatuksenkulku + +**** Tehtävä + +- Kysymys on... Moodlesta aiemman vuoden tentistä joku kysymys + (kysymys xx/48 kevään 2021 tentistä) + +- Kellotetaan 1 minuutti aikaa tehtävän lukemiseen. + +- Kellotetaan 1 minuutti aikaa siihen, että jokainen miettii hiljaa + itselleen vastaukset + +- Ryhmäkeskustelu 2 minuuttia: Käykää läpi kaikkien omat vastaukset. + + Neuvotelkaa siitä, mikä niistä ehkä on eniten oikein. + +- Yhteinen koonti: Kerätään luentotallenteelle ehdotuksia + vastauksista. + + Varmistaan myös oikea vastaus ja että lopulta kaikki osaisivat tehdä + tällaisen tehtävän tentissä täysillä pisteillä. + +Tässä on täydellisyyden vuoksi tehtävä ja siihen liittyvä ohjeteksti +kopioituna: + + + + +**** Ryhmien vastaukset ja keskustelu + +Muistiinpanot ryhmäkoonnista: + +- kerätään tähän + +**** Oikeaksi tarkoitettu vastaus ja logiikka sen takana + +Luentotallenteelle selitys ja logiikka, jolla tavoiteltu oikea vastaus +on selvitettävissä. + +(Yritetään muistaa ja toteuttaa aiempien vuosien palaute: +Mallivastauksen käsittely voidaan tehdä nopeasti.) + + + + + + + ** Luento 14: (ke 15.5.2024) (P/J) Karhu- ja näätäluento *** Infot keväälle 2023 -- GitLab