Seminarium 2 - Filer och filsystem
Information om hur begreppsseminarierna går till hittar du på sidan Seminarier & Rapporter.
Målet med detta begreppsseminarium är att du ska få
- förståelse för vad en fil är; vad kopplingen mellan en fils namn och dess innehåll är och inte är
- förståelse för var ett filformat är; hur olika typer av data t.ex. bild och text lagras på olika sätt
- förståelse för vad teckenkodning är
- förståelse för vad ett filsystem är och vilka uppgifter ett filsystem har
Obligatoriskt förberedelsematerial
- Understanding ASCII and Unicode (GCSE). The Tech Train (2017). [6 min]. Syftet med denna video är att ge er en förståelse för hur tecken kodas för att kunna sparas till t.ex. en textfil.
- Files & File Systems: Crash Course Computer Science #20. CrashCourse (2017). [12 min]. Syftet med denna video är att ge er en överblick över filer, filformat och filsystem.
- Compression: Crash Course Computer Science #21. CrashCourse (2017). [13 min]. Syftet med denna video är att ge en lite mer konkret bild av vad ett filformat är och hur information kan komprimeras, samt konkreta exempel på varför vi har olika filformat (t ex pga olika slags av innehåll, och önskad komprimering).
- What is a File Format. LiveOverflow (2020). [13 min]. Syftet med denna video är att ge ett konkret exempel på vad man kan göra med kunskap om filer och filformat, samt vilken betydelse filändelsen hos en fil har eller inte har. Ni behöver inte förstå alla detaljer, den viktiga poängen är att förstå vad ett filformat är och varför vi kan tolka samma data som olika saker.
Nedan hittar ni parallellt material om ni vill läsa om det som tas upp i videosarna på egen hand.
- Lunell (2011). Datorn i världen, världen i datorn.
- Kapitel 8.1-8.7. Om filer.
- Kapitel 12.1-12.3. Om textfiler.
- Kapitel 10.1, 10.3, 10.5-10.6. Om bilder.
- Kapitel 14.1-14.6. Om filsystem.
Extramaterial (icke-obligatoriskt)
- Unicode, in friendly terms: ASCII, UTF-8, code points, character encodings and more. Studying With Alex (2021). [11 min]. Fördjupning av Unicode, t.ex. olika sätt att representera tecknet
é
och hur emojis med olika hudfärger fungerar i Unicode. - mbedded.ninja (2019, 27 maj). A Comparison of Serialization Formats. Hämtad 2021-07-08. En beskrivning och jämförelse (med exempel) av olika text-baserade format för strukturerad data av olika grad.
- Explaining File Systems: NTFS, exFAT, FAT32, ext4 & More. ExplainingComputers (2019). [11 min]. Video med genomgång och jämförelse av de vanligaste filsystemen.
- The Unreasonable Effectiveness of JPEG: A Signal Processing Approach. Reducible (2022). [35 min]. Teknisk förklaring av JPEG-formatet.
- Databending Video with Audacity. Andrew Thompson (2019). [2 min]. Video med om bearbetning av video med ljudprogrammet Audacity för att få till glitch-effekter.
- Databending and Datamoshing Audio 1: Databend with Audacity. Simon Hutchinson (2020). [10 min]. Om att använda data från bilder som ljud. Finns även fler videos i Simons serie som demonstrerar andra typer av databending och datamoshing.
- Turning photos into sound (sonification). Charlie Engelman (2020). [5 min]. Video om sonification av bilder. Sonification är när man försöker tolka/representera saker som inte är ljud, som ljud. Ungefär som att visualisering är att tolka/representera icke-visuell data visuellt.
- Sonification & The Problem with Making Music from Data. Martin Keary / Tantacrul (2017). [15 min]. Om olika problem det finns med avseende på t.ex. objektivitet som finns med att använda sig av sonification.
- How Computers Compress Text: Huffman Coding and Huffman Trees. Tom Scott (2017). [7 min]. Denna video beskriver hur Huffman-kodning kan användas för att komprimera text. Förklarar också hur vi kan skapa unika koder för teckenkombinationer med hjälp av Huffman-träd.
Prova på-övningar: undersökning av filer
En texteditor kan ses som ett program som visualiserar alla värden i en fil som kan kopplas till tecken och låter oss redigera detta innehåll. En hexeditor är ett program som låter oss se alla värden i en fil och redigera dessa. Det finns hexeditorer som du kan ladda ner och använda, och det finns även hexeditorer som är tillgängliga som online-tjänster, samt som tillägg till Visual Studio Code. För att göra övningarna nedan behöver du använda dig av något av dessa alternativ.
Om du bara vill visa innehållet i en fil med hex-vy kan du använda terminalprogrammet hexdump
på macOS eller Linux genom att köra hexdump -C <filnamn>
.
Gör minst en av de nedanstående undersökningarna på egen hand eller tillsammans i din pargrupp innan seminariet, för att diskuteras dem på seminariet.
- Skapa textinnehåll som du sparar till olika filer med olika teckenkodningar (du kan använda valfri texteditor till detta, t.ex. Thonny eller Visual Studio Code). Undersök likheter och skillnader i en hexeditor. Vilka tecken ger upphov till skillnader? Varför?
- Skapa textinnehåll och spara med en teckenkodning. Öppna filen, men säg till texteditorn (t.ex. Visual Studio Code) att använda “fel” teckenkodning när den öppnar filen.
- Öppna en bildfil i en texteditor eller i en hexeditor och gör några ändringar som du sparar (använd inte den enda kopian av en viktig bild till detta). Öppna bilden i ett program som visar bilder. Vad hände med bilden?
- Öppna och undersök filer av olika filtyper i en hexeditor (använd inga viktiga filer, eller i så fall gör detta på kopior av dessa filer). Hittar du något intressant?
Diskussionsfrågor
Nedan är förslag på diskussionsfrågor till seminariet. Ni får självklart även komma med egna förslag.
- Varför behövs filsystem? Vilka funktioner uppfyller det?
- Kan man ändra på en fil genom att ändra dess filändelse? T.ex. om jag har ett textdokument med filändelsen
.txt
, kan jag ändra filändelsen till.docx
och redigera det som ett word-dokument? Tvärt om, kan jag ta ett Word-dokument och ändra dess filändelse till.txt
om jag vill kunna redigera det i Visual Studio Code? Varför? Varför inte? - Vilka typer av abstraktioner har skapats för att vi lättare ska kunna jobba med information som lagras t.ex. på en hårddisk. Vad abstraheras bort?
- Varför behövs det så många olika filformat? Räcker det inte med ett filformat per kategori av information?
- Skulle det gå att ha ett filformat som kan användas för vilken typ av data som helst?
Entry Ticket
Efter att du gått igenom förberedelsematerialet kan du fylla i din Entry Ticket här
Sidansvarig: Johan Falkenjack
Senast uppdaterad: 2024-07-26