Hur delas CPU? Processormodell. Vårt produk9onsbolag igen. Produkt 2. Produkt Vinster med aa göra saker sam9digt.

Relevanta dokument
Processprogrammering och operativsystem Introduktion. Kursinformation. Varför operativsystem?

TDDIU81. Processer och trådar. Andreas Dahlberg, Jonathan Doherty, Tony Magnusson, Patrik Ottosson, Rasmus Siljedahl

Institutionen för elektro- och informationsteknologi, LTH

Datorteknik. Föreläsning 5. Realtidssystem och realtidsprogrammering. Institutionen för elektro- och informationsteknologi, LTH.

Fö 5+6 TSEA81. Real-time kernel + Real-time OS

Outline. Datorsystemtekni. Kravspecifikation. Kravspecifikation (forts.)

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.

Program kan beskrivas på olika abstrak3onsnivåer. Högnivåprogram: läsbart (för människor), hög abstrak3onsnivå, enkelt a> porta (fly>a 3ll en annan ar

En processor kan ha en klockfrekvens på flera GHz. Det går alltså a9 exekvera en instruk=on väldigt for, givet a9 instruk=onen finns i processorn.

Superscalar Bra: Hårdvaran löser allt: Hårdvara detekterar poten6ell parallellism av instruk6oner Hårdvara försöker starta exekvering (issue) av så

Program som ska exekveras ligger i primärminnet. Processorn hämtar instruk7on för instruk7on. Varje instruk7on, som är e= antal 1:or och 0:or, tolkas

DIG IN TO Dator och nätverksteknik

Operativsystem Lektion 1. Lärare. Schema. Kurssajten Finns på adressen. Jan Erik Moström. Set Norman

Datorsystemteknik Föreläsning 7DAVA14

Deluppgift 10 Starta den första processen (3.5h förarbete, 30min kodning)

Operativsystem - input/output, skydd, virtualisering

Digital- och datorteknik

Polling (cyklisk avfrågning) Avbrott

Fö 7: Operativsystem. Vad är ett operativsystem? Målsättning med operativsystem. Styr operativsystemet datorn?

Operativsystem. Informationsteknologi sommarkurs 5p, Agenda. Slideset 7. Exempel på operativsystem. Operativsystem

Datorsystemteknik DAVA14 Föreläsning 10

Grundläggande rou-ngteknik

Datorteknik ERIK LARSSON

Processer och trådar. Rasmus Cronstrand Per Jonsson Ante Wall Fabian Åberg

Operativsystem ID2200 Tentamen TEN1 3.8 hp :00-18:00

Introduk+on +ll JavaScript if- sats, funk+oner, bilder

Deluppgift 17 Processhantering: exec, sleep, exit, plist

Operativsystem DVG A06. Definition. Varför operativsystem? - Vad är ett operativsystem?

Flera processer. Minneshantering. Trashing kan uppstå ändå. Ersätta globalt

Digital- och datorteknik

Operative system. LRU-algoritm (2 p) Svar: 7 fel. c) Optimal algoritm (2 p) Svar: 6 fel

Mål. Datorteknik. Introduktion. Innehåll. Verklig situation - pappaledighet. Introduktion (forts)

Institutionen för elektro- och informationsteknologi, LTH

DVG A06. Operativsystem, mm. Karlstads universitet Datavetenskap. DVG A06 Johan Eklund. Datavetenskap, Karlstads universitet 1

System S. Datorarkitektur - en inledning. Organisation av datorsystem: olika abstraktionsnivåer. den mest abstrakta synen på systemet

Linköpings Tekniska Högskola Institutionen för Datavetanskap (IDA), Software and Systems (SaS) (c) Klas Arvidsson

Introduktion till hårdvara, mjukvara och operativsystem

Mål. Datorteknik. Repetition av avbrott. Innehåll. Mätning och styrning. Datorer för mätning och styrning. timer. Datorsystem A/D. Analog insignal D/A

En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär:

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock

Systembeskrivning. Systemskiss. Moduler.

Definition DVG A06. Varför operativsystem? Operativsystem. Översikt. - Vad är ett operativsystem?

Operativsystem. Innehåll. Operativsystemets funktion. Vad är ett OS? Vart hittar men ett OS? OS hanterar processorns resurser

Innehåll. Minneshantering. Systemet hivlls... Föreläsning 1. Problemformuleringar. Problem a[ lösa idag (...)

Idag. Webben och HTML. Webbens funk3on. URL och websidor. Moment F om webben och HTML startar nu

F8: Undantagshantering

Introduktion till programmering

Operativsystem. Hierarkin för hårdvara läses nerifrån

Tentamen den 18 mars svar Datorteknik, EIT070

Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

Fö 8: Operativsystem II. Minneshantering. Minneshantering (1) Minneshantering (2) Minneshantering och Virtuelltminne.

Pipelining i Intel Pentium II

Reservföreläsningen inställd

Olika OS. Unix, Linux och Windows. Unix. Unix. En översikt av ett par OS. Titt på hur de gör. Många varianter. Mycket gemensamt. En del som skiljer

Lösningar till tentamen i EIT070 Datorteknik

Systemkonstruktion LABORATION REALTIDSPROGRAMMERING

Operativsystem - Processer I

Vad är programmering Jonas Lindemann

Föreläsning 2. Operativsystem och programmering

HF0010. Introduktionskurs i datateknik 1,5 hp

F5: Högnivåprogrammering

Operativsystem ID1200/06 (ID2200/06 6hp) Tentamen :00-18:00

F5: Högnivåprogrammering

Datorteknik. Föreläsning 4. Polling och avbrott. Institutionen för elektro- och informationsteknologi, LTH. Mål

Försättsblad till skriftlig tentamen vid Linköpings Universitet Cover page for written exam at Linköping University

Inledande programmering med C# (1DV402) Introduktion till programmering

Övningsuppgifterna i kapitel F avser FLIS-processorn, vars instruktioner och motsvarande koder definieras i INSTRUKTIONSLISTA FÖR FLISP.

Digital- och datorteknik

Summering av fält. Synkronisering. Summering av fält. Bounded Buffer. Bounded Buffer (get) Bounded Buffer (put)

Kurskatalog 2010 INNEHÅLLSFÖRTECKNING

1.1 Runnable och Thread

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade)

Vad händer när man kör ett program? Program och processer. Funktionsanrop. Avsluta programmet

Realtidssystem HT03. Vad är realtidssystem? Inbyggda system. Att programmera, Tasks (Uppgifter) Realtidssystem kräver analys

Datorsystemteknik DAV A14 Föreläsning 1

Operativsystem ID2206 Tentamen TEN1 4.5 hp :00-18:00

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er

F4: Assemblerprogrammering

Operativsystem ID1200/06 Tentamen :00-18:00

Realtidsstöd i Minix. En laborationrapport. Oktober 2012

Storegate Pro Backup. Innehåll

Hyper-Threading i Intelprocessorer

Dagens föreläsning Programmering i Lisp. - Bindning av variabler (avs 14.6) fria variabler statisk/lexikalisk och dynamisk bindning

Digitala System: Datorteknik ERIK LARSSON

Mekanismer. (implementation)

Arbetssätt i Skola24 Schema

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er

Synkronisering. Ordning och reda

kommunikation tillgänglighet flexibilitet IT-miljö dokument personlighet

Stack och subrutiner Programmeringskonventionen

Operativsystem Introduktion

Trådar. Aktiva objekt

Operativsystem (ID2200/06) XX XX:00-XX:00

Digitala projekt rapport

Vad är viktigast? Sammanfattning. Processer och trådar. Processer och trådar. Flerprocessorsystem. Schemaläggning. Interprocesskommunikation.

Lärare. Operativsystem. Handledning. Kurssajt. Schema. Lektioner. Jan Erik Moström

Realtidssystem. - Dödläge - EDAF85 - Realtidssystem (Helsingborg) Elin A. Topp. Föreläsning 5

Tentamen omfattar 40 poäng fördelade på 7 uppgifter. 20 poäng krävs för betyget 3, 30 poäng för betyget 4 och 36 poäng för betyget 5.

Transkript:

Vinster med aa göra saker sam9digt Hur delas CPU? Del 1 av de tre vik9gaste resursfördelningsdelarna. Mul9programming NyAja resurser effek9vt genom aa exekvera 9llräckligt med processer för aa hålla varje resurs upptagen hela 9den. Behöver en process vänta på något växlas 9ll en ny som är redo aa jobba. Time share Genom aa ora växla mellan flera processer kan man få det aa se ut som aa de exekverar sam9digt. Processormodell Processorn består av en samling register och enheter som opererar på registren. Vi förestäler oss en processor med enbart de vik9gaste registren: Instruc9on Register (IR) Program Counter (PC) Stack Pointer (SP) General Purpose Register (GPR) Accumulator register (ACC) Flags register (FLAG) Vårt produk9onsbolag igen Resurser: En operatör som kan u^öra manuell bearbetning av produktämnet, eller flyaa ämnet mellan olika maskiner Automa9sk bearbetning av produktämnet med hjälp av 3 maskiner, A, B och C Problem: Begäran om 9llverkning om olika produkter kommer in på löpande band. Alla produkter är olika, men kan 9llverkas med de tre maskinerna, och en del manuell bearbetning. U^ör 9llverkningen så snabbt och effek9vt som möjligt. Produkt 1 1. Bearbetas i maskin A i 3 minuter 2. Bearbetas manuellt i 2 minuter 3. Bearbetas i maskin C i 5 minuter 4. Bearbetas manuellt i 1 minut Produkt 2 1. Bearbetas manuellt i 10 minuter 2. Bearbetas i maskin B i 5 minuter 3. Bearbetas i maskin A i 4 minuter 4. Bearbetas manuellt i 4 minuter 1

Produkt 3 1. Bearbetas i maskin A i 2 minuter 2. Bearbetas i maskin B i 2 minuter 3. Bearbetas i maskin C i 2 minuter 4. Bearbetas i maskin D i 2 minuter Produkt 4 1. Bearbetas manuellt i 15 minuter... Vad måste operatören hålla reda på? Vad måste operatören hålla reda på? Vilken produkt håller han på med just nu? Vilka produkter har han påbörjat 9llverkning av? Hur långt har varje påbörjad produkt hunnit? Vilka produkter är redo aa berabetas vidare? Har han fler 9llverkningar av samma produkt igång sam9digt? Operatörens arbetsordning När 9llverkning av ea produktexemplar startas tas en kopia på listan över steg som behöver u^öras. VarteRer steg blir klara stryks den bearbetning som just avslutats från listan. Nästa steg påbörjas. Listan placeras vid den maskin som används. Är maskinen upptagen läggs listan på hög vid den maskinen. När en maskin signalerar aa den är klar stryks det steget från listan, och nästa bearbetning i den maskingen fortsäaer genom aa ta nästa lista från kön. Operatören har liksom varje maskin en egen kö med produktlistor som väntar på manuell bearbetning. När sista steget stryks flyaas listan 9ll en pärm med avslutat jobb, och produkten är klar. I opera9vsystemet är CPU operatör... Rita processers livscykel...... Prata kort om...... preemp9on och schemaläggning... 2

Program En samling instruk9oner lagrade på disk som 9llsammans u^ör en bestämd uppgir. exekverbar binärkod en datamängd med ini9alvärden en datamängd utan ini9alvärden Jämför: Produkt, Bok Process En instans av ea program som exekverar. Ak9vitet pågår. Allt som är ea program Resurser som skapats eller allokerats under körning, t.ex. filer, trådar, minne, exekveringsstack, processorregister Alla resurser 9llhör endast processen, de är inte 9llgängliga för andra processer. Opera9vsystemet kontrollerar när processen får exekvera, och när och hur den får 9llgång 9ll begärda resurser. Processen kontrollerar hur den styr sin exekverings9d internt. Jämför: Produkt under 9llverkning, Läsning av bok Tråd Minsta exekveringsenheten. Håller reda på var i en sekvens instruk9oner vi jobbar just nu. en samling processorregister en exekveringsstack Exekverar inom en process (användartråd) eller inom opera9vsystemet (kerneltråd). Processen eller OS styr över när tråden får exekvera. Tråden har 9llgång 9ll alla resurser inom sin domän (OS eller process). Jämför: Kryss på arbetslista, Bokmärke TCB och PCB OS måste definiera en behållare för tråddata och processdata, samt hålla reda på en lista av trådar för varje resurs.... Rita lista, trådbyte...... OH... OS exekverar och schemalägger endast kerneltrådar. Processer körs genom aa kerneltråden återvänder från ea interrupt (och växlar därmer från kernel 9ll user mode). User- trådar körs genom aa processen internt schemalägger egna trådar och växlar mellan dem. Moderna OS kan koppla user- trådar 9ll kerneltrådar för aa öka prestanda på mul9processorer.... Rita... Exempel: Visa Pintos. Skydd av resurser Vad händer om en tråd eller process: Aldrig blir klar med CPU? Använder hårdvaruresurser på fel säa? Andra trådar eller processer blir lidande. Hårdvara kan ta skada. TimeravbroA (9mer interrupt) Bredvid CPU finns en liten enhet som varje klock9ck räknar upp en intern räknare. Räknaren har ea begränsat antal bitar. När den slår över skickas en signal 9ll CPU, och räknaren startar om på 0. Signalen genererar ea 9meravbroA (asynkront). Opera9vsystemet kan ställa in hur ora räknaren skall generera avbroa. Opera9vsystemet kan ställa in vilken kod som skall hantera avbroaet. Exempel: Visa Pintos. 3

Trådbyte När OS- koden som reagera på ea 9meravbroA exekverar så har OS möjligheten aa undersöka hur länge nuvarnde tråd exekverat och eventuellt byta 9ll en annan tråd. När OS på deaa säa tvingar en process aa släppa en resurs (i deaa fall CPU) kallas det preemp9on. DeAa är funk9onaliteten som gör aa OS kan garantera alla trådar räavis exekverings9d. Det finns enkla OS där varje tråd själv måste se 9ll aa byta 9ll en annan tråd. Dessa är inte lika säkra men duger bra där programmeraren har total kontroll på hela systemet och de trådar som kör (t.ex. ea inbyggt system). ERersom avbroaet är asynkront kan det uppstå precis var som helst i koden, och överraskande fel kan uppstå om en tråd arbetar på samma data som en annan. Mer om deaa i andra halvan av kursen. Dual- mode exekvering CPU ges två exekveringslägen: kernel mode full access 9ll alla instruk9oner och resurser user mode endast access 9ll resurser explicit 9lldelade Opera9vsystemet exekverar kerneltrådar och har all9d 9llgång 9ll kernel mode Processer exekverar i user mode och måste be opera9vsystemet u^öra resursåtkomst (inte be om lov, utan be aa få begäran u^örd av OS coh endast få 9llbaka resultatet) Systemanrop När OS u^ör en tjänst på uppdrag av en process och ger resultatet 9ll processen Processen kör hela 9den i user mode och har inte möjlighet u^öra tjänsten själv då tjänsten i fråga kräver 9llgång 9ll kernel mode Opera9vsystemet kör hela 9den i kernel mode och kontrollerar noga aa tjänsten går aa u^öra och aa eventuella indata från processen är korrekta GränssniA 9ll OS Systemanrop utgör gränssniaet 9ll OS Abstraherar skillnader i hårdvarukonfigura9on, opera9vsystemet tar hand om eventuella skillnader och presenterar all9d ea enhetligt gränssnia 9ll applika9onsprogrammeraren Program kan enklare göras portabla Opera9vsystemet 9llhandahåller ea bibliotek som presenterar systemanropen som vanliga funk9onsanrop, själva systemanropet döljs inu9 dessa funk9oner. Exempel: Visa Pintos Vanliga systemanrop Systemanrop steg 1 (user mode) Filhantering: skapa filer öppna filer läsa filer skriva filer stänga filer ta bort filer Minneshantering: allokera minne avallokera minne dela minne med andra processer Processhantering: starta processer invänta processers avslut stoppa processer visa alla exekverande processer Trådhantering: skapa trådar starta trådra pausa tråd som kör stoppa trådar synkronisera trådar Processen anropar önskad funk9on i biblioteket över systemanrop och anger räa argument Biblioteksfunk9onen placerar argumenten på processens (nu exekverande tråds) exekveringsstack Biblioteksfunk9onen placerar en kod för sia systemanrop på samma stack Biblioteksfunk9onen exekverar assemblerinstruk9onen som skapar ea mjukvaruinterrupt (synkront). 4

Systemanrop steg 2 (avbroa) CPU reagerar med aa i denna instruk9on: Växla 9ll kernel mode Spara SP temporärt Återställa SP 9ll den exekveringsstack OS använder i kernel mode (en för varje kernel- tråd) Spara alla register på exekveringsstacken så som de såg ut just innan mjukvaruinteruptet exekverades (inklusive temporärts sparade SP) ErsäAa IP och PC med adress och instruk9on på den adress opera9vsytemed specificerat för just deaa interrupt Systemanrop steg 3 (kernel mode) Nu exekvera OS- kod i kernel mode. OS kontrollerar de indata och ev. plats för utdata som placerades på processens stack. OS u^ör begäran på ea kontrollerat och effek9vt säa. OS placerar resultatet på förutbestämd plats (i register eller minne angivet av processen) OS exekverar instruk9onen för aa återvända från interrupt. Systemanrop steg 4 (återhopp) CPU reagrear med aa i en instruk9on: Återställa alla sparade register, inklusive SP, IR och PC (några kan vara manipulerade av OS) Byta 9ll user mode Nu är vi återigen i user mode Biblioteksfunk9onen fortsäaer och returnerar resultatet 9ll anropande process. Processens kod har aldrig har direkt åtkomst 9ll av OS kontrollerade resurser, endast OS kod har har det. 5