ID1200 Operativsystem 6,0 hp
| Tillfälleskod | Termin(er) | Period(er) | Föreläsare |
|---|---|---|---|
| 51093 | HT2025 | 1-2 | Ivy Peng, ?? |
Anteckningar med utgångspunkt i föreläsningsslides.
Föreläsning 1
Historia
- 1945-1955: Före operativsystem. Datorer programmerades genom omkoppling.
- 1955-1965: Programmering med hålkort. En operatör laddar sedan program på ett magnetiskt band, och kör sedan ett speciellt program (monitor) som exekverar önskade program sekventiellt.
- 1965-1980: Multiprogrammerade batch-system. Flera jobb hålls i datorns minne samtidigt och varje jobb hålls körande tills ex.vis I/O (blockerande) anropas. Senare uppkommer tidsdelning (UNIX).
- 1980-nu: Persondatorer. Övergång från mänskliga operatörer till mjukvara (operativsystem).
Operativsystem
Ett operativsystem är ett program som agerar mellanhand mellan användare/program och hårdvaran.
Operativsystemet allokerar resurser och förhindrar fel.
Syfte:
- Isolerade program.
- Förenkla utveckling.
- Nyttja hårdvara effektivt.
Multiprogrammering
Schemalägger processorer för att maximera hålla processorn sysselsatt. När någon process väntar på ex.vis I/O, byter operativsystemet till en annan process.
Arkitekturer
- Enprocessorsystem
- Flerprocessorsystem (flera kärnor och/eller CPUer)
- Kluster
Multitasking, time slicing
Processorn byter fokus regelbundet, så att varje process får körtid.
Om flera processer är redo att köras, krävs CPU-schemaläggning för att välja en av dessa.
Delar i ett operativsystem
Processhantering
- Schemaläggning av processer och trådar
- Skapa och avsluta processer på användar- och systemnivå
- Pausa (suspending) processer
- Synkronisering
- Inter-processkommunikation (IPC)
Minneshantering
För att köra ett program krävs att både instruktioner och data finns i minnet.
Mål: Optimera CPU-användning och svarstider genom att placera data och instruktioner i main memory.
Hanterar även allokering och avallokering av minne.
Enhetshantering och I/O-subsystem
Hanterar och väljer drivrutiner för olika enheter. Drivrutinerna översätter i sin tur operativsystemets instruktioner till enhetsspecifika instruktioner.
En device controller hanterar interrupts.
Huvudsakliga I/O-subsystem i kerneln:
- I/O-schemaläggning
- Buffring och cachning
- Felhantering: t.ex. buffer-overflow, diskcrash, minnesfel
- I/O-säkerhet