Gå till innehållet

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:

  1. Isolerade program.
  2. Förenkla utveckling.
  3. 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

Föreläsning 2