Principper for Samtidighed og Styresystemer

Relaterede dokumenter
Algorithms & Architectures II

Operativsystemer - dopsys

Lærebog. Datalogi 1F Forår Hvad sker hvornår? Kursusbøger. Planen for idag. Hvad er et operativsystem

1 Operativsystemer oversigt

Datatekniker med programmering som speciale H5

Datatekniker med programmering som speciale

Operativsystemer - dopsys. Erik Ernst

Principper for Samtidighed og Styresystemer

Schedulering. dopsys 1

Schedulering. dopsys 1

Styresystemer og tjenester

Datatekniker med programmering som speciale

Sider og segmenter. dopsys 1

Styresystemer og tjenester

Planen for idag. Datalogi 1F Forår Hvad er en proces? Livscyklus for en proces. Hvad består en proces af?

Sider og segmenter. dopsys 1

Interconnect. Front end interface

Processer og tråde. dopsys 1

Introduktion til DM507

Bits DM534. Rolf Fagerberg, 2012

DM507 Algoritmer og datastrukturer

Computerens Anatomi. Kom/IT C - Computer Anatomi - Daniel og Fie - 3/ Planlægning af kommunikationsvalg og medieprodukt.

Operativsystemer - dopsys. Erik Ernst

Input/Output: Disk & Clock. dopsys

Rolf Fagerberg. Forår 2015

Design Systemkald. User-mode Linux, The Linux kernel/

\ \ Computerens Anatomi / /

Styresystemer og tjenester

Rolf Fagerberg. Forår 2015

Implementation af Koordinering. dopsys 1

Lageradministration Paging og segmentering

Lokal undervisningsplan niv. 3 (GF2 Data)

Operativsystemer of C Efterår 2013 Virtuel hukommelse (kap. 9)

Rolf Fagerberg. Forår 2013

Scheduling. Niels Olof Bouvin. Institut for Datalogi Aarhus Universitet

Ydeevne og kapacitet. Indholdsfortegnelse

Rolf Fagerberg. Forår 2012

Programmering 2. dprog2 E

Tilmelding sker via STADS-Selvbetjening indenfor annonceret tilmeldingsperiode, som du kan se på Studieadministrationens hjemmeside

Computerens Anatomi. Af Martin Arnetoft

Virksomhedens IT værktøjer

Produktspecifikationer Private Cloud Version 2.7

Computerstøttet beregning

2. semester. 3. semester. Her læses centralt fag i et andet fag 1. X 5 Litteratur på Engelsk: Her læses 20 ECTS. og 10.

SW6 SAI. Services 1: (Fil) service admin torsdag 7/4 05

Programmering 2. dprog2 E

Mål Introducerer de studerende for forskellige anvendelser af IT i den offentlige sektor, samt til programmering af sådanne IT systemer.

Overbelastning af processor i Windows XP og i Ubuntu

Tilmelding sker via STADS-Selvbetjening indenfor annonceret tilmeldingsperiode, som du kan se på Studieadministrationens hjemmeside

Velkommen på kursus hos Microworld

IT SUMMER CAMP Dato for arr. og. dato for seneste tilmelding. bliver offentliggjort i maj. Ubuntu-Linux, Web-Server, Anvendte Web-Teknologier

Principper for Samtidighed og Styresystemer

Har det en værdi og hvordan kommer du i gang?

LINUX. Kurser & Certificeringer

Libraries i C. Thomas Bøgholm. Marts En kort introduktion. Aalborg Universitet

Semesterevaluering Efteråret 2012 Studienævn for Datalogi. Semester Evaluering. efterår Sammenskrivning. side 1 af 18

Stokastiske processer og køteori

Programming Language Design and Analysis motivated by Hardware Evolution

Deadlocks dopsys 1 onsdag den 8. december 2010

Datatekniker med programmering som speciale

Lageradministration. dopsys

Semesterbeskrivelse Innovation og Digitalisering, 1. semester.

Installation af en virtuel maskine

FS2: Dynamic Data Replication in Free Disk Space for Improving Disk Performance and Energy Consumption

Bacheloruddannelsen i Historie ved Aalborg Universitet. Tillæg til. Studieordning for bacheloruddannelsen i almen Historie og

VMware og dopsys-linux

2011 1½ år Studieordning. STUDIEORDNING for det halvandetårige Adgangskursus på Aalborg Universitet i Aalborg og Esbjerg

AVR MP Ingeniørhøjskolen i Århus Michael Kaalund

Programmering i C. Lektion september 2009

Rolf Fagerberg. Forår 2014

DET HUMANISTISKE FAKULTET :52 FAGBESKRIVELSE. Amerikansk politik

Håndbog for net-studerende ved IT-Universitetet i København

Kursusgang 1: it-introduktion

Oversigt. Operativsystemer [6]: Virtuelt lager. Virtuel lager. Virtuelt lager. Virkemåde. Virtuelt lager eksempel virtuelt lager

Vidar Jon Bauge. Notater til Teknik. Datamatikeruddannelsen efterår 2005 Side 1 af 54

Schedulering. dopsys

1) Mennesker, computere og interaktion. Her er omdrejningspunktet basale forudsætninger for interaktion mellem mennesker og computere.

OpenTele Server Performance Test Rapport

Rettelsesblad til studieordning for bacheloruddannelsen i tysk 2012 Gælder for studerende indskrevet pr. 1. september 2012 og senere

Studerende, der optages til kurset Academic English pr. 1. september 2006 eller senere, skal studere efter denne ordning.

Lærer nye styresystemer Installerer programmer som kun kan bruges i ældre versioner

Semesterbeskrivelse Innovation og Digitalisering, 1. semester.

Koordinering. dopsys

Lageret i maskinarkitekturen. Beregningsenhed, lagre (registre, RAM, disk), ydre enheder

Introduktion til computernetværk

Software Engineering 11 28,9% Matematik-Økonomi 9 23,7% Datalogi 14 36,8% Fysik 2 5,3% Andet (angiv herunder) 2 5,3% I alt ,0%

Studieordning del 3 - valgfag

HSYCO/ALARMS MANAGER INSTALLATION - GENEREL

STUDIEORDNING for det halvårlige Adgangskursus til maskinmesteruddannelsen på Aalborg Universitet i Aalborg og Frederikshavn

Kvalifikationsbeskrivelse

Studieordning del 3 - valgfag

Real-time programming safety in Java and Ada

Dat 2/BAIT6/SW4: Syntaks og semantik En manual for studerende

Epidemiologisk evidens og opsummering

Evaluering af 3. semester Politik & Administration og Samfundsfag eftera ret 2013

Kommunom- uddannelsen

Introduktion til Datalogi

Tilmelding sker via STADS Selvbetjening indenfor annonceret tilmeldingsperiode, som du kan se på Studieadministrationens hjemmeside

Programmering i C. Kursusintroduktion. Lektion september Målgruppe 2 Indhold 3 Form 4 Materiale. Målgruppe Indhold Form Materiale

Transkript:

Principper for Samtidighed og Styresystemer kursusintroduktion og Introduktion til Styresystemer René Rydhof Hansen Februar 2008 PSS 08 (Forelsning 00) Kursus intro./intro. styresystemer Februar 2008 1 / 24

Kursusmål (studieordning) Den studerende skal ved den afsluttende prøve kunne: dokumentere kendskab til og overblik over de berørte temaer og begreber inden for samtidighed og operativsystemer benytte korrekt fagterminologi og notation i såvel skrift som tale dokumentere forståelse for opbygning, strukturering, funktionalitet og virkemåde af operativsystemer anvende berørte emner til udvikling af systemnære simple programmer, der benytter sig af samtidighed og synkronisering PSS 08 (Forelsning 00) Kursus intro./intro. styresystemer Februar 2008 2 / 24

Hvorfor? Iflg. studieordningen: Alle interessante systemer anvender i en eller anden udstrækning parallelitet og samtidige processer. Systemnær programmering ofte en forudsætning for indlejrede systemer Fundamentale begreber... sjovt! PSS 08 (Forelsning 00) Kursus intro./intro. styresystemer Februar 2008 3 / 24

Undervisning Forelæsningsformat: 3x30min. med 10min. pauser Pensum [English], forelæsninger, slides, opgaver samt mini-projekt. Opgaveregning Mestendels grupperum; af og til samlet Minimér spildtid: brug hjælpelærer! Undervisere René Rydhof Hansen. Email: rrh@cs.aau.dk Kontor: 1.2.36 Morten Kühnrich (hjælpelærer). Email: mokyhn@cs.aau.dk Kontor: 1.2.59 PSS 08 (Forelsning 00) Kursus intro./intro. styresystemer Februar 2008 4 / 24

Litteratur [English] John English Introduction to Operating Systems Behind the Desktop. Primær litteratur (obligatorisk). [Love] Robert Love Linux Kernel Development. Sekundær litteratur (valgfri). Samt eventuelle relevante artikler og lign. PSS 08 (Forelsning 00) Kursus intro./intro. styresystemer Februar 2008 5 / 24

Miniprojekt Individuel besvarelse To emner (foreløbige) Hukommelsesallokering Disk-schedulering Udvikles i C eller Java Aflevering af kort rapport Tre forelæsningsgange reserveres til miniprojektet Udgangspunkt for eksamen PSS 08 (Forelsning 00) Kursus intro./intro. styresystemer Februar 2008 6 / 24

Eksamen Mundtlig eksamen med forberedelse Ekstern censur 7-trinsskalaen Hovedspørgsmål (kendt) og sidespørgsmål (ukendt(e)) Udgangspunkt i miniprojekt PSS 08 (Forelsning 00) Kursus intro./intro. styresystemer Februar 2008 7 / 24

Resten af kurset (foreløbig plan) Filsystemer Processer og tråde Samtidighed, deadlocks og synkronisering Virtuelt og udvidet lager Kernen Device drivere og I/O Virtualisering Schedulering i Linux kernen (gæsteforelæsning) PSS 08 (Forelsning 00) Kursus intro./intro. styresystemer Februar 2008 8 / 24

Hvad er samtidighed?... systemer karakteriseret ved flere samarbejdende processer Sekventiel process Samtidige processer Samtidige processer Tid PSS 08 (Forelsning 00) Kursus intro./intro. styresystemer Februar 2008 9 / 24

Hvad er samtidighed?... problematisk Samtidige processer Samtidige processer Den præcise rækkefølge og timing for processernes samlede udførsel er uforudsigelig Potentielt problem: hvis de enkelte processers resultat (utilsigtet) er afhængigt af andre processers udførsel: race condition Eksempel: filsystem Eksempel: TOCTTOU PSS 08 (Forelsning 00) Kursus intro./intro. styresystemer Februar 2008 10 / 24

Race conditions og synkronisering Race conditions opstår som følge af ukontrolleret samtidig tilgang til delte resourcer. Samtidige processer Samtidige processer Løsning: synkronisering PSS 08 (Forelsning 00) Kursus intro./intro. styresystemer Februar 2008 11 / 24

Synkronisering Synkronisering kræver kontrol over ressourcer: P A B Q Kontrol PSS 08 (Forelsning 00) Kursus intro./intro. styresystemer Februar 2008 12 / 24

Synkronisering Synkronisering kræver kontrol over ressourcer: P Request Kontrol opnås gennem requests A B Q Kontrol PSS 08 (Forelsning 00) Kursus intro./intro. styresystemer Februar 2008 12 / 24

Synkronisering Synkronisering kræver kontrol over ressourcer: P Request Kontrol opnås gennem requests A B Q Kontrol Cykliske requests fører til deadlock PSS 08 (Forelsning 00) Kursus intro./intro. styresystemer Februar 2008 12 / 24

Samtidighed vs. parallelitet Samtidige processer Parallelle processer Samtidig Parallel MVP Parallel udførsel kræver hardware-understøttelse, e.g., multi-core processorer PSS Samtidig udførsel kan implementeres i software, e.g., virtualiseringssoftware, styresystem PSS 08 (Forelsning 00) Kursus intro./intro. styresystemer Februar 2008 13 / 24

Eksempler på samtidighed Parallel beregning Parallel I/O Kontrolsystemer i f.eks. biler og fly En CPU (multi-core) En computer (CPU vs. GPU) Computernetværk Kommunikationsnetværk Multitasking Virkeligheden PSS 08 (Forelsning 00) Kursus intro./intro. styresystemer Februar 2008 14 / 24

Multitasking Et styresystemdesign der tillader flere processer at blive udført på en (eller flere) delte processorer En process kan opfattes som en virtuel maskine der udfører et program Styresystemet skifter mellem aktive processer (Multiprogramming; vent på I/O) Cooperative Preemptive PSS 08 (Forelsning 00) Kursus intro./intro. styresystemer Februar 2008 15 / 24

Hvorfor multitasking? Batch-systemer Ressource-maksimering Throughput-maksimering Skift udløses af I/O Time-sharing Interaktiv brug Illusion af parallelle processer Skift udløses af timer Real-time Reagere på eksterne hændelser Real-time krav (maksimal absolut ventetid) PSS 08 (Forelsning 00) Kursus intro./intro. styresystemer Februar 2008 16 / 24

Hvad er et styresystem? Hvad styres? Hvad er en computer? Hvad er en virtuel computer? Er styresystemet hardware eller software? Er det et program? Er en shell en del af styresystemet? Er en GUI en del af styresystemet? Design Monolitisk vs. mini-kerne Torvalds vs. Tanenbaum PSS 08 (Forelsning 00) Kursus intro./intro. styresystemer Februar 2008 17 / 24

Hvad er et styresystem? En abstraktion Administration af resourcer Processor Hukommelse Navne... Koordinering Hændelser Aktiviteter Shell Std. lib. OS (process and memory mgmt.) Hardware (CPU,memory,disks) PSS 08 (Forelsning 00) Kursus intro./intro. styresystemer Februar 2008 18 / 24

Ressourcemanager System service interface File manager Network manager Memory manager I/O manager Process manager Disk driver Terminal driver Network driver Hardware interface PSS 08 (Forelsning 00) Kursus intro./intro. styresystemer Februar 2008 19 / 24

Ressource: Filsystemer Allokering Navnerum Pålidelighed Sikkerhed Hastighed PSS 08 (Forelsning 00) Kursus intro./intro. styresystemer Februar 2008 20 / 24

Ressource: Programmer og processer Programmer Instruktionssekvens Oftest en fil Statisk Process Et kørende program En sekvens af tilstande Dynamisk Virtuel maskine Isoleret Processer består af Programteksten: maskinkode Data: stak og heap Kontekst: cpu-registre etc. PSS 08 (Forelsning 00) Kursus intro./intro. styresystemer Februar 2008 21 / 24

Virtuelt Lager (paging) Styresystemet virtualiserer det fysiske lager virtuelt lager fysisk lager PSS 08 (Forelsning 00) Kursus intro./intro. styresystemer Februar 2008 22 / 24

Virtuelt Lager (demand paging) virtuelt lager fysisk lager disk disk PSS 08 (Forelsning 00) Kursus intro./intro. styresystemer Februar 2008 23 / 24

Opsummering og næste gang Introduktion til samtidighed Introduktion til styresystemer Næste gang: Filsystemer PSS 08 (Forelsning 00) Kursus intro./intro. styresystemer Februar 2008 24 / 24