Introduktion til Operativsystemer

Størrelse: px
Starte visningen fra side:

Download "Introduktion til Operativsystemer"

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 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

Læs mere

Processer og tråde. dopsys 1

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

Læs mere

Maskinarkitektur. Lars Kristensen kris@daimi.au.dk. Christian Storm cstorm@daimi.au.dk. dmasark 1

Maskinarkitektur. Lars Kristensen kris@daimi.au.dk. Christian Storm cstorm@daimi.au.dk. dmasark 1 Maskinarkitektur Lars Kristensen kris@daimi.au.dk Christian Storm cstorm@daimi.au.dk dmasark 1 Praktiske oplysninger http://www.daimi.au.dk/dmasark dmasark 2 Forelæsninger Tirsdag 12.15-14.00, Store Aud,

Læs mere

Computere og Netværk (dcomnet)

Computere og Netværk (dcomnet) Computere og Netværk (dcomnet) http://www.cs.au.dk/dcomnet Jens Kargaard Madsen (jkm@iha.dk) Jens Bennedsen (jbb@iha.dk) dcomnet 1 Computere og netværk Beskrivelse At give den studerende kendskab til computere

Læs mere

Scheduling. Niels Olof Bouvin. Institut for Datalogi Aarhus Universitet

Scheduling. Niels Olof Bouvin. Institut for Datalogi Aarhus Universitet Scheduling 1 Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Tråde og deres indbyrdes forhold Sidste gang så vi på, hvorledes tråde kan skabes, og hvordan man kan skifte imellem dem I dag ser

Læs mere

Operativsystemer - dopsys

Operativsystemer - dopsys Operativsystemer - dopsys Erik Ernst eernst@cs.au.dk 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

Læs mere

Mikroarkitektur. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

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

Læs mere

Computerarkitektur. - en introduktion til computerarkitektur med LINDA

Computerarkitektur. - en introduktion til computerarkitektur med LINDA Computerarkitektur - en introduktion til computerarkitektur med LINDA faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen Roskilde Universitetscenter Naturvidenskabelig

Læs mere

uprocessorens hardware

uprocessorens hardware uprocessorens hardware 8080 Architecture Kernen i en processor er ALUen. Det er den som kan udfører simple regne operationer. De tal den arbejdermed gemmes i en række registre. Når et tal skal hentes eller

Læs mere

Principper for Samtidighed og Styresystemer

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

Læs mere

Computerens Anatomi. Af Martin Arnetoft

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

Læs mere

Niveauer af abstrakte maskiner

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

Læs mere

Eksamen dcomnet Q2/2010. Navn

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

Læs mere

\ \ Computerens Anatomi / /

\ \ 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

Læs mere

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 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

Læs mere

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 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

Læs mere

3. Computerens opbygning.

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

Læs mere

CPUer og maskinkode DM534. Rolf Fagerberg

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

Læs mere

Det Digitale Niveau. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

Det Digitale Niveau. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Det Digitale Niveau Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Level : Det digitale niveau Level 5 Problem-oriented language level Translation (compiler) Level 4 Assembly language level

Læs mere

Sider og segmenter. dopsys 1

Sider og segmenter. dopsys 1 Sider og segmenter dopsys 1 Lokal vs global sideallokering (1) Med (a) som udgangspunkt giver (b) lokal hhv. (c) global allokering forskellige resultater dopsys 2 Lokal vs global sideallokering (2) Den

Læs mere

Processer og koordinering

Processer og koordinering Processer og koordinering.. fortsat dopsys 1 Betingelsesvariabler (Condition variables).. hukommelsesløs variant af semaphorer: Atomare operationer: Signal bruges til at sende et signal. Wait bruges til

Læs mere

Kursusgang 11. Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing

Kursusgang 11. Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing Kursusgang 11 Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing Design af brugerflader 11.1 Samme sted Forskellige steder Sidste kursusgang Samtidigt

Læs mere

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

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

Læs mere

Interconnect. Front end interface

Interconnect. Front end interface Direct Remote Access to Devices (DREAD) Introduktion These Metode Baggrund Prototypen Resultater Konklusioner Kritik og fremtidigt arbejde 5. december 2000 Direct Remote Access to Devices slide 1 Klynger

Læs mere

Input/Output: Brugergrænseflader. dopsys

Input/Output: Brugergrænseflader. dopsys Input/Output: Brugergrænseflader dopsys Interaktion med bruger Visse devices lægger et fundamentalt sæt af spilleregler for vores brug af computere Generisk tilbagemelding, hvad laver den : Billedskærm

Læs mere

ECE 551: Digital System * Design & Synthesis Lecture Set 5

ECE 551: Digital System * Design & Synthesis Lecture Set 5 ECE 551: Digital System * Design & Synthesis Lecture Set 5 5.1: Verilog Behavioral Model for Finite State Machines (FSMs) 5.2: Verilog Simulation I/O and 2001 Standard (In Separate File) 3/4/2003 1 ECE

Læs mere

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... 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

Læs mere

COMPUTER ANATOMI. 4.-5. klasse 23. FEBRUAR 2015 HTX - ROSKILDE

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

Læs mere

Operativsystemer - dopsys. Erik Ernst

Operativsystemer - dopsys. Erik Ernst 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

Læs mere

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. 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

Læs mere

A Profile for Safety Critical Java

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

Læs mere

Sider og segmenter. dopsys 1

Sider og segmenter. dopsys 1 Sider og segmenter dopsys 1 Lokal vs global sideallokering (1) Med (a) som udgangspunkt giver (b) lokal hhv. (c) global allokering forskellige resultater dopsys 2 Lokal vs global sideallokering (2) Den

Læs mere

Datatekniker med programmering som speciale

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

Læs mere

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

Processer. DS kursusgang nr. 2: Procestræer. ps: Vis processer DS kursusgang nr. 2: Processer 1. Definition af processer/tråde? eksemplificeret med fork() og exec() (procesdannelse i C under unix) 2. C vs. Java (overordnet + funktioner) 3. Processer vs. tråde: Server:

Læs mere

Netværksalgoritmer 1

Netværksalgoritmer 1 Netværksalgoritmer 1 Netværksalgoritmer Netværksalgoritmer er algoritmer, der udføres på et netværk af computere Deres udførelse er distribueret Omfatter algoritmer for, hvorledes routere sender pakker

Læs mere

Virtuel Hukommelse. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

Virtuel Hukommelse. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Virtuel Hukommelse 1 Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Oversigt Formålet med virtuel hukommelse Organisering af virtuel hukommelse Håndtering af virtuel hukommelse 2 Minimal computerarkitektur

Læs mere

DET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS- BIBLIOTEK. Index

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

Læs mere

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

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

Læs mere

Lageradministration. dopsys

Lageradministration. dopsys Lageradministration 1 Lageret i maskinarkitekturen Beregningsenhed, lagre (registre, RAM, disk), ydre enheder 2 Abstraktion over typerne: et hierarki En maskine har flere forskellige lagre Operativsystemet

Læs mere

Styresystemer og tjenester

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

Læs mere

Algoritmer og Datastrukturer 1

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

Læs mere

Mikroprogrammering. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

Mikroprogrammering. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Mikroprogrammering Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Oversigt Mikroprogrammering: IJVM implementeret på Mic-1 Forbedringer af Mic-1 Metode til udvikling af symbolske maskinsprogsprogrammer

Læs mere

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2

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

Læs mere

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

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æs mere

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Design af Algoritmer Korrekt algoritme 1) algoritmen standser på alle input 2) Output er det rigtige på alle input Effektivitet 1) Optimer algoritmerne

Læs mere

Parallelle algoritmer

Parallelle algoritmer Parallelle algoritmer 1 Von Neumann s model John von Neumann 1903-57 Von Neumanns model: Instruktioner og data er lagret i samme lager, og én processor henter instruktioner fra lageret og udfører dem én

Læs mere

Processer og koordinering. dopsys 1

Processer og koordinering. dopsys 1 Processer og koordinering dopsys 1 Motivation.. parallelle processer udnytter hardwaren bedre: Batch operativsystemer (50 erne): Multiprogrammering og time-sharing (60 erne): dopsys 2 Motivation.. parallelle

Læs mere

Lær Python dag 1 - modul 1

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

Læs mere

Pentium IA-32 Maskinarkitekturen

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

Læs mere

Systemkald DM14. 1. Obligatoriske opgave. Antal sider: 7 inkl. 2 bilag Afleveret: d. 18/3-2004 Afleveret af: Jacob Christiansen, 130282-2111

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

Læs mere

Arduino Programmering

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

Læs mere

VMware og dopsys-linux

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.

Læs mere

Introduktion til C programmering

Introduktion til C programmering Introduktion til C programmering Rasmus Erik Voel Jensen Uge 17 voel@math.ku.dk Dagens forelæsning Formalia Indledende programmering, main, include, printf, variable, scanf, if-else, statements, eksempler

Læs mere

Design by Contract Bertrand Meyer Design and Programming by Contract. Oversigt. Prædikater

Design by Contract Bertrand Meyer Design and Programming by Contract. Oversigt. Prædikater Design by Contract Bertrand Meyer 1986 Design and Programming by Contract Michael R. Hansen & Anne Haxthausen mrh@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark Design

Læs mere

Sortering fra A-Z. Henrik Dorf Chefkonsulent SAS Institute

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-Å?

Læs mere

Abstrakte datatyper C#-version

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

Læs mere

02101 Indledende Programmering Introduktion til Eclipse

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ø

Læs mere

Computer Literacy. En stationær bordmodel. En Bærbar Notebook, Labtop, Slæbbar, Blærebar mm.

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

Læs mere

QGIS Brugermde 9. marts Diaspora*: twitter.com/soerenbc soerenbredlundcaspersen.

QGIS Brugermde 9. marts Diaspora*: twitter.com/soerenbc soerenbredlundcaspersen. QGIS Brugermde 9. marts 2017 e-mail: soeren-b-c@ubuntu.com Diaspora*: sbc@diasp.de twitter.com/soerenbc soerenbredlundcaspersen.dk s historie Hvorfor / Prøv / Hvem er jeg? Gymnasielærer (matematik & fysik)

Læs mere

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. 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æs mere

Bits DM534. Rolf Fagerberg, 2012

Bits DM534. Rolf Fagerberg, 2012 Bits DM534 Rolf Fagerberg, 2012 Resume af sidst Overblik over kursus Introduktion. Tre pointer: Datalogi er menneskeskabt og dynamisk. Tidslinie over fremskridt mht. ideer og hardware. Algoritme er et

Læs mere

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. 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

Læs mere

INGENIØRHØJSKOLEN I ÅRHUS Elektro- og IKT-afdelingen. I3PRG3 + I3DTM3 + I3ISY1-3. semester

INGENIØRHØJSKOLEN I ÅRHUS Elektro- og IKT-afdelingen. I3PRG3 + I3DTM3 + I3ISY1-3. semester INGENIØRHØJSKOLEN I ÅRHUS Elektro- og IKT-afdelingen Side 1 af 7 Eksamenstermin: DECEMBER 2003 / JANUAR 2004 Varighed: 4 timer - fra kl. 9.00 til kl. 13.00 Ingeniørhøjskolen udleverer: 3 omslag samt papir

Læs mere

Opsætning af Backup. Hvis programmet registreres korrekt vises nedenstående skærmbillede. Genstart herefter programmet.

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

Læs mere

Algorithms & Architectures II

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

Læs mere

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. 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

Læs mere

Programmering i C Intro og grundlæggende C 5. marts 2007

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 mads@oz6hr.dk Plan for kurset Ma. 5/3: Ma. 19/3: Ma. 2/4: To. 12/4: Formål, intro, grundlæggende Videre, sprogkonstruktioner

Læs mere

DATALOGI 1E. Skriftlig eksamen mandag den 23. juni 2003

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

Læs mere

Morten Juul Nielsen Produktchef Microsoft Danmark

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

Læs mere

Koordinering. dopsys

Koordinering. dopsys Koordinering At indføre flertrådethed (1) når tråde tages i brug opstår typisk konflikter (et velkendt eksempel er errno ) 2 At indføre flertrådethed (2) en del konflikter kan afhjælpes med thread-local

Læs mere

Eksamen dcomnet 2012Q4. Årskortsnummer Navn

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

Læs mere

Systemkald i Unix/Linux

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:

Læs mere

1 Operativsystemer oversigt

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

Læs mere

VPN VEJLEDNING TIL MAC

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å

Læs mere

Programming Language Design and Analysis motivated by Hardware Evolution

Programming Language Design and Analysis motivated by Hardware Evolution Programming Language Design and Analysis motivated by Hardware Evolution Alan Mycroft Presenter: Thomas Bøgholm September 24, 2007 Alan Mycroft Professor på Cambridge Universitet Cambridge Programming

Læs mere

Engineering of Chemical Register Machines

Engineering of Chemical Register Machines Prague International Workshop on Membrane Computing 2008 R. Fassler, T. Hinze, T. Lenser and P. Dittrich {raf,hinze,thlenser,dittrich}@minet.uni-jena.de 2. June 2008 Outline 1 Motivation Goal Realization

Læs mere

DM502. Peter Schneider-Kamp (petersk@imada.sdu.dk) http://imada.sdu.dk/~petersk/dm502/

DM502. Peter Schneider-Kamp (petersk@imada.sdu.dk) http://imada.sdu.dk/~petersk/dm502/ DM502 Peter Schneider-Kamp (petersk@imada.sdu.dk) 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!

Læs mere

Sikker kode? Gennemgang af mest almindelige hacker angreb

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 henrikwh@microsoft.com Agenda Sikkerhed i medierne Trusselssenarier Mest

Læs mere

Microcontroller, Arduino

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

Læs mere

Komparativ analyse af IoT-boards

Komparativ analyse af IoT-boards Analyse udfærdiget den 5. oktober 2018 af kaastrup andersen Komparativ analyse af IoT-boards Grundlaget for analysen bygger på research lavet af kaastrup andersens IoT-organisation, som altid står klar

Læs mere

Programmering i C. Lektion september 2009

Programmering i C. Lektion september 2009 Programmering i C Lektion 1 8. september 2009 Målgruppe Motivation Indhold Form Materiale 2 / 47 Kursusintroduktion 1 Målgruppe 2 Motivation 3 Indhold 4 Form 5 Materiale Målgruppe Motivation Indhold Form

Læs mere

Uniprocessor Scheduling

Uniprocessor Scheduling Uniprocessor Scheduling Chapter 9 E&CE 354: Processes 0 Processor Scheduling Main OS concern: allocation of resources to processes CPU is a key resource; processor scheduling is concerned with its allocation

Læs mere

WINDCHILL THE NEXT STEPS

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

Læs mere

computerens_udvikling

computerens_udvikling Computeren består af. ---------------------- En computer består af mange ting. Der er det samme i næsten alle computere, men der er en forskel - størrelsen på tingene. Dette er ikke fysisk, men f. eks.

Læs mere

XProtect-klienter Tilgå din overvågning

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

Læs mere

Operativsystemer - dopsys. Erik Ernst

Operativsystemer - dopsys. Erik Ernst Operativsystemer - dopsys Erik Ernst eernst@cs.au.dk [Q/A] Mange deltagere er nu på 2. år af datalogistudiet eller cand.it., med dcomnet En del har IT-erhvervserfaring Hvad med dig? dopsys 2 Praktiske

Læs mere

Softwareudvikling: Miljøer

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

Læs mere

Studiepraktik. Thomas Bøgholm Mikkel Hansen Jacob Elefsen

Studiepraktik. Thomas Bøgholm Mikkel Hansen Jacob Elefsen Studiepraktik Thomas Bøgholm boegholm@cs.aau.dk Mikkel Hansen mhan@cs.aau.dk Jacob Elefsen jelefs12@student.aau.dk 1 Studiepraktik -- program Program onsdag 10.00 10.15 Registrering af fremmøde og gennemgang

Læs mere

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 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/

Læs mere

Real-time programming safety in Java and Ada

Real-time programming safety in Java and Ada Real-time programming safety in Java and Ada Bo Sandén Presenter: Thomas Bøgholm 25. oktober 2007 Forfatteren Artiklen Synkroniserings Begreber Bo Sandén Professor på Colorado Technical University Beskæftiger

Læs mere

Velkommen på kursus hos Microworld

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,

Læs mere

University of Southern Denmark Syddansk Universitet. DM503 Forelæsning 11

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

Læs mere

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

Planen for idag. Datalogi 1F Forår 2003. Hvad er en proces? Livscyklus for en proces. Hvad består en proces af? Datalogi 1F Forår 2003 OS[2]: Processor, tråde og skedulering Jørgen Sværke Hansen Planen for idag Processer: Procesbegrebet Processkift Processers familieliv Kommunikerende processer Tråde En lettere

Læs mere

Mobilitet og anvendelse af smartphones

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-

Læs mere

Internt interrupt - Arduino

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

Læs mere

Netværk & elektronik

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

Læs mere

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

Lageret i maskinarkitekturen. Beregningsenhed, lagre (registre, RAM, disk), ydre enheder Lageradministration Lageret i maskinarkitekturen Beregningsenhed, lagre (registre, RAM, disk), ydre enheder Abstraktion over typerne: et hierarki En maskine har fl ere forskellige lagre Operativsystemet

Læs mere

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

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

Læs mere

Lageradministration Intel Pentium og Unix/Linux

Lageradministration Intel Pentium og Unix/Linux Lageradministration Intel Pentium og Unix/Linux 1 Lageradministration Multiprogrammering Håndtering af flere procesbilleder i lageret Virtuelt lager og swapping Gennemsigtig udnyttelse af disk som udvidelse

Læs mere