Introduktion til Operativsystemer
|
|
|
- Ingrid Lauritsen
- 8 år siden
- Visninger:
Transkript
1 Introduktion til Operativsystemer 1 Niels Olof Bouvin Institut for Datalogi Aarhus Universitet
2 Oversigt Formål Hvad er en computer? Operativsystemets rolle Multitasking 2
3 Formål Introduktion af de basale egenskaber ved moderne operativsystemer, såsom - Processer, tråde og deres planmæssige udførsel - Hukommelseshåndtering og virtuel hukommelse 3
4 Udfordring Datalogerne havde dcomark sidste år IT erne får dcomark i næste kvarter Så hvordan fungerer computere? 4
5 Oversigt Formål Hvad er en computer? Operativsystemets rolle Multitasking 5
6 Hvad er en computer? En maskine, der udfører beregninger angivet som instruktioner i et program 6
7 Hvad er en computer? Maskine - opbygget af alt fra mekanik, relæer, radiorør, og (i nutiden) transistorer. Fremtidens maskiner kan være optiske, carbonnanofibre, DNA eller superpositioner af afkølede atomer i kvantecomputere Instruktioner - simple operationer: Læg to tal sammen, sammenlign to værdier, flyt en værdi fra ét sted til et andet, Program - en sekvens af instruktioner. Skabt direkte af et menneske, eller (typisk) indirekte v.hj.a. en oversætter eller fortolker 7
8 Computergenerationer 0. generation: - Mekaniske computere ( ) 1. generation: - Radiorør ( ) 2. generation: - Transistorer ( ) 3. generation: - Integrerede kredsløb (IC) ( ) 4. generation: - Højt integrerede kredsløb (VLSI) (1980- ) 5. generation: - Lav energi, pervasive computing, IT i alting (nu og altid) 8
9 Moore s lov (bedre: kurve) CPUer og hukommelse opbygges af transistorer - Grundet bedre produktionsformer fordobles transistortætheden ca. hver 18. måned Det giver dobbel kapacitet, og ~40% højere hastighed - da transistorerne kommer tættere på hinanden 9
10 Multilevel maskiner Vi ønsker at programmere computere, men ikke på computerens præmisser - dvs. den rå hardware bestående af gates og transistorer addresseret med nuller og ettaller (eller kabler og kontakter) Løsning: Skab en virtuel maskine, der er enklere, og som kan køre på maskinen - den skal skrives én gang per maskine - En virtuel maskine definerer instruktioner og datatyper, og er blot endnu en computer, som vi kan skrive virtuelle maskiner til, som var dén en fysisk computer - som bliver mere og mere lettilgængelig - samt langsommere og langsommere, som vi putter lag på lag af abstraktioner 10
11 Virtuelle/Abstrakte maskiner Level n Virtual machine Mn, with machine language Ln Programs in Ln are either interpreted by an interpreter running on a lower machine, or are translated to the machine language of a lower machine Level 3 Level 2 Level 1 Level 0 Virtual machine M3, with machine language L3 Virtual machine M2, with machine language L2 Virtual machine M1, with machine language L1 Actual machine M0, with machine language L0 Programs in L2 are either interpreted by interpreters running on M1 or M0, or are translated to L0. Programs in L1 are either interpreted by interpreters running on M0, or are translated to L0. Programs in L0 can be executed directly by the electronic circuits 11
12 Multilevel maskiner Hardware og software er logisk ækvivalente 12
13 Moore s lov og multilevel maskiner Med den øgede hastighed og kapacitet har man igennem computerens historie gradvist kunnet skabe højere og højere lag af abstraktioner I udvikling - brug af højniveau programmeringssprog I anvendelse - rige grafiske grænseflade med mange forskellige modaliteter og interaktionsformer Man har også flyttet funktionalitet fra ét niveau til et andet - ofte fra hardware til software og tilbage igen 13
14 Det digitale niveau Begreber - transistorer, porte (gates), kombinatoriske kredsløb, lagerkredse, høj og lav strøm, bit, digitale værdier, Fordele - hurtigt Ulemper - meget tidskrævende at udvikle Level 5 Level 4 Level 3 Level 2 Level 1 Level 0 Problem-oriented language level Translation (compiler) Assembly language level Translation (assembler) Operating system machine level Partial interpretation (operating system) Instruction set architecture level Interpretation (microprogram) or direct execution Micro-architecture level Hardware Digital logic level 14
15 Typisk opbygning af en computer Memory von Neumann maskinarkitektur (1946) Central Processing Unit (CPU) Control Unit Arithmetic Logic Unit Accumulator Input Output Control Unit Afvikler programmer gemt i lageret Arithmetic Logic Unit (ALU) Registers Main Memory Input/Output devices Disk Printer Bus 15
16 von Neumann maskinen Begreber - ALU, registre, Program Counter, instruktion sæt, program (i form af maskinkode) og data gemt i hukommelse, ydre enheder tilgået over bus - Programmer er data, der hentes fra lageret og fortolkes af CPUen - Der er, basalt set, ikke sket noget med computeres arkitektur siden - udover at de er blevet lidt hurtigere, en anelse billigere og har opnået en vis popularitet/udbredelse A A + B A B ALU A + B B Registers ALU Input registers ALU input bus ALU output register 16
17 Instruktionssætniveauet Begreber - lager, lagerceller, registre, ordrer, ordreformat, Programmer i symbolsk maskinsprog oversættes til absolut maskinkode - Program lagres som en sekvens af bitmønstre (absolut maskinkode) - Den absolutte maskinkode fortolkes enten af et mikroprogram eller udføres direkte på processorens hardware 17 Level 5 Level 4 Level 3 Level 2 Level 1 Level 0 Problem-oriented language level Translation (compiler) Assembly language level Translation (assembler) Operating system machine level Partial interpretation (operating system) Instruction set architecture level Interpretation (microprogram) or direct execution Micro-architecture level Hardware Digital logic level
18 Symbolsk maskinsprog Begreber - lager, lagerceller, registre, - ordrer, systemkald, Fordele - lettere end absolut maskinkode - tilbyder (i princippet) den højeste ydelse for udvikleren Ulemper - meget lavt niveau i forhold til alm. programmeringssprog - bundet til den enkelte CPU familie Level 5 Level 4 Level 3 Level 2 Level 1 Level 0 Problem-oriented language level Translation (compiler) Assembly language level Translation (assembler) Operating system machine level Partial interpretation (operating system) Instruction set architecture level Interpretation (microprogram) or direct execution Micro-architecture level Hardware Digital logic level 18
19 Oversigt Formål Hvad er en computer? Operativsystemets rolle Multitasking 19
20 Operativsystemets rolle En computer består af en stor mængde forskellige komponenter og ressourcer Et operativsystems opgave er at styre adgangen til disse resourcer, således - flere programmer kan tilgå og dele ressourcer (tilsyneladende) simultant på kontrolleret vis - programmer kan samarbejde lokalt og over netværk 20
21 Operativsystemets rolle Application Application networking Application Application Operating System Operating System File (a) (b) Operativsystemer er ikke nødvendige - f.eks. kan simple indlejrede systemer klare sig uden Men de gør computere langt mere brugbare for både udviklere og brugere 21
22 Typiske OS begreber Tråde Processer Hukommelse Filer Input/output (skærme, mus, netværk, ) Alt styret med rettigheder, så programmer kan sameksistere og samarbejde sikkert 22
23 Operativsystemer igennem tiden Store systemer (mainframes og minier ) - OS/360 z/os (IBM), VMS (DEC VAX), Workstations og servere - Unix (AT&T), BSD (Berkeley), GNU/ Linux (Linus Torvalds, Richard Stallman, mv), OS X (NeXT/Apple) Personlige computere - CP/M (Digital Research), MS-DOS, Windows (Microsoft), Mac OS (Apple) 23 Håndholdte computere - Symbian (Nokia) - PalmOS (Palm) - Android (Google) - ios (Apple) - Windows Mobile (Microsoft) - Diverse Linux varianter Indlejrede systemer - TinyOS - RTLinux - Windows CE
24 Operativsystemet Et softwarelag ( kernel ), der - forsyner udvikleren med et abstraktionslag ovenpå hardware - tillader kontrolleret interaktion mellem programmer lokalt eller over netværk Brugergrænseflade operativsystem - blot én komponent ovenpå operativsystemet, der gør operativsystemets services tilgængelige til brugeren 24
25 Middleware Et softwarelag, der - forsyner udvikleren med services, der tillader kontrolleret interaktion mellem programmer lokalt eller over netværk Disse services bygger på operativsystemet - ikke direkte på hardwaren Eksempler: DNS, SAMBA, SQL database 25
26 Oversigt Formål Hvad er en computer? Operativsystemets rolle Multitasking 26
27 Illusionen af samtidighed Den primære rolle for et operativsystem er at stille computerens ressourcer til rådighed på en måde, så mange ting tilsyneladende kan ske samtidigt Moderne computere har typisk 2-4 CPUer, så hvordan kan mere end fire ting ske simultant? 27
28 Programmer, tråde og processer Et program består af udførbar kode ( instruktioner ) En tråd er en række af instruktioner fra et program, der udføres på en CPU En proces er den omgivelse, hvori tråden udføres - mindst én tråd per proces, men ofte flere 28
29 Hvorfor multitrådet udførsel? På serveren - muliggør at serveren kan besvare mange simultane henvendelser fra f.eks. webbrowsere På klienten - muliggør en responsiv grænseflade, samtidigt med at maskinen arbejder dels med brugerprogrammer, dels med systemopgaver 29
30 Fordele ved multitrådet udførsel Bedre udnyttelse af maskinens ressourcer - flere CPUer kan anvendes parallelt - programmer kan have forskellige behov, og kan uden (særlig) konflikt køre samtidigt Bedre svartider og brugeroplevelser - en langsommelig opgave holder ikke serveren tilbage - grænsefladen og andre programmer fortsætter med at virke, selvom et program arbejder 30
31 Enkeltrådede programmer Thread Thread A Thread B Programmernes instruktioner udføres sekventielt i én tråd Hver kørsel af programmet er en separat tråd 31
32 Enkeltrådet program (i C) #include <unistd.h> #include <stdio.h> int main(int argc, char *argv[]){ sleep(3); printf("has been sleeping for 3 seconds.\n"); sleep(5); printf("has been sleeping for 5 seconds.\n"); return 0; } vent apple time./simple2tasks Has been sleeping for 3 seconds. Has been sleeping for 5 seconds. apple cc simple2tasks.c -o simple2tasks apple./simple2tasks Has been sleeping for 3 seconds. Has been sleeping for 5 seconds. apple 32 real user sys apple 0m8.011s 0m0.001s 0m0.002s
33 Flertrådede programmer Spawn Thread A Thread A Thread B Thread B En tråd kan starte andre tråde, og derved gøre flere ting samtidig, eller måske vente i én tråd, og arbejde videre i andre tråde Enkeltrådede programmer kan startes og køre parallelt uden konflikt 33
34 Flertrådet program (i C) #include <pthread.h> #include <unistd.h> #include <stdio.h> static void *child(void *ignored){ sleep(3); printf("child is done sleeping 3 seconds.\n"); return NULL; } int main(int argc, char *argv[]){ pthread_t child_thread; int code; } vent code = pthread_create(&child_thread, NULL, child, NULL); if(code){ fprintf(stderr, "pthread_create failed with code %d\n", code); } sleep(5); printf("parent is done sleeping 5 seconds.\n"); return 0; skab & start tråd apple time./simple2threads Child is done sleeping 3 seconds. Parent is done sleeping 5 seconds. apple cc simple2threads.c -o simple2threads apple./simple2threads Child is done sleeping 3 seconds. Parent is done sleeping 5 seconds. apple 34 real user sys apple 0m5.004s 0m0.001s 0m0.002s
35 Flertrådet program (i Java) public class Simple2Threads { public static void main(string args[]){ Thread childthread = new Thread(new Runnable(){ public void run(){ sleep(3000); System.out.println("Child is done sleeping 3 seconds."); } }); childthread.start(); sleep(5000); System.out.println("Parent is done sleeping 5 seconds."); } vent skab tråd } private static void sleep(int milliseconds){ try{ Thread.sleep(milliseconds); } catch(interruptedexception e){ // ignore this exception; it won't happen anyhow } } start tråd apple time java Simple2Threads Child is done sleeping 3 seconds. Parent is done sleeping 5 seconds. apple javac Simple2Threads.java apple java Simple2Threads Child is done sleeping 3 seconds. Parent is done sleeping 5 seconds. apple 35 real user sys apple 0m5.114s 0m0.088s 0m0.031s
36 Udfordringer for flere tråde Hvis vi har n tråde og n CPUer, burde ting være simple (i princippet!) Men hvis vi har flere tråde end CPUer - hver tråd har sin egen kontekst (registre, stak, ) - hver tråd skal tildeles en vis, fair, tid på CPUen - der er behov for en mekanisme for trådskifte 36
37 Kooperativt trådskift Antag, at vi har to tråde A og B, der skiftes til at køre De kan skifte med switchfromto() Udvikleren har selv indsat disse skift i koden A og B kan således dele CPUen 37 Tråd A A1 A2 A3 switchfromto(a,b) A4 A5 switchfromto(a,b) Tråd B B1 B2 B3 switchfromto(b,a) B4 B5
38 switchfromto(a,b) Hvad skal gemmes mellem trådskift? - hvad er indholdet af CPUens (relevante) registre? - de anvendte områder i hukommelsen (stakken) skal beskyttes (SP) - hvad er (adressen på) den næste instruktion? (IP) - Når trådskiftet foretages, gemmes disse ting for A på A s stak, og de tilsvarende værdier for B findes på B s stak - IP og SP gemmes i Thread Control Block (TCB) 38
39 switchfromto(outgoing,next) push each register on the (outgoing thread s) stack store the stack pointer into outgoing->sp load the stack pointer from next->sp store label L s address into outgoing->ip load in next->ip and jump to that address L: pop each register from the (resumed outgoing thread s) stack IP and SP registers Other registers A s TCB A s resumption IP and SP A s IP and SP A s data A s stack A s saved registers B s TCB B s IP and SP B s data B s stack B s resumption IP and SP A s IP and SP A s data B s saved registers 39
40 Linux kernel! (x86 assembler) pushfl # pushes the flags on outgoing s stack pushl %ebp # pushes %ebp on outgoing s stack movl %esp,816(%ebx) # stores outgoing s stack pointer movl 816(%esi),%esp # loads next s stack pointer movl $1f,812(%ebx) # stores label 1 s address, # where outgoing will resume pushl 812(%esi) # pushes the instruction address # where next resumes ret # pops and jumps to that address 1: popl %ebp # upon later resuming outgoing, # restores %ebp popfl # and restores the flags %ebp skal gemmes, %esp er stakpointer %ebx indeholder outgoing, %esi next 816 og 812 udpeger stak og IP i TCBs 40
41 yield() yield() { outgoing = current; next = choosenextthread(); current = next; // so the global variable will be right switchfromto(outgoing, next); } Hvis vi har en central datastruktur, der gemmer samtlige trådes TCB, og vi kender den aktuelle (current) tråd, kan vi skifte fra en tråd til den næste med yield() choosenextthread()? Næste gang! 41
42 Ulemper ved kooperativ trådskift Det virker, men - udvikleren skal selv bestemme tidspunkt for trådskift - hvis der er fejl i programmet, såsom uendelige løkker, skiftes der aldrig, og så er computeren låst - tunge programmer kan komme til at sulte andre programmer for adgang til CPUen Tidlige operativsystemer brugte kooperativ multitasking, men så fandt man på noget bedre 42
43 Præemptiv multitasking I stedet for at overlade det til de enkelte tråde at afgive (yield) kontrol, lad operativsystemet bestemme, hvornår der skal skiftes tråd - f.eks. når der er input klar til en bestemt tråd - eller når en tråd har kørt længe nok Dette kræver en mekanisme for at kunne give operativsystemet kontrollen tilbage 43
44 Afbrydelser Der vil ofte være tidspunkter, hvor en CPU har behov for at afbryde den nuværende aktivitet for at tage sig af en anden opgave - input ankommer fra en ydre enhed - en timer er blevet færdig - der er sket en fejl Dette kan opnås med interrupts 44
45 Hardware interrupts Tråd Operativsystem Timer Interrupt signal Overfører kontrol Ydre enhed Returnerer Interrupts understøttes direkte af CPUen Når de bliver kaldt, overdrages kontrollen til en interrupt handler, der gemmer den nuværende tilstand, gør det nødvendige og siden returnerer kontrollen til den samme eller en anden tråd 45
46 Hardware interrupt & multitasking CPUer understøtter timers, der kan udløse et interrupt Med en sådan funktionalitet kan man lave simpel multitasking, idet man deler CPUen mellem de tilgængelige tråde, så hver tråd får lige meget tid Dette kaldes round robin og er den simpleste form for scheduling 46
47 Sammenfatning Et operativsystems opgave er at styre adgangen til computerens hardware, således at - flere programmer kan tilgå og dele ressourcer (tilsyneladende) simultant på kontrolleret vis - programmer kan samarbejde lokalt og over netværk Centralt er understøttelsen af multitasking gennem multiple tråde og processer 47
Introduktion til Computerarkitektur. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet
Introduktion til Computerarkitektur Niels Olof Bouvin Institut for Datalogi Aarhus Universitet 1 Formål med dagens forelæsning Kurset læringsmål og emner folk og form eksamen Området maskinarkitektur 2
Processer og tråde. dopsys 1
Processer og tråde dopsys 1 Motivation.. parallelle processer udnytter hardwaren bedre: Batch operativsystemer (50 erne) hhv. små systemer: Multiprogrammering og time-sharing (fra 60 erne og frem): dopsys
Maskinarkitektur. Lars Kristensen [email protected]. Christian Storm [email protected]. dmasark 1
Maskinarkitektur Lars Kristensen [email protected] Christian Storm [email protected] dmasark 1 Praktiske oplysninger http://www.daimi.au.dk/dmasark dmasark 2 Forelæsninger Tirsdag 12.15-14.00, Store Aud,
Computere og Netværk (dcomnet)
Computere og Netværk (dcomnet) http://www.cs.au.dk/dcomnet Jens Kargaard Madsen ([email protected]) Jens Bennedsen ([email protected]) dcomnet 1 Computere og netværk Beskrivelse At give den studerende kendskab til computere
Operativsystemer - dopsys
Operativsystemer - dopsys Erik Ernst [email protected] dopsys 1 Q/A Mange deltagere er nu på 2. år af datalogistudiet, med dcomnet 1 for år siden Er din baggrund anderledes? dopsys 2 Praktiske oplysninger
Mikroarkitektur. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet
Mikroarkitektur Niels Olof Bouvin Institut for Datalogi Aarhus Universitet 1 Level 1: Mikrokode niveauet Level 5 Problem-oriented language level Translation (compiler) Level 4 Assembly language level Translation
Computerarkitektur. - en introduktion til computerarkitektur med LINDA
Computerarkitektur - en introduktion til computerarkitektur med LINDA [email protected] Faraz Butt [email protected] Mads Danquah [email protected] Ulf Holm Nielsen Roskilde Universitetscenter Naturvidenskabelig
Principper for Samtidighed og Styresystemer
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
Computerens Anatomi. Af Martin Arnetoft
Computerens Anatomi Af Martin Arnetoft Moores lov Moores lov siger, at antallet af transistorer på et stykke hardware over 18 eller 24 måneder fordobles. Denne lov bruges til at beskrive udviklingen indenfor
Niveauer af abstrakte maskiner
Mikroarkitektur Niveauer af abstrakte maskiner Spørgsmål... Hvordan realiseres IJVM maskinen (lev. 2), eller hvordan ser en IJVM-CPU ud? Opbygning (mikroarkitekturen Mic-1) Anvendelse (mikroprogrammet
Eksamen dcomnet Q2/2010. Navn
2582 Eksamen dcomnet Q2/2010 ID Navn Example I A32-prg1 Betragt følgende program skrevet i IA-32 symbolsk maskinsprog:.section.data x:.long 2 r:.long 27.section.text.globl _start _start: pushl x movl $0,%ebx
\ \ Computerens Anatomi / /
HTX Roskilde - mat-it-prog, 1.4 \ \ Computerens Anatomi / / Introduktion En PC ( personlige computer ) eller computer er bygget op af forskellige komponenter. Vi vil hermed gennemgå størstedelen af computerens
Speciale. Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP)
Speciale Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP) Speciale efterår 2005 Teknisk Informationsteknologi Jan Lauritzen & Mads
PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU
PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU OUTLINE INEFFICIENCY OF ATTILA WAYS TO PARALLELIZE LOW COMPATIBILITY IN THE COMPILATION A SOLUTION
3. Computerens opbygning.
3. Computerens opbygning. Computere er konstrueret med henblik på at skulle kunne behandle og opbevare data og det er de som nævnt i noterne om Bits og Bytes vældig gode til. Som overordnet model for computere
CPUer og maskinkode DM534. Rolf Fagerberg
CPUer og maskinkode DM534 Rolf Fagerberg CPUers opbygning En CPU er bygget op af elektriske kredsløb (jvf. sidste forelæsning), som kan manipulere bits. En CPU manipulerer flere bits ad gangen, deres antal
Threads i Java. Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java
Denne guide er oprindeligt udgivet på Eksperten.dk Threads i Java Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java Den forudsætter
Indhold. Maskinstruktur... 3. Kapitel 1. Assemblersprog...3. 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output...
Indhold Maskinstruktur... 3 Kapitel 1. Assemblersprog...3 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output... 9 Kapitel 2. Maskinkode... 13 2.1 Den fysiske maskine... 13 2.2 Assemblerens
COMPUTER ANATOMI. 4.-5. klasse 23. FEBRUAR 2015 HTX - ROSKILDE
COMPUTER ANATOMI 4.-5. klasse 23. FEBRUAR 2015 HTX - ROSKILDE 1 Indholdsfortegnelse Kapitel 1: Opbygning s.2 Kapitel 2: CPU s.3 Kapitel 3: Motherboard s.4 Kapitel 4: Ram s.6 Kapitel 5: Grafikkort s.7 Kapitel
Project Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1
Project Step 7 Behavioral modeling of a dual ported register set. Copyright 2006 - Joanne DeGroat, ECE, OSU 1 The register set Register set specifications 16 dual ported registers each with 16- bit words
A Profile for Safety Critical Java
A Profile for Safety Critical Java Martin Schoeberl Hans Søndergaard Bent Thomsen Anders P. Ravn Præsenteret af: Henrik Kragh-Hansen November 8, 2007 Forfatterne Martin Schoeberl Udvikler af JOP processoren
Datatekniker med programmering som speciale
Datatekniker med programmering som speciale H3 H1 varer ti uger bestående af syv uddannelsesspecifikke fag, samt 2 Valgfri Udannelsesspecifikke Fag og 1 Valgfrit Speciale Fag Indhold På H2 er der fokus
DET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS- BIBLIOTEK. Index
DET KONGELIGE Index Download driver... 2 Find the Windows 7 version.... 2 Download the Windows Vista driver.... 4 Extract driver... 5 Windows Vista installation of a printer.... 7 Side 1 af 12 DET KONGELIGE
Grundlæggende Algoritmer og Datastrukturer. Analyseværktøjer [CLRS, 1-3.1]
Grundlæggende Algoritmer og Datastrukturer Analyseværktøjer [CLRS, 1-3.1] Eksempler på en beregningsprocess Puslespil ved ombytninger Maximum delsum Hvad er udførselstiden for en algoritme? Maskinkode
Styresystemer og tjenester
Styresystemer og tjenester Indhold: 1. Introduktion til styresystemer 2. Processer og tråde 3. Synkroniseringsmetoder og IPC 4. Memory management 5. IO og devicedrivere 6. Analyse og design af embedded
Algoritmer og Datastrukturer 1
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Analyseværktøjer [CLRS, 1-3.1] Eksempler på en beregningsprocess Puslespil ved ombytninger Maximum delsum Hvad er udførselstiden for en algoritme? Maskinkode
University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2
DM502 Forelæsning 2 Repetition Kompilere og køre Java program javac HelloWorld.java java HeloWorld.java Debugge Java program javac -g HelloWorld.java jswat Det basale Java program public class HelloWorld
Design Systemkald. User-mode Linux, The Linux kernel/325-2004
Tracing tråden afbryder systemkaldet via ptrace Systemkaldet til værten ændres til getpid Processens stak manipuleres til at kalde kernen Kernen returnerer til processen Design Systemkald Design Startup/shutdown
Lær Python dag 1 - modul 1
Lær Python dag 1 - modul 1 Introduktion, basis python Steffen Berg Klenow Jonas Bamse Andersen Syddansk Universitet Indhold 1. Velkommen 2. Programmering i python 3. Typer, variabler og udtryk 1 Velkommen
Pentium IA-32 Maskinarkitekturen
Pentium IA-32 Maskinarkitekturen 1 Historie (1) Starter i 1970 med udviklingen af Intel 4004: 2 Historie (2) Baglæns kompatibilitet tilbage til 8086. 3 Intel 4004 and Pentium 4 http://www.intel.com/museum/archives/index.htm
Systemkald DM14. 1. Obligatoriske opgave. Antal sider: 7 inkl. 2 bilag Afleveret: d. 18/3-2004 Afleveret af: Jacob Christiansen, 130282-2111
DM14 1. Obligatoriske opgave Systemkald Antal sider: 7 inkl. 2 bilag Afleveret: d. 18/3-2004 Afleveret af: Jacob Christiansen, 130282-2111 Side 1 af 5 Intro: Formålet med opgaven at et lave en system kald
Arduino Programmering
Microcontroller, Arduino I teknologi skal vi lære at lave programmer til uc for at have muligheden til eksamen at kunne lave intelligente el-produkter. I hvert fald skal vi have set mulighederne, og forstået
VMware og dopsys-linux
VMware og dopsys-linux 1 Virtuel maskine: OS Hardware Virtualisering: Resurser deles mellem processer: En virtuel maskine er til rådighed for hver proces. Virtualisering nu dybere: hver proces hvert OS.
Introduktion til C programmering
Introduktion til C programmering Rasmus Erik Voel Jensen Uge 17 [email protected] Dagens forelæsning Formalia Indledende programmering, main, include, printf, variable, scanf, if-else, statements, eksempler
Sortering fra A-Z. Henrik Dorf Chefkonsulent SAS Institute
Sortering fra A-Z Henrik Dorf Chefkonsulent SAS Institute Hvorfor ikke sortering fra A-Å? Det er for svært Hvorfor ikke sortering fra A-Å? Hvorfor ikke sortering fra A-Å? Hvorfor ikke sortering fra A-Å?
Abstrakte datatyper C#-version
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype
02101 Indledende Programmering Introduktion til Eclipse
02101 Indledende Programmering Introduktion til Eclipse Version 2018 1 Introduktion I dette kursus lægger vi op til at man bruger det integrerede udviklingsmiljø Eclipse. Basalt set er et integreret udviklingsmiljø
Computer Literacy. En stationær bordmodel. En Bærbar Notebook, Labtop, Slæbbar, Blærebar mm.
Computer Literacy Computer Literacy handler om at forstå hvad computer (hardware) og software kan gøre. Denne præsentation fokuserer kun på hardware februar 2002 Computerliteracy -hardware (15 dias) 1
Hyper-V på Windows 8 64 Bit. Indhold. Vejledning i brug af Hyper-V på en Windows 8 maskine
Hyper-V på Windows 8 64 Bit Vejledning i brug af Hyper-V på en Windows 8 maskine Indhold Hyper-V på Windows 8 64 Bit... 1 Installation... 2 Vejledning trin for trin... 2 Etablering af Netværk... 5 Opret
Lærebog. Datalogi 1F Forår 2003. Hvad sker hvornår? Kursusbøger. Planen for idag. Hvad er et operativsystem
Lærebog Datalogi 1F Forår 2003 Operativsystemer og multiprogrammering Jørgen Sværke Hansen Silberschatz, Galvin, Gagne: Operating System Concepts, 6. udgave (med Windows XP opdatering) Har I 6. udgave
Opsætning af Backup. Hvis programmet registreres korrekt vises nedenstående skærmbillede. Genstart herefter programmet.
Opsætning af Backup Dette er en guide til opsætning af backup med Octopus File Synchronizer. Det første der skal ske er, at programmet skal registreres (programmet kan dog bruges i 30 dage, hvis det ikke
Algorithms & Architectures II
Algorithms & Architectures II Algorithms & Architectures II Jens Myrup Pedersen Hans Peter Schwefel Kursusholdere Dagens lektion Overordnet mål: At etablere en forståelse for hvordan hardware og hardwarearkitekturer
Opsætning af Backup. Dette er en guide til opsætning af backup med Octopus File Synchronizer.
Opsætning af Backup Dette er en guide til opsætning af backup med Octopus File Synchronizer. Det første der skal ske er at programmet skal registreres, dette gøres ved at vælge menuen Help og derefter
Programmering i C Intro og grundlæggende C 5. marts 2007
Programmering i C Intro og grundlæggende C 5. marts 2007 Mads Pedersen, OZ6HR [email protected] Plan for kurset Ma. 5/3: Ma. 19/3: Ma. 2/4: To. 12/4: Formål, intro, grundlæggende Videre, sprogkonstruktioner
DATALOGI 1E. Skriftlig eksamen mandag den 23. juni 2003
Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen mandag den 23. juni 2003 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver opgaves besvarelse bedømmes
Morten Juul Nielsen Produktchef Microsoft Danmark
Morten Juul Nielsen Produktchef Microsoft Danmark Er du, din organisation og dit datacenter klar til Skyen? Dynamisk Datacenter & Cloud Computing System Center Suiten med fokus på Service Manager Next
Eksamen dcomnet 2012Q4. Årskortsnummer Navn
Eksamen dcomnet 2012Q4 Årskortsnummer Navn Vejledning Eksamen varer en time fra kl. 9 til kl. 10. Husk at skrive årskort og navn tydeligt på forsiden, inden eksamen afsluttes. Der er ét rigtigt svar per
Systemkald i Unix/Linux
Systemkald i Unix/Linux 1 Operativsystemet Fra proces: OS som værktøjskasse: tilgængelig via systemkald... OS som resurseadministrator, abstrakt/virtuel maskine: CPU: processer, tråde, schedulering I/O:
1 Operativsystemer oversigt
1 Operativsystemer oversigt Hvorfor OS virtualisering Abstraktion (processer, virtual hukommelse, filer) Kernel mode og user mode Systemkald (slide 31) Interrupts At levere en simplere model af computeren
VPN VEJLEDNING TIL MAC
VPN VEJLEDNING TIL MAC MAC OS X 1 VPN VEJLEDNING TIL MAC Formålet med en VPN forbindelse er, at du kan tilgå nogle af Aarhus Universitets services hjemmefra, som ellers kun er tilgængelige, når du er på
DM502. Peter Schneider-Kamp ([email protected]) http://imada.sdu.dk/~petersk/dm502/
DM502 Peter Schneider-Kamp ([email protected]) http://imada.sdu.dk/~petersk/dm502/ 1 DM502 Bog, ugesedler og noter De første øvelser Let for nogen, svært for andre Kom til øvelserne! Lav opgaverne!
Sikker kode? Gennemgang af mest almindelige hacker angreb
Sikker kode? Gennemgang af mest almindelige hacker angreb Developer & Platform Strategy Microsoft http://blogs.msdn.com/henrikwh [email protected] Agenda Sikkerhed i medierne Trusselssenarier Mest
Microcontroller, Arduino
Microcontroller, Arduino Programmerbar elektronik. uc Vi skal lære at lave programmer til uc for at kunne lave el-produkter. Forstå princippet i programmering af en uc og se mulighederne. Programmeringen
WINDCHILL THE NEXT STEPS
WINDCHILL THE NEXT STEPS PTC/user, 4. marts 2015 Jens Christian Jensen, Econocap Agenda Windchill the next steps Bliv opdateret og inspireret til at se hvor Windchill kan hjælpe dig med andet end blot
XProtect-klienter Tilgå din overvågning
XProtect-klienter Tilgå din overvågning Tre måder at se videoovervågning på For at skabe nem adgang til videoovervågning tilbyder Milestone tre fleksible brugergrænseflader: XProtect Smart Client, XProtect
Softwareudvikling: Miljøer
Softwareudvikling: Miljøer Præsentation af mig Praktiske oplysninger Overblik Host-target setup UNIX, historisk UNIX egenskaber UNIX ulemper UNIX, netværk, X11, brugerflader Windows fordele/ulemper Øvelse
Lidt orientering om, hvad en computer består af
Lidt orientering om, hvad en computer består af Lidt orientering om, hvad en computer består af...1 Introduktion...2 Skærm...2 Printer...2 Tastatur...2 Mus...3 CPU...3 Bundkort...4 Strømforsyning...4 RAM/
Velkommen på kursus hos Microworld
Velkommen på kursus hos Microworld Du ønskes velkommen på kurset Windows 8 Workshop. Dette kursusmateriale er udarbejdet for at kunne fungere som arbejdsmateriale under selve kurset, men det er også meningen,
University of Southern Denmark Syddansk Universitet. DM503 Forelæsning 11
DM503 Forelæsning 11 Generics Pakker Exceptions Indhold Generics Nedarvning og Generics Generics Nedarvning og Generics Husk Box fra sidst Generics public class Box {! private T object;! public void
Mobilitet og anvendelse af smartphones
Mobilitet og anvendelse af smartphones evikali a/s Etableret af Anders Rolann og Sten Nornes i år 2000. Begge ingeniører. Specialiseret i udvikling og implementering af løsninger og IT-assistance til forretnings-
Internt interrupt - Arduino
Programmering for begyndere Brug af Arduino Internt interrupt - Arduino - Afslutning EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Intern interrupt Jeg vil rydde lidt op. Her er nogle punkter vil har glemt
Netværk & elektronik
Netværk & elektronik Oversigt Ethernet og IP teori Montering af Siteplayer modul Siteplayer teori Siteplayer forbindelse HTML Router (port forwarding!) Projekter Lkaa Mercantec 2009 1 Ethernet På Mars
