Kompendium
Det er ikke alle temaene som er utredet i et kompendium. Det meste av pensum består av kilder på WWW og flere lærebøker:
- Guerrieri, A. (2019). Hands-On System Programming with Go. Packt Publishing Ltd.
- Silberschatz, A., Peter Baer Galvin, & Gagne, G. (2014). Operating system concepts essentials. John Wiley & Sons, Cop.
- Woodbeck, A. (2021). Network programming with Go : code secure and reliable network services from scratch. No Starch Press.
Vær også oppmerksom at en vesentlig mengde fagstoff er også introdusert under oppgaver og seminarer. Derfor er det viktig å studere disse materialene nøye for å kunne oppnå best mulig læringseffekt i IS-105.
Her er liste over kapittlene som det er skrevet et kompendium for (status våren 2023):
1 Automater
Introduserer overfladisk automatteorien illustrert med enkelte eksempler. Selvstudiet for å bli kjent med begrepene er forventet. Automatteorien danner det teoretiske grunnlaget for abstrakt modellering for datasystemer (på norsk brukes av og til begrepet datavitenskap, som kombinerer informatikk, matematikk, statistikk og dataanalyse med anvendelser i andre fagfelt).
2 Filer og strømmer
Fil er den mest grunnleggende abstraksjon for arbeid med informasjons i datasystemer. Programmerer skriver all kode i en teksteditor (som er en applikasjon som allokerer en mellomlagringsplass i for informasjon i RAM mens arbeidet med teksten foregår) og lagrer koden i en fil. Så starter man et annet program (kompilator eller fortolker), som også ligger i en fil og tar i bruk maskinvaren på datassystemet og ofte lagrer resultater til en fil. Grunnleggende designide i UNIX er Everything is a file. Typisk for en "fil" er at den kan leses fra og skrives til som en strøm av bytes. Filnavn (eller filidentifikator (en. file descriptor)) er da abstraksjonen man bruker for å åpne og lukke kilde eller "sluk". Filer er typisk lagret på det sekundære (bestandige) minne, men i UNIX brukes også filabstraksjon på informasjon lagret i RAM. For eksempel, kan man strømme informasjon om prosesser fra et pseudo- eller virtuelt filssystem med mappenavn /proc
(dette gjelder ikke Windows og macOS).
I kompendiet forklares det noen grunnleggende systemkall i Linux for filbehandling og det vises noen eksempler av arbeid med filer ved hjelp av Go pakker (som os, for eksempel).
3 Minne og prosess
Introduksjon i hvordan minne og prosess representeres i en datamaskin.