William Sandqvist System Management functions S Burd, Systems Architecture ISBN 0-619-21692-1 Figure 11-2 CPU Management Memory Management.

Slides:



Advertisements
Liknande presentationer
IT för personligt arbete F5
Advertisements

OPERATIVSYSTEM WINDOWS
Avlusning Debugger (”avlusare”) Breakpoints Watch.
Simulering av MIPS32 4K med TLB och CACHE Andrei Krougliak Simon Olsson Luleå tekniska universitet 2005.
En avancerad miniräknare
Anders Sjögren Lagringsklasser •en variabel i C har två attribut –type( int, float, char..... ) –lagringsklass( auto, extern, register, static ) •lagringsklassens.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 5: CPU-schemaläggning.
Programstruktur: C för enchipsdatorer
Översikt av operativsystem (kap 1 & 2)
Persondatorer Datorns internminne (Kapitel 6)
Minnesteknologier Teknologi Accesstid Kostnad $/GB SRAM 1 ns 1000 DRAM
PC-teknik Repetition enligt önskemål som inkommit via mail. (täcker alltså inte alla moment i kursen)
©annax1 PC-teknik Minnen. 2 MINNEN Segmenterat minne 16 bits segmentregister + 32 bits offset = 64k*4Gbyte = 512Tb obs! Ofta används inte alla 16 bitarna.
23 August 2014 IS1200 Datorteknik vt09, föreläsning 10, (E och I mfl)1 IS1200 Datorteknik Föreläsning Processorkonstruktion 2. DMA, Direct Memory.
Adressöversättning zRepetition av virtuellt minne zTLB - cacheminne för sidtabellinformation zVirtuellt eller fysiskt adresserat cacheminne zTricket -
Adressöversättning Repetition av virtuellt minne
C-programmering ID120V William Sandqvist Länkad lista
Programmeringsteknik K och Media
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 13: I/O-system.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kap 3 & 4: Processer & trådar.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 7: Deadlocks.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 11: Implementation av filsystem.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 9: Virtuellt minne.
Pekare och speciell programstruktur i inbyggda system
Välkommen till Del 1.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( ) Innehåll: Trådprogrammering i Java - Avbrott (”interrupts”) - Metoden join() -
OPERATIVSYSTEM WINDOWS
William Sandqvist C:s minnesmodell.
Operativsystem Vad är det för något ? Varför har man operativsystem ?
PROCESSPROGRAMMERING Föreläsning ‏ Innehåll: Högnivå objekt för trådprogrammering: - Trådgrupper (”Thread pools”)‏ - Exekverare (Executor.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Jämförelseoperatorer -Villkorssatser -Logiska operatorer.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Operating Systems Networking for Home and Small Businesses – Chapter.
William Sandqvist Kodlåsmall lockmall.vhd William Sandqvist
1 Windows programmering Programmering med Threads Borland C++ Builder 4 Modsoft Ab Kent Westerholm.
William Sandqvist Databuffer Omvandlar mellan olika storlekar på dataobjekt Anpassar mellan olika dataöverföringshastigheter Databuffer.
Prestanda ● Vad påverkar datorprestanda ● Hur mäter man datorprestanda ● Räkna klockcykler - ett sätt att analysera ● Amdahls lag - gräns för förbättringar.
Lågnivåprogrammering Översikt av I/O-mekanismer i hårdvara Olika språkkrav och modeller för komponent- hantering(device driving) Modeller för komponent-hantering.
Frågor Allmän IT-kunskap avsnitt 1 kapitel 1 Repetition 3
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 2 ( ) INNEHÅLL: -Variabler och datatyper -Tilldelning av variabler -Aritmetiska.
F4 - Funktioner & parametrar 1 Programmeringsteknik, 4p vt-00 Modularisering ”svarta lådor” Väl definierade arbetsuppgifter Enklare validering Enklare.
31 March 2015IS1200 Datorteknik, förel 101 IS1200 Datorteknik Föreläsning Processorkonstruktion 2. DMA, Direct Memory Access 3. Byte-code i JAVA.
William Sandqvist C-programmering ID120V Stack och Kö William Sandqvist
1 386 Från s bits adressbuss –=>4GB minne kan adresseras 32 bits databuss max klockfrekvens: 40MHz Protected mode –virtuellt minne –segmentering.
Schemaläggning Mål –Att förstå den roll som schemaläggning och schemaläggnings-analys spelar för att förutsäga hur realtids-tillämpningar uppfyller sina.
Pipelining Föreläsning 4. T exe — CPU-exekveringstid I — Antalet exekverade instruktioner CPI — Genomsnittligt antal klockcykler per instruktion T c —
Minnesarkitektur Problem: Snabbare och snabbare processorer men minnena hänger inte med. Lösning: Minneshierarkier.
Emulatorkonstruktion Schema Inledning Andra metoder Mina metoder Demonstration av min C64-emulator Sammanfattning och frågor.
William Sandqvist PIC-programmeringsmiljön i skolan Datorerna i skolans labsalar är centralt underhållna. Du har inte rättigheter att installera.
Anders Sjögren Filer - långtidslagring. Anders Sjögren Filtyper i DOS talet ett ( intx=1; ) lagrat i en –textfil, (en sekvens av tecken ( bytes )) enligt.
William Sandqvist ReadModifyWrite-problemet PORTB = 0; PORTB.0 = 1; PORTB = PORTB; Vilket värde har portpinnen RB1 nu ? Förmodligen ”1”,
ITM1 Kapitel 8 Datastrukturer Grundläggande datavetenskap, 4p Utgående från boken Computer Science av: J. Glenn Brookshear.
William Sandqvist Distributed Computing Client – Server. En skrivarserver kan vara ett exempel på en Client-Server arkitektur. S Burd, Systems.
William Sandqvist Funktionsbibliotek När man utvecklat en funktion så långt att den är "färdigutvecklad" kan man lika gärna spara den på.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( ) Innehåll: -Exekveringstrådar.
Kronljusströmställaren 0, 1, 2, 3
14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Repetition.
William Sandqvist Datorteknik övning 1 Introduktion till assemblerprogrammering av Nios II William Sandqvist
6/3/2015© Mats Brorsson1 Hur mycket snabbare blir det med PC133 SDRAM jämfört med PC100 SDRAM?... blir det med en 1,4 GHz Athlon- processor jämfört.
Föreläsning 1 Introduktion till kursen. Algoritmer
William Sandqvist KIA’s fabrik i Slovenien En bil i minuten lämnar bandet – tar det en minut att bygga en bil? Nej för KIA's fabrik utanför.
Operativsystem Vad är det för något ? Varför har man operativsystem ? Vilka finns det ?
IT och medier1 Utgående från boken Computer Science av: J. Glenn Brookshear Grundläggande datavetenskap, 4p Kapitel 3 Operativsystem.
Så fungerar en dator Mental bild av en dator
Python.
Datorer och nätverk.
Grundläggande datavetenskap, 4p
Datorer och nätverk.
Digitalteknik 3p - Kombinatoriska Byggblock
Digitalteknik 3p - Kombinatoriska Byggblock
Presentationens avskrift:

William Sandqvist System Management functions S Burd, Systems Architecture ISBN Figure 11-2 CPU Management Memory Management Secondary Storage Management I/O Management User Management Process Management

William Sandqvist OS lager (Användaren) Kommando/Applikation Service lagret Kärnan Hårdvaran S Burd, Systems Architecture ISBN Figure 11-3

William Sandqvist Drivrutiner i kärnan S Burd, Systems Architecture ISBN Figure 11-4 Bildskärm Tangentbord Mus Hårddisk Ljudkort...

William Sandqvist Flera Processer på en CPU Operativsystemet utnyttjar avbrottsrutinen. Vid regelbundna timeravbrott får operativsystemet möjlighet att byta process. Med mjukvaruavbrott (TRAP-instruktion) kan en process själv meddela operativsystemet om den inte kan utnyttja sin tid.

William Sandqvist PCB, Process Control Block Varje process har en egen datarea i minnet. I processens kontrollblock sparas information om CPU:ns registerinnehåll från den tiden processen exekverades. Vid varje Context Switch, byte av process, sparar operativsystemet undan CPU:ns registerinnehåll och laddar in nytt registerinnehåll för den nya processen som ska exekvera.

William Sandqvist Processernas kod, data, och stack Operativsystemets har en ”egen” minnesmodell som ligger inuti C:s minnesmodell (om operativsystemet är skrivet i C). C:s minneshanterare är inte användbar – den vet inte om att det finns flera processer. Operativsystemen har egna minneshanterare.

William Sandqvist Ex. dataöverföring med Buffer Bufferstorleken påverkar antalet interrupt/context switch. Buffer ger hårdvaru- avbrott när den är full/tom och framtvingar då en context switch i förtid innan processens timeslice nått slutet. Det tidigare exemplet med buffer. När processen behöver ”vänta” på buffern kan den lika gärna låta någon annan process få exekvera.

William Sandqvist Process och Trådar En process kan i sin tur vara uppdelad i trådar. En tråd är en del av en process som kan ges en oberoende schemaläggning. Tråden utnyttjar sin egen Process resurser. En process (ett program) som är uppdelat i flera trådar kallas för Flertrådat eller Multitrådat. Programmeraren måste själv markera för kompilatorn vilka delar av programmet som kan exekveras som oberoende trådar.

William Sandqvist Threads Timesharing S Burd, Systems Architecture ISBN Figure 11-5 S Burd, Systems Architecture ISBN Figure 11-6

William Sandqvist Schemaläggning Preemtive scheduling innebär att en process kan tvingas att avbryta exekveringen ofrivilligt. Prioritized Scheduling. Processerna tilldelas olika prioritet (Explicit Priority). Prioritized Preempted Scheduling. ( numera vanligast ) - Varje process har en bestämd prioritet - Den ready process som har högst prioritet exekverar - Processen exekverar tills den är klar eller den preemts av en process med högre prioritet

William Sandqvist En tråds olika tillstånd Prioritized Preempted Scheduling. Lägger man till processer med lägre prioritet så påverkar dessa bara obetydligt prestanda för de processer som har högre prioritet.

William Sandqvist Multitasking minneshantering Minnet är uppdelat i regioner. Varje process tilldelas efter behov ett helt antal regioner. Process 3 utnyttjar här region 13 dåligt. Detta leder till Waste- memory. S Burd, Systems Architecture ISBN Figure 11-12, 11-13

William Sandqvist Fragmenterat minne S Burd, Systems Architecture ISBN Figure Processer skapas och avslutas. Minnesområden tilldelas och lämnas åter. Med tiden blir det svårare att hitta stora samman- hängande områden i minnet – minnet har blivit fragmenterat.

William Sandqvist Kompaktering av minnet Ett sammanhängande minnesområde för en ny Process 6 finns ej! En kompakteringsrutin får först ”flytta om” data så att det bildas ett till- räckligt stort område av sammanhängande minne. S Burd, Systems Architecture ISBN Figure Process 6

William Sandqvist Använd icke angränsande minne Use of Noncontiguous memory. Om operativsystemet har Virtuellt minne kan Process 6 använda de lediga minnespartitionerna, och uppfatta det som om områdena är sammanhängande – på det sättet undviker man tidsödande kompak- tering av minnet! S Burd, Systems Architecture ISBN Figure 11-16

William Sandqvist Adressöversättningen address = frame*sizeof(frame)+ offset

William Sandqvist Minnes hierarkier I sekundärminnet lagras processerna sammanhängande som ett antal Pages. Primärminnet är uppdelat i Page frames. Görs en minnesreferens till en adress i sekundärminnet så laddas en hel Page in till en Page frame. Görs en minnesreferens utanför aktuell Page frame så laddas en ny Page in till primärminnet. Är primär minnet fullt så ”offras” en Page frame och skrivs tillbaks till sekundärminnet. Därefter kan en ny Page laddas in på den gamla platsen. I sekundärminnet kan finnas en Swap file för mellanlagring av Page frames som tillfälligtvis är oanvända. Utbytesstrategier: Least Recently Used LRU, Least Frequently Used, LFU.

William Sandqvist Hantering av virtuellt minne En process får en virtuell motsvarighet till ett sammanhäng- ande minne. Operativsystemet gör en översättning mellan det virtuella minnet och det riktiga minnet. För att översättningen av minnesadresserna inte ska ta för lång tid så måste processorn ha hårdvarustöd för minnes- hanteringen (Memory Management Unit, MMU). Memory Protection. En process får inte på ett oaktoriserat sätt kunna nå en annan process minne (”ändra variabler bakom ryggen”). För att förhindra detta måste operativ- systemet utföra kontroller (extra instruktioner) vid alla skrivoperationer. Även här är det önskvärt med hårdvarustöd.

William Sandqvist Intel, Memory Management Från och med Intel 386 finns stöd för Memory Management. Adressen delas upp i Frame och Offset i olika register. Register: CS, DS, ES, FS, GS, och SS är för Segment Descriptors Frame storlek Frame startadress. Frame accesstyp Read Only (RO), Read Write (RW), Execute Only (EO), Execute Read (ER) – felanvändning ger Error-Interrupt!

William Sandqvist Med C är det lätt att orsaka segmentfel! Ett bortglömt & -tecken …

William Sandqvist Segment Descriptor som C-struct struct segment_descriptor { u16 limit_low; u16 base_low; u8 base_mid; u8 type : 4; u8 system : 1; u8 dpl : 2; u8 present : 1; u8 limit_high : 4; u8 avl : 1; u8 long_mode : 1; u8 default_op : 1; u8 granularity : 1; u8 base_high; }; En C-struktur kan bestå av variabler med olika många bitar (sk. Bitfield). type och limit_high är 4-bitar, system, present, avl, long_mode, default_op, granularity är 1-bitars ”flaggor”. Övriga variabler är 16- bitars eller 8-bitars. OS kan använda en sådan data- struktur för att hantera segment- registren.