Begreppsseminarium 1 - Datorn
Information om hur begreppsseminarierna går till hittar du på sidan Begreppsseminarier. Målet med detta begreppsseminarium är att du ska få
- förståelse för vilken roll processorn har när det kommer till att köra program
- förståelse för vilken roll RAM-minne har när det kommer till att köra program
- en övergripande förståelse hur processorn och RAM-minnet jobbar tillsammans när ett program körs; vägen från instruktion i en fil till en instruktion som utförs av processorn
- förståelse för vad ett operativsystem är och vilka syften de uppfyller
Innan seminariet
- Titta på på videos under Obligatoriskt förberedelsematerial.
- Gör minst en av prova-på-övningarna.
- Fyll i Entry Ticket 1 senast kl. 12.00 dagen innan seminariet.
Under seminariet
Börja seminariet med att (rätt så raskt) bestämma er för vad ni vill hinna med på seminariet. T.ex. “Vi vill hinna med minst att diskutera fråga 1 och 2, samt prova-på-uppgiften som handlade om X”.
Förslag på diskussionsfrågor hittar ni under Diskussionsfrågor till seminariet. Du kan även ta med dig egna frågor du vill diskutera!
Efter seminariet
Efter seminariet ska följande uppgifter utföras. Se även Deadlines.
- Skriv två frågor om det obligatoriska materialet som hör ihop med seminariet i PeerWise. Se till att du tilldelar frågan rätt ämne (topic). Se Författa frågor.
- Svara på frågor som andra skrivit i PeerWise. Till deadline i slutet av Tema 3 ska du ha svarat på 15 frågor per ämne (Datorn, Filer, Internet). Du ska också kommentera 15 frågor som du svarat på (vilket ämne spelar ingen roll). Svara inte på dina egna frågor. Se Svara och kommentera frågor.
Komplettering
Om du missar ett begreppsseminarium, komplettera genom att skicka in din entry ticket i efterhand (om du inte redan gjort det), samt skicka in en 1-2 sidor lång diskussion av valfritt antal av de diskussionsfrågor som hör ihop med seminariet (finns på respektive Begrepsseminariesida). Diskussionen skickas in via inlämningar i Lisam.
Diskussionen ska referera till det obligatoriska materialet. Referenser skrivs enligt en standard, t.ex. APA eller Harvard.
OBS! Se till att du har med namn, liuid, kurskod, datum och passande titel i PDF:en du lämnar in. Döp filen till begreppssemX-komplettering-liuid.pdf
(erätt X med siffran för aktuellt begreppsseminarie).
Förberedelsematerial
Titta på de videosarna som tillhör det obligatoriska förberedelsematerialet. De hänvisade avsnitten i kurslitteraturen behandlar samma innehåll som videosarna. Gör sedan minst en av prova-på-övningarna.
Obligatoriskt förberedelsematerial
- How computer memory works - Kanawat Senanan. TED-Ed (2016). [5 min]. Syftet med denna video är att ge en överblick över vilka typer av datorminne som finns, vad de har gemensamt och vad som skiljer dem åt.
- The Fetch-Execute Cycle: What’s Your Computer Actually Doing?. Tom Scott (2019). [9 min]. Syftet med videon är att ge en öveblick över hur processorn fungerar och hur ett program i datorns minne körs. En video mer teknisk video hittar du under Extra material nedan (Fetch Decode Execute Cycle in more detail).
- Operating Systems: Crash Course Computer Science #18. CrashCourse (2017). [14 min]. Syftet med denna video är att ge er en överblick av både vad operativsystem är och vilka syften de uppfyller.
- Reverse Engineering 101: CPU, memory, debugging and cheating in minesweeper. Slava Moskvin (2021). [14 min]. Syftet med denna video är att ge ett konkret exempel på hur körande program lagrar information i minnet och hur förändring av värden i minnet påverkar ett körande program. Du behöver inte förstå alla detaljer, utan denna video är med i materialet som en demonstration.
Nedan hittar ni parallellt material om ni vill läsa om det som tas upp i videosarna på egen hand. De kan också vara till hjälp när ni ska skriva era frågor i PeerWise.
- Lunell (2011). Datorn i världen, världen i datorn.
- Kapitel 2.1-2.7. Om minne och processorn, samt vad som händer när ett program körs.
- Kapitel 6.1-6.7, 6.9-6.10, 6.12. Om filsystemet.
Extra material (icke-obligatoriskt)
- Fetch Decode Execute Cycle in more detail. Computer Science (2015). [8 min]. Denna video går igenom vad som händer i processorn när ett program i minnet körs med lite mer tekniska detaljer än videon i det obligatoriska materialet.
- “See CPython run: Getting to know your Python interpreter” - James Bennet (North Bay Python 2019). North Bay Python (2019). [31 min]. Video av en föreläsning på North Bay Python 2019 om hur pythonkod tolkas och körs.
- Comparing C to machine language. Ben Eater (2015). [10 min]. Video där koden för ett litet program skrivet i C jämförs med den maskinkod som C-koden kompilerats till.
- Hacks Weekly #6: Memory Dump Analysis - extracting juicy data. CQURE Academy (2016). [21 min]. Video där en pen-testare visar vad och hur olika slags av information kan extraheras ur en minnesdump från en dator.
- Representing Numbers and Letters with Binary: Crash Course Computer Science #4. CrashCourse (2017). [11 min]. Video som går igenom representation av numeriska värden och tecken, samt vad som menas när man säger att en dator/operativsystem använder 8/16/32 eller 64-bits. Vad kan man göra med fler bits som man inte kan med färre bits?
Prova på-övningar: processor- och minnesanvändning
Ta reda på vilka program du kan använda för att ta reda på hur mycket RAM och CPU som program använder. Gör minst en av nedanstående undersökningar på egen hand eller tillsammans i din pargrupp innan seminariet, för att diskutera dem på seminariet.
- Vilka aktiviteter i olika program ökar dess CPU och/eller dess minnesanvändning. Fundera över varför. Finns det något som är överraskande där CPU eller minnesanvändning inte är som du tänkt?
- Ta reda på processor- och minnesanvändning när ett Pythonprogram körs. Här
hittar ni pythonprogram ett exempelprogram ni kan köra.
slumprakna.py - ladda ner och kör med
python3 slumprakna.py
. - Försök att skriva ett Python-program som antingen använder mycket CPU eller RAM.
- Kan minnesanvändningen för ett program minska medan det kör? Fundera på varför/varför inte? Hitta exempel (genom att prova olika saker och titta på ett programs minnesanvändning) och ta med er det till seminariet.
Diskussionsfrågor
Nedan är förslag på diskussionsfrågor till seminariet. Ni får självklart även komma med egna förslag.
- Försök att definiera “processorkraft”. Vad betyder det när 100% processorkraft används? Ibland visas mer än 100% vad betyder det?
- Vad i ett pythonprogram använder minne och vad använder processorn?
- Vad menas med att operativsystemet tillhandahåller ett abstraktionslager mellan hårdvara och mjukvara. Försök komma på exempel där samma princip med abstraktionslager används (behöver inte vara inom datavetenskap).
- En processors hastighet kan uttryckas i GHz, t.ex. 2.5GHz som är processorns klockfrekvens, men vad innebär klockfrekvensen egentligen för exekveringen av ett program?
- Vad gör operativsystem för göra det möjligt att köra fler program samtidigt än antalet processorer i en dator?
Sidansvarig: Johan Falkenjack
Senast uppdaterad: 2023-08-24