Operativsystemer - dopsys. Erik Ernst

Relaterede dokumenter
Operativsystemer - dopsys

Operativsystemer - dopsys. Erik Ernst

Maskinarkitektur. Lars Kristensen Christian Storm dmasark 1

Computere og Netværk (dcomnet)

Principper for Samtidighed og Styresystemer

Processer og tråde. dopsys 1

Implementation af Koordinering. dopsys 1

Lageradministration. dopsys

Systemkald i Unix/Linux

Processer og koordinering

Algorithms & Architectures II

Styresystemer og tjenester

Styresystemer og tjenester

Eksamen dcomnet Q2/2010. Navn

Sider og segmenter. dopsys 1

Pentium IA-32 Maskinarkitekturen

Introduktion til Computerarkitektur. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

Input/Output: Disk & Clock. dopsys

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

Processer og koordinering. dopsys 1

Koordinering. dopsys

Sider og segmenter. dopsys 1

Schedulering. dopsys 1

1 Operativsystemer oversigt

Schedulering. dopsys 1

Systemkald DM Obligatoriske opgave. Antal sider: 7 inkl. 2 bilag Afleveret: d. 18/ Afleveret af: Jacob Christiansen,

Principper for Samtidighed og Styresystemer

VMware og dopsys-linux

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

Input/Output: Brugergrænseflader. dopsys

Interconnect. Front end interface

Bits DM534. Rolf Fagerberg, 2012

Mikroprogrammering. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

Introduktion til Operativsystemer

Filsystemer: Anvendelse. dopsys

Eksamen dcomnet Q2/2012. Studiekortsnummer Navn

Filsystemer. dopsys. fredag den 26. november 2010

Lageret er hierarkisk fokus nu: disk

Eksamen dcomnet 2012Q4. Årskortsnummer Navn

Niveauer af abstrakte maskiner

onsdag den 1. december 2010 Input/Output

Introduktion til C programmering

Lageradministration Intel Pentium og Unix/Linux

CPUer og maskinkode DM534. Rolf Fagerberg

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

Computerarkitektur. - en introduktion til computerarkitektur med LINDA

Lageradministration Paging og segmentering

Filsystemer: Implementation. dopsys

Programmering 2. dprog2 E

Programmering 2. dprog2 E

Rolf Fagerberg. Forår 2012

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

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

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal

Grundlæggende Algoritmer og Datastrukturer

Grundlæggende Algoritmer og Datastrukturer. Analyseværktøjer [CLRS, 1-3.1]

Ydre enheder & De Tre Synsvinkler

Algoritmer og Datastrukturer 1

Planen for idag. Kontrol af ydre enheder. Systemarkitektur. Synkronisering ved aktiv venten. Multiprogrammering[1]: Ydre enheder og multiprogrammer


Indhold. Maskinstruktur Kapitel 1. Assemblersprog Indledning Hop-instruktioner Input og output...

Mikroarkitektur. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

Deadlocks dopsys 1 onsdag den 8. december 2010

Lærevejledning. - en introduktion til maskinarkitektur. faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen

Processer. DS kursusgang nr. 2: Procestræer. ps: Vis processer

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

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

Routing tables Processer Tråde Hukommelse. Operativsystemer og netværk Lektion 5. I/O Linux Debian Webserver

Hvad kommer efter DAVID? Af Arne Tolstrup Madsen.

Valgfag for PBA11 - efterår 2015

Introduktion til DM507

DM507 Algoritmer og datastrukturer

To mikroarkitekturer til MIPS Karakteropgave på Maskinarkitektur 1B

Typisk PC arkitektur. Synkronisering ved aktiv venten

Programmering i C. Lektion september 2009

Rolf Fagerberg. Forår 2013

DM14-1. Obligatorisk opgave F.06. System Call. Jacob Aae Mikkelsen Ingen andre gruppe medlemmer. 6. marts 2005

Scheduling. Niels Olof Bouvin. Institut for Datalogi Aarhus Universitet

Rolf Fagerberg. Forår 2015

Semesterbeskrivelse Innovation og Digitalisering, 1. semester.

3. Computerens opbygning.

Datatekniker med programmering som speciale H5

Lidt orientering om, hvad en computer består af

Programmering i C. Lektion december 2008

Studieordning del 3 - valgfag

Om at gå til mundtlig eksamen en manual for studerende

Styresystemer og tjenester

Rolf Fagerberg. Forår 2015

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

M2CAL2 Calculus og Indledende Lineær algebra

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

Semesterbeskrivelse Innovation og Digitalisering, 1. semester.

Favrskov læring for alle

Installation af en virtuel maskine

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

ESP30076 임베디드시스템프로그래밍 (Embedded System Programming)

Navn: DM505, databasedesign- og programmering, F12

Schedulering. dopsys

VDI AARHUS UNIVERSITET VER 1.5 VDI 30. APRIL

Kursuskatalog 2018 TwinCAT 2 TwinCAT 3

Transkript:

Operativsystemer - dopsys Erik Ernst eernst@cs.au.dk

[Q/A] Mange deltagere er nu på 2. år af datalogistudiet eller cand.it., med dcomnet Er din baggrund anderledes? dopsys 2

Praktiske oplysninger http://cs.au.dk/dopsys dopsys 3

Forelæsninger Fredag 12.15-14, Store Auditorium, IT-huset Onsdag 14.15-16, Store Auditorium, IT-huset 4 timer pr. uge, evt. lidt mindre NB: ugen løber fra torsdag til onsdag! dopsys 4

Undervisningsmateriale Lubomir F. Bic og Alan C. Shaw Operating Systems Principles 1. udgave, Pearson-Education, 2003 ISBN 0-13-026611-6 + supplerende materiale fra www-siderne. dopsys 5

Øvelser Alle øvelser foregår i Stibitz: Hold 1 Tirsdag 15-19 Stibitz-113 Hold 2 Fredag 8-12 Stibitz-113 Hold 3 Mandag 8-12 Stibitz-113 Hold 4 Mandag 8-12 Stibitz-123 Holdbytte under hensyntagen til holdstørrelser. Styres af instruktorerne. dopsys 6

Ugesedler og opgaver Ugeseddel for uge x offentliggøres på hjemmesiden ca. midt i uge x-1. Tavle- og diskussionsopgaver Een udvalgt startopgave Ugeopgave Ugeopgaver er obligatoriske, laves i grupper. 2-3 personers grupper dannes ved de første øvelser. dopsys 7

Eksamen Kræver at samtlige ugeopgaver er godkendt. Eksamen er mundtlig, uden forberedelsestid og varer 15 minutter per studerende (plus 5 min. til votering). Eksamenspensum inkluderer ugeopgaverne. Medbring en kopi af besvarelser af ugeopgaverne med instruktorens kommentarer og underskrift. Vær opmærksom på tilmelding! dopsys 8

Clickers Et typisk forelæsningsproblem: Blodhastighed 0 mm 3 /s Spørgsmål er altid velkomne, men svært at organisere høj aktivitet Med clickers kan alle byde ind på een gang, uden kaos ;-) Tages i brug på dette kursus 9

[Click] Baggrund som angivet på tavlen (A/B/..) dopsys 10

spørgsmål om praktiske ting? dopsys 11

[Q/A] Hvilke operativsystemer har du brugt? dopsys 12

Operativsystemer Målbeskrivelse Målet med kurset er at give den studerende kendskab til opbygning og virkemåde af operativsystemer. Herunder hvorledes operativsystemer dels kan opfattes som en abstrakt maskine, der stiller en række primitiver og abstraktioner til rådighed via systemkald, dels som en administrator af maskinresurser, såsom CPU, lager og ydre enheder. dopsys 13

Organisation af en Computer.. kan opfattes som niveauer af virtuelle maskiner*: software hardware *A.S. Tanenbaum: Structured Computer Organisation. 5th edition, Prentice-Hall, 2005. dopsys 14

ISA-niveauet.. baseret på von Neumann maskinarkitektur: Program og data Centrale begreber: Registre (eks: PC, SP, PSW, ) Lagermodel (eks: 4 Gb byte-adresserbart lager) Instruktionssæt, instruktionsformat Datatyper og adresseringformer registre.. instruktioner udføres via fetch-decode-execute cycle i hardware ydre enheder (I/O devices) dopsys 15

Arkitektur-varianter Shared-memory multiprocessor: Multicomputer: Distributed-memory multiprocessor: dopsys 16

Hardware vs. Applikations-niveau Hardware/ISA niveau Maskininstruktioner: Læse/skrive registre og lagerceller Aritmetiske/logiske operationer Forgreninger og hop Lageret: Lineær sekvens af celler Eksternt lager (eks harddisk): Spor og blokke Læse og skrivehoveder Ydre enheder: Tilgang via ydreenhedsregistre software Applikationsniveau Klasser oa. komplekse typer Kontrolstrukturer Moduler Procedurer/metoder Programmer/processer Filer og kataloger Uniformt højniveauinterface Compiler Assembler Linker OS dopsys 17

Eksempel: udskrivning af fil #include <stdio.h> int main(int argc, char *argv[]) { int c; FILE *fp; fp = fopen(argv[1],"r"); c = getc(fp); while (c!= EOF) { putchar(c); c = getc(fp); } exit(0); } dopsys 18

Symbolsk maskinsprog.globl main.type main, @function main: pushl %ebp movl %esp, %ebp subl $24, %esp movl (%eax), %eax movl %eax, (%esp) call fopen movl %eax, -8(%ebp) movl -8(%ebp), %eax movl %eax, (%esp) call _IO_getc movl %eax, -4(%ebp).L2:.L4:.L3: cmpl $-1, -4(%ebp) jne.l4 jmp.l3 movl -4(%ebp), %eax movl %eax, (%esp) call putchar movl -8(%ebp), %eax movl %eax, (%esp) call _IO_getc movl %eax, -4(%ebp) jmp.l2 movl call $0, (%esp) exit dopsys 19

%>cat eks.txt dopsys %>strace -o syscalls.log example eks.txt execve("./example", ["example", "eks.txt"]= 0 uname({sys="linux", node="zebra03",...}) = 0 brk(0) = 0x804a000 fstat64(3,...) = 0 munmap(0xb7fdf000, 134002) = 0 brk(0) = 0x804a000 brk(0x806b000) = 0x806b000 open("eks.txt", O_RDONLY) = 3 fstat64(3,... = 0 mmap2(null, 8192,...) = 0xb7ffe000 read(3, "dopsys\n", 8192) = 7 fstat64(1,...) = 0 mmap2(null,...) = 0xb7ffd000 write(1, "dopsys\n", 7) = 7 read(3, "", 8192) = 0 munmap(0xb7ffd000, 4096) = 0 exit_group(0) =? dopsys 20

[Q/A] C-programmering er vigtigt i dette kursus, men forudsættes kendt og læres ved selvstudium Hvilke forudsætninger har du i C? dopsys 21

OS som abstrakt maskine..implementerer en samling primitiver kaldet systemkald:.. maskinnære detaljer er abstraheret væk. dopsys 22

OS som virtuel maskine.. hardware-resurser deles mellem programmer under afvikling: Virtuel maskine til rådighed for hvert program under afvikling. Understøtter deling af de fysiske maskin-resurser. dopsys 23

OS som resurse-administrator.. hardware-resurser skal udnyttes bedst muligt : Aspekter: Adgang til resurser. Parallelisme og udnyttelse. Fairness og fremdrift. Responstid og deadlines. dopsys 24

Hardware Interface Systemkald Virtualisering Resurse-administration Traps Interrupts CPU tilstande dopsys 25

.. intern hændelse i CPU en: Traps Eksplicit: supervisor call (SVC) Implicit: division med 0, lagertilgang, dopsys 26

Interrupts.. hardware signal fra ydre enheder: Process management: timeout interrupt og schedulering. Håndtering af ydre enheder: ved afslutning af I/O operationer. dopsys 27

CPU tilstande Behov for at kontrollere udførelsen af visse instruktioner: Tilgang til ydre enheder Tilgang til system-registre og -flag Systemtabeller CPU tilstande: Privileged / kernel / supervisory mode: Kan bruge det fulde instruktionssæt Non-privileged / user mode: Kan kun bruge et begrænset instruktionssæt Tilstandsskift sker i forbindelse med: Interrupts og traps Systemkald dopsys 28

[Q/A] Forklar hvad der kan gå galt hvis CPUtilstande afskaffes dopsys 29

Systemkald.. udføres i privilegeret CPU-tilstand: Typiske kategorier af systemkald: Styring af processer Brug af memory Tilgang til filer Input/output dopsys 30

Udvalgte POSIX systemkald dopsys 31

Vigtige emner i kurset Processer og koordinering: Begreber omkring processer og tråde. Kommunikation og synkronisering. Schedulering og deadlocks. Lageradministration (memory management): Virtuel hukommelse. Paging og segmentering. Filsystemer og input/ouput Filer og kataloger. Device-drivere og buffering. dopsys 32

Kursets organisering Forelæsningerne: Grundlæggende principper og begreber bag operativsystemer. Unix/Linux OS vil oftest blive brugt som eksempel. Øvelserne: Opgaver/diskussion i forlængelse af forelæsninger. C Programmering under Linux OS. Eksperimenter med Linux OS kernen via VMware. dopsys 33

Opsummering Perspektiv på operativsystemet: Udvidet maskine (systemkald). Virtual maskine for programmer. Resurse-administrator. Hardware interface: Traps og interrupts CPU tilstande: privilegeret/uprivilegeret tilstand User-mode vs. kernel-mode dopsys 34