Lärare Operativsystem Introduktion Jan Erik Moström jem+os@cs.umu.se Handledning Kurssajt Finns på www.cs.umu.se/kurser/tdbc33/vt06/ Mattias Linde linde@cs.umu.se Handledning www.cs.umu.se/kurser/tdbc33/vt06/jem Innehåller: Schema Allmän info Labbar OH kopior Schema Lektion 14 den 3 mars kommer att ändras Första labintroduktion fredag den 20 januari - rekommenderad närvaro Lektioner Inga speciella lektioner, vanliga standard lektioner.
Labbar Examination 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. Kursens mål 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 Kommentarer om kursen Vanlig betygssatt salstenta Kommentarer om kursen Det svåraste med kursen tycks ha varit de obligatoriska uppgifterna, som dock har varit mycket givande men svåra. Försök ge lite mer tid till de två sista labbarna. Mer teori om existerande OS! Labbdelen är ju helt klart lite klurig Kursen uppfyllde mina förväntningar och lite till 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 Kommentarer om kursen 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. 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. 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ö
Kommentarer om kursen Mina kommentarer om kursen Har du lärt dig nåt av labbarna? Ja massor, de var väldigt givande. 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. Mycket lab - men tror det är viktigt Föreläsningarna - lättare Jo, man har fått en otrolig insikt i hur operativsystem fungerar och byggs upp. Intressanta labbar har det varit. Ja. Bästa labkursen hitintills Förändringar Operativsystem Ny bok Hade tänkt byta labbar men funkade inte Vart befinner sig OSet Spel Databaser Webläsare Kompilatorer Text editorer Kommandotolk Operativ system Maskinspråk Microarchitecture Hårdvaran Vad är ett OS? Det är inte fönstersystemet Det är inte ls, cd, etc Det är de innersta delarna av datorns programvara
Vad är ett OS? Vart hittar man OS? Persondatorer Syfte Att tillåta flera program att köra samtidigt Att fungera som ett abstraktionslager mot hårdvaran Att hantera olika resurser Handdatorer Stordatorer Inbyggda system (embedded systems) Ett radarsystem En symaskin En tryckpress Några begrepp En speciell sak med kärnan Kärna - kernel Root, admin, superuser User mode Process Supervisor mode Drivrutin - device drivers Steg 1 lödkolv och/eller virpenna Historik En gång för mycket mycket länge sedan Steg 2 ladda in program Steg 3 ladda in flera program efter varann automatiskt!!!! Steg 4 en ide för att utnyttja dator bättre
Tidsdelningssystem Lagra flera program i internminnet och snabbt byta mellan dem!!! CTSS Multics Introducerade många nya idéer Flera hundra användare på en dator motsvarande en 386:a!! PDP-serien mycket populär Tidsdelningssystem I sverige användes Nord-100 på många universitet Unix 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. System V BSD Posix Minix Linux VMS Persondatorer Tre alternativ Unix historia På papper Köpa (svindyrt) Acer, Apple, Microbee, Spectrum, PET, Osborne, etc Köpa en byggsats (dyrt) Nascom, etc Bygga eget från kretsar (dyrt)
Persondatorer PC - Personal Computer IBM beslöt sig för att det fanns en marknad för persondatorer och konstruerade sin Personal Computer Operativsystem CP/M eller nåt liknande IBM => stor genomslagskraft Skriva eget Många OS men MS-DOS följde med Ofta inget alls ;-) Mac OS Windows Persondatorer Mac Olika typer av OS Mainframe System 1.x => 9.x Server OS X Multiprocessor Windows Persondatorer Windows 1.x => ME RTOS Window NT, 2000, XP Inbyggda system Linux SmartCard OpenBSD etc etc Hårdvaran Hårdvaran Avbrott Avbrottsvektor Programräknare (PC) Stackpekare (SP) Flaggor (PSW) CPU IO Minne Bussar Drivrutiner CPU USB Register Cache Bus Intern minne Disk Band DMA Minne
Fler begrepp Fler koncept Processer och trådar Memory management Address space IO Process table Filsystem Context switch Kataloger, sökvägar och rot Shell Interprocess communication (IPC) Specialfiler, pipes Distribuerade filsystem Resource allocation Säkerhet i allmänhet Deadlock Systemanrop Struktur på OSet 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 Monolitiska - The Big Mess Fixa stackpekaren Ingen struktur Anropa read Pusha file descriptor Pusha adressen till bufferten Pusha hur många bytes som ska läsas I praktiken så finns de lite struktur Vad ska köras? Läs 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 Varje process får ett subset av resurserna Client-Server Micro-kernel User mode processes för t.ex. filhantering och minne.
Lästips Läs kapitel 1 som ger en bra introduktion till ämnet