Lärare Operativsystem Introduktion Jan Erik Moström jem+os@cs.umu.se Handledning Set Norman set@cs.umu.se Handledning Kurssajt Finns på www.cs.umu.se/kurser/tdbc28/vt05/ Innehåller: Schema Allmän info Labbar OH kopior Schema Lektioner Lektion 10 den 22 februari måste flyttas Första labintroduktion fredag den 28 januari Inga speciella lektioner, vanliga standard lektioner som följer boken ganska väl.
Labbar Kursens mål Kursen innehåller 3 st labbar Labbarna kräver ganska mycket arbete så det är bäst att börja i tid Labbarna är antagligen den del av kursern där ni kommer att lära er mest, så ta tillvara på tillfället. Grundintroduktion till vad ett operativsystem är och de centrala begrepp som finns där. Efter kursen ska ni kunna hänga med i en diskution om olika operativsystem och förstå vad som sägs Få en viss erfarenhet i att vara inne och rota i de centrala delarna på ett OS Det svåraste med kursen tycks ha varit de obligatoriska uppgifterna, som dock har varit mycket givande men svåra. Mer teori om existerande OS! Labbdelen är ju helt klart lite klurig Kursen uppfyllde mina förväntningar och lite till Försök ge lite mer tid till de två sista labbarna. Boken? Mycket bra. Tar upp det som är väsentligt att veta i ämnet samt är lättläst med mycket roande humoristiska inslag. Skippa nachos! Sedan råder det delade meningar om tiden varit tillräcklig eller inte. Handledarna har i alla fall kunnat ge den hjälp som som efterfrågats även om mer handledningstid skulle välkomnas Ja, men det har varit rätt mycket med laborationer. Några föreläsningar har fått stryka med både på denna och andra kurser. Labbarna? nja, de tar mer tid än man någonsin kan föreställa sig Om man sluppit de oändliga timmarna av felsökning så. Som det var nu: Nej. Ja, egentligen men jag har varit lite slö Har du lärt dig nåt av labbarna? Ja massor, de var väldigt givande. Jo, man har fått en otrolig insikt i hur operativsystem fungerar och byggs upp. Intressanta labbar har det varit. De obligatoriska uppgifterna har varit mycket givande. Jag har verkligen fått praktiskt ta till mig den teoretiska kunskap som givits på föreläsningarna. Ja. Bästa labkursen hitintills
Mina kommentarer om kursen Förändringar Mycket lab - men tror det är viktigt Föreläsningarna - lättare Närvaron - alldeles för låg förra året Lite mera kött på benen på lektionerna Mera anknytning till labbarna Mera om vad som finns nu Handledningstider Vart befinner sig OSet Operativsystem Spel Databaser Webläsare Kompilatorer Text editorer Kommandotolk Operativ system Maskinspråk Microarchitecture Hårdvaran Vad är ett OS? Vad är ett OS? Det är inte fönstersystemet Det är inte 'ls', 'cd', etc Det är de innersta delarna av datorns programvara Syfte Att tillåta flera program att köra samtidigt Att fungera som ett abstraktionslager mot hårdvaran Att hantera olika resurser
Vart hittar man OS? Några begrepp Handdatorer Stordatorer Inbyggda system (embedded systems) Ett radarsystem En symaskin En tryckpress Kärna - kernel Root, admin, superuser Process Drivrutin - device drivers En speciell sak med kärnan User mode Supervisor mode Historik En gång för mycket mycket länge sedan Steg 1 lödkolv och/eller virpenna Steg 2 ladda in program Steg 3 ladda in flera program efter varann automatiskt!!!! Lagra flera program i internminnet och snabbt byta mellan dem!!! Steg 4 en ide för att utnyttja dator bättre
Tidsdelningssystem Tidsdelningssystem CTSS Multics Introducerade många nya idéer Flera hundra användare på en dator motsvarande en 386:a!! This is not as crazy as it sounds, since people knew how to write small, efficient programs in those days, a skill that has subsequently been lost. PDP-serien mycket populär I sverige användes Nord-100 på många universitet Unix System V BSD Posix Minix Linux VMS Unix historia På papper Tre alternativ Köpa (svindyrt) Acer, Apple, Microbee, Spectrum, PET, Osborne, etc Köpa en byggsats (dyrt) Nascom, etc Bygga eget från kretsar (dyrt) Operativsystem CP/M eller nåt liknande Skriva eget
PC - Personal Computer IBM beslöt sig för att det fanns en marknad för persondatorer och konstruerade sin "Personal Computer" IBM => stor genomslagskraft Många OS men MS-DOS följde med Mac OS Windows Mac System 1.x => 9.x OS X Windows Windows 1.x => ME Window NT, 2000, XP Linux OpenBSD etc Olika typer av OS Hårdvaran Mainframe Server Multiprocessor RTOS Inbyggda system SmartCard etc CPU Minne Programräknare (PC) Stackpekare (SP) Flaggor (PSW) Register Cache Intern minne Disk Band Hårdvaran Fler begrepp IO Bussar Avbrott Avbrottsvektor Drivrutiner CPU DMA Bus USB Minne Processer och trådar Address space Process table Context switch Shell Interprocess communication (IPC) Resource allocation Deadlock
Fler koncept Systemanrop Memory management IO Filsystem Kataloger, sökvägar och rot Specialfiler, pipes Distribuerade filsystem Säkerhet i allmänhet Vad ska köras? Tillbaka till den kod som anropade Gör en trap ("anrop" till kärnan) Lägg in "anropskoden" för read i rätt register Fixa stackpekaren Anropa read Pusha file descriptor Pusha adressen till bufferten Pusha hur många bytes som ska läsas Läs Monolitiska - "The Big Mess" Ingen struktur I praktiken så finns de lite struktur Struktur på OSet Lagrad modell Varje lager har en väldefinerad uppgift Virtuella maskiner Inte som Java Här motsvarar en virtuell maskin verkligen en maskin, dvs all hårdvara precis som den ser ut Man kan då köra olika operativsystem på samma dator. Exokernels Lästips Varje process får ett subset av resurserna Client-Server Micro-kernel Läs kapitel 1 som ger en bra introduktion till ämnet User mode processes för t.ex. filhantering och minne.