onsdag den 1. december 2010 Input/Output
|
|
- Bent Bundgaard
- 6 år siden
- Visninger:
Transkript
1 Input/Output
2 Ydre enheder & De Tre Synsvinkler OS skal administrere adgangen til ydre enheder således at:... der fås en abstraktion, der giver en fleksibel og uniform adgang til ydre enheder, men samtidig sikrer en effektiv udnyttelse og deling af ydre enheder...
3 Ydre enheder & De Tre Synsvinkler A non-trivial area: It [the I/O subsystem] is one of the most difficult parts of the OS to design and maintain in a systematic fashion. One of the main reasons for this difficulty is the range of devices that require support. In addition, the I/O system must be able to handle new devices that were not available on the market when the OS was developed or installed. OS skal administrere adgangen til ydre enheder således at:... der fås en abstraktion, der giver en fleksibel og uniform adgang til ydre enheder, men samtidig sikrer en effektiv udnyttelse og deling af ydre enheder...
4 Ydre enheder & De Tre Synsvinkler A non-trivial area: It [the I/O subsystem] is one of the most difficult parts of the OS to design and maintain in a systematic fashion. One of the main reasons for this difficulty is the range of devices that require support. In addition, the I/O system must be able to handle new devices that were not available on the market when the OS was developed or installed. OS skal administrere adgangen til ydre enheder således at:... der fås en abstraktion, der giver en fleksibel og uniform adgang til ydre enheder, men samtidig sikrer en effektiv udnyttelse og deling af ydre enheder...
5 Ydre enheder & De Tre Synsvinkler A non-trivial area: It [the I/O subsystem] is one of the most difficult parts of the OS to design and maintain in a systematic fashion. One of the main reasons for this difficulty is the range of devices that require support. In addition, the I/O system must be able to handle new devices that were not available on the market when the OS was developed or installed. OS skal administrere adgangen til ydre enheder således at:... der fås Extensibility! abstraktion, der giver en fleksibel og uniform adgang til ydre enheder, men samtidig sikrer en effektiv udnyttelse og deling af ydre enheder...
6 Ydre enheder & De Tre Synsvinkler A non-trivial area: It [the I/O subsystem] is one of the most difficult parts of the OS to design and maintain in a systematic fashion. One of the main reasons for this difficulty is the range of devices that require support. In addition, the I/O system must be able to handle new devices that were not available on the market when the OS was developed or installed. OS skal administrere adgangen til ydre enheder Flexibility! således at:... der fås Extensibility! abstraktion, der giver en fleksibel og uniform adgang til ydre enheder, men samtidig sikrer en effektiv udnyttelse og deling af ydre enheder...
7 [Q/A] $ cd /usr/src/linux $ find. -name \*.[ch] -exec cat {} \; wc -l $ cd drivers/ $ find. -name \*.[ch] -exec cat {} \; wc -l forklar lige hvad ovenstående kommandoer gør...
8 Et bevis for at I/O er svært... device driver kode udgør en stor del af OS koden... $ cd /usr/src/linux $ find. -name \*.[ch] -exec cat {} \; wc -l $ cd drivers/ $ find. -name \*.[ch] -exec cat {} \; wc -l
9 Klassificering af ydre enheder block device læse/skrive uafhængige blokke harddisk, floppydisk,... open, read, write, close,... stream/character device læse/skrive en sekvens af tegn tastatur, mus, skærm, printer,... open, get, put, close,...
10 Input/Output elementer i OS Abstrakt I/O intf.: Block devices, character devices, netværk Device-uafhængig: Buffering, schedulering, caching Device-afhængig: I/O drivers (fra producent)
11 Block devices Block devices bruges især i forbindelse med diske De læser/skriver 'en blok' ad gangen Speciel udfordring: tilgang hvor som helst, når som helst
12 Stream devices Stream devices er meget forskellige De læser/skriver en 'stream', ofte blot et tegn ad gangen Speciel udfordring: mange særheder (ioctl)
13 Network devices Network devices er både I og O Device = ledning! Distribueret controller Brug medieres typisk af sockets, via kald som listen, bind, accept, connect
14 Re: Eksempel brug af harddisk Logiske blokke Disk device driver Disk controller cylinder, surface, sector asynkron!
15 Eksempel Programmering i C #include <stdio.h> int main(int argc, char *argv[]) { int c; c = getchar(); while (c!= EOF) { putchar(c); c = getchar(); } return 0; }... synkron I/O, proces blokerer indtil I/O er udført; fx printf, scanf...
16 Eksempel Programmering i C #include <stdio.h> int main(int argc, char *argv[]) { int c; c = getchar(); while (c!= EOF) { putchar(c); c = getchar(); } return 0; }... synkron I/O, proces blokerer indtil I/O er udført; fx printf, scanf...
17 I/O håndtering... en samspil mellem flere niveauer, hardware og software...
18 I/O håndtering... en samspil mellem flere niveauer, hardware og software...
19 Device driver OS bestemt grænseflade... open, close, read, write, get, put... Driver-specifik grænseflade... release, media_changed, revalidate... Hardware-bestemt grænseflade... hardware registre hardware specifik del af OS, der kommunikerer med ydre enheder...
20 Kommunikation med ydre enheder... sker ved brug af registre og buffere i kontrolenheder...
21 Tilgang til registre på ydre enheder Specielle I/O instruktioner IO_STORE CPU_REG, DEV_NO, DEV_REG IO_GET DEV_NO, DEV_REG, CPU_REG Memory-mapped I/O MOV CPU_REG, ADDR MOV ADDR, CPU_REG
22 Memory-mapped I/O? Fordele ingen specielle maskininstruktioner nem adgang til device registre fra højniveausprog beskyttelse af adgang via lageradministration Ulemper skal undgå caching af device registre alle ydre enheder skal "lytte" på adressebus ligner brug af lager, men er anderledes
23 Programmeret I/O med polling... en synkron kommunikation mellem CPU og ydre enhed svært at udnytte CPU mens der ventes... Input do {... // set up operands write_reg(opcode, read); while (busy_flag == true) {..}; mm_in_area[i] = data_buffer; i++;... } while (data_available); Output do {... data_buffer = mm_out_area[i]; i++; write_reg(opcode, write); while (busy_flag == true) {..}; } while (data_available);
24 [Click] A. Schedulering B. Vilkårlig kode som ikke bruger data_buffer C. Stort set ingenting D. Ved ikke Input do {... // set up operands write_reg(opcode, read); while (busy_flag == true) {..}; mm_in_area[i] = data_buffer; i++;... } while (data_available); Output do {... data_buffer = mm_out_area[i]; i++; write_reg(opcode, write); while (busy_flag == true) {..}; } while (data_available); Hvad kan vi egentlig placere i {..}?
25 Programmeret I/O med interrupts... en asynkron kommunikation mellem CPU og ydre enhed... Input do {... // set up operands write_reg(opcode, read); block to wait for interrupt; mm_in_area[i] = data_buffer; i++;... } while (data_available); Output do {... data_buffer = mm_out_area[i]; i++; write_reg(opcode, write); block to wait for interrupt; } while (data_available);
26 Håndtering af interrupts (1) ydre enhed sætter interrupt på interrupt controller når klar interrupt controller sætter interrupt på CPU efter prioritering CPU begynder afvikling af interrupt håndtering og bekræfter interrupt interrupt controller sætter interrupt nummer på bussen CPU læser interrupt nummer fra bussen CPU kalder interrupt handler jvf. opslag i tabel med interrupt nummer
27 Håndtering af interrupts (2) Interrupt handler gem midlertidigt status for afbrudt proces (registre,...) skab omgivelser for interrupt service rutine (MMU, stak,...) bekræft til interrupt controller at CPU klar til ny interrupt gem information om afbrudt proces i proces-tabellen... kør interrupt service rutine... bestem hvilken proces der skal afvikles skab dennes omgivelser (MMU, stak, registre,...) start afvikling af ny proces... håndtering af interrupts skal være usynlig for den afbrudte proces...
28 Håndtering af interrupts (3) write Opstart af skrivning, systemkald int *status_reg = 0xFFFF; int *data_reg = 0xFFFE;... copy_from_user(buffer, from, count); k_count = strlen(buffer); k_i = 0; while (*status_reg!= READY); *data_reg = buffer[0]; block_this_process();... Interrupt service rutine... if (k_count == 0) { unblock_user(); } else { *data_reg = buffer[k_i]; k_count = k_count-1; k_i = k_i+1; } acknowledge_interrupt(); return_from_interrupt();... brugerprocessen er blokeret indtil hele strengen er udskrevet...
29 Interrupt-drevet I/O i Linux I/O Request User space Kernel Space TASK_INTERRUPTIBLE Device Driver... Run Bottom Half... Proces blokerer I/O udføres ISR... Invoke Scheduler... IRQ Return from System Call TASK_RUNNING Proces klar igen...
30 Interrupt-drevet I/O Fordele... CPU'en foretager ikke busy waiting asynkron kommunikation mellem CPU og ydre enhed... Ulemper... Håndtering af interrupts tager tid CPU'en afbrydes for hver enhed/byte der kommunikeres asynkron kommunikation mellem CPU og ydre enhed ;-)...
31 Direct Memory Access... DMA enhed kontrolleres af CPU og udfører I/O operationer Programmeret I/O hvor DMA venter istedet for CPU'en CPU og DMA konkurrerer om bussen, cycle stealing...
32 Device-drivere i Linux... en samling funktioner til kommunikation med ydre enhed registreres med (major number, navn, struct file_operations)... major number tabel chrdevs (navn, file_operations) tabel blkdevs... i kernen, eller indlæses ved boot, eller indlæses dynamisk... Se også:
33 linux /fs/devices.c struct device_struct { const char * name; struct file_operations * fops; }; static struct device_struct chrdevs[max_chrdev] = { { NULL, NULL }, }; static struct device_struct blkdevs[max_blkdev] = { { NULL, NULL }, }; # cd /usr/src/linux ; fgrep -r MAX_CHRDEV. include/linux/major.h:#define MAX_CHRDEV # cd /usr/src/linux ; fgrep -r MAX_BLKDEV. include/linux/major.h:#define MAX_BLKDEV
34 linux /fs/devices.c struct device_struct { const char * name; struct file_operations * fops; }; static struct device_struct chrdevs[max_chrdev] = { { NULL, NULL }, }; static struct device_struct blkdevs[max_blkdev] = { { NULL, NULL }, }; # cd /usr/src/linux ; fgrep -r MAX_CHRDEV. include/linux/major.h:#define MAX_CHRDEV # cd /usr/src/linux ; fgrep -r MAX_BLKDEV. include/linux/major.h:#define MAX_BLKDEV
35 linux /include/linux/fs.h struct file_operations { loff_t (*llseek) (struct file *, loff_t, int); }; ssize_t (*read) (struct file *, char *, size_t, loff_t *); ssize_t (*write) (struct file *, const char *, size_t, loff_t *); int (*readdir) (struct file *, void *, filldir_t); unsigned int (*poll) (struct file *, struct poll_table_struct *); int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long); int (*mmap) (struct file *, struct vm_area_struct *); int (*open) (struct inode *, struct file *); int (*flush) (struct file *); int (*release) (struct inode *, struct file *); int (*fsync) (struct file *, struct dentry *); int (*fasync) (int, struct file *, int); int (*check_media_change) (kdev_t dev); int (*revalidate) (kdev_t dev); int (*lock) (struct file *, int, struct file_lock *);
36 linux /drivers/block/hd.c static struct file_operations hd_fops = { NULL, /* lseek - default */ }; block_read, /* read - general block-dev read */ block_write, /* write - general block-dev write */ NULL, /* readdir - bad */ NULL, /* poll */ hd_ioctl, /* ioctl */ NULL, /* mmap */ hd_open, /* open */ NULL, /* flush */ hd_release, /* release */ block_fsync /* fsync */
37 linux /drivers/char/tty_io.c static struct file_operations tty_fops = { tty_lseek, }; tty_read, tty_write, NULL, /* tty_readdir */ tty_poll, tty_ioctl, NULL, /* tty_mmap */ tty_open, NULL, /* flush */ tty_release, NULL, /* tty_fsync */ tty_fasync
38 Mere om Linux... O'Reillys Open Book Project Linux Device Drivers
39 Device-uafhængig I/O (1) Uniform adgang til ydre enheder i Unix/Linux... ydre enheder er filer i /dev kataloget adgang til ydre enheder via fil-systemkald beskyttelse svarer til beskyttelse af filer...
40 /dev/ $ cd /dev $ ls -c --color=never console vcs12 sda3 ttys61 ttys21 tty35 tap11 md12 gpmctl dri sda2 ttys60 ttys20 tty34 tap10 md11 hdc vcsa7 sda1 ttys6 ttys2 tty33 tap1 md10 audio vcs8 sda ttys59 ttys19 tty32 tap0 md9 dsp vcsa8 ram9 ttys58 ttys18 tty31 skip md8 mixer vcs7 ram8 ttys57 ttys17 tty30 route6 md7 fd0 tty0 ram7 ttys56 ttys16 tty29 route md6 fd0compaq tty7 ram6 ttys55 ttys15 tty28 nflog md5 fd0d360 initctl ram5 ttys54 ttys14 tty27 ip6_fw md4 fd0d720 vcs6 ram4 ttys53 ttys13 tty26 fwmonitor md3 fd0h1440 vcsa6 ram3 ttys52 ttys12 tty25 dnrtmsg md2 fd0h360 vcs3 ram2 ttys51 ttys11 tty24 arpd md1 fd0h720 vcsa1 ram15 ttys50 ttys10 tty23 rtc ppp fd0d360 vcsa5 ram14 ttys5 ttys1 tty22 hpet net fd0h1200 vcsa2 ram13 ttys49 ttys0 tty21 agpgart parport3 fd0h1440 vcs5 ram12 ttys48 tty9 tty20 zero lp3 fd0h1476 vcsa3 ram11 ttys47 tty63 tty19 urandom parport
41 Uniform navngivning i Unix Uniform adgang uafhængig af ydre enhed # sort < unsorted_list > sorted_list # cp sorted_list sorted_list.bak # cp sorted_list /dev/lp Uniform navngivning # mount /dev/fd0 /mnt/floppy # cp /mnt/floppy/new_patch /home/eernst # cp /home/eernst/old_patch /mnt/floppy/
42 Device-uafhængig I/O (2) Hvorfor buffering... fleksibilitet, bufferen kan udligne forskelle i størrelsen på enheder der udveksles mellem proces og ydre enhed... bedre udnyttelse af tid, bufferen øger muligheden for at CPU og ydre enhed kan arbejde samtidigt... bedre udnyttelse af lager, bufferen betyder at processen ikke behøver at være i lager mens bufferen fyldes...
43 Input fra ydre enhed uden buffer Brugerproces main() { int fd; char c; fd = open("/dev/modem", O_RDONLY);... while (read(fd, &c, 1) > 0) {... } }... kerne/bruger-overgang for hver tegn der skal læses...
44 Input fra ydre enhed med buffer main() { int fd; char buf[bufsize]; fd = open("/dev/modem", O_RDONLY);... while (read(fd, buf, BUFSIZE) > 0) {... } }... ISR indlæser tegn i bufferen indtil den er fyldt...
45 Placering af buffer Ide 1 Ide 2 (1) ISR skriver direkte i user space buffer... (2) ISR skriver i kernel space buffer, som kopieres til user space...
46 Placering af buffer Problem Bufferen skal være i lageret under hele I/O processen... Processen kan ikke swappes ud under I/O processen... Ide 1 Ide 2 (1) ISR skriver direkte i user space buffer... (2) ISR skriver i kernel space buffer, som kopieres til user space...
47 Ide 2 [Click] Problem Hvad sker der hvis der kommer input mens kernel-buffer kopieres til userbuffer?... A. Data forbliver i modemet B. Data går tabt C. Data kopieres til kernen når kopi-til-user er slut D. Data kopieres straks til kernen E. Ved ikke ISR skriver i kernel space buffer, som kopieres til user space...
48 Flere buffere... skal sikre at der hele tiden er ledig bufferplads, er det muligt?...
49 Flere buffere Jep... flere buffere med bufferswapping giver dog øget mulig for samtidig udnyttelse af CPU og ydre enhed skal sikre at der hele tiden er ledig bufferplads, er det muligt?...
50 Output via buffer Blokér proces mens user space buffer udskrives... Kør proces mens user space buffer udskrives... Blokér proces, mens user space buffer kopieres til kernel space buffer. Kør proces mens kernel space buffer udskrives OS anvender buffere på mange niveauer...
51 Kernel space buffering i Unix... både direct-access buffer og FIFO buffer...
52 Kernel space buffering i Unix Disk block cache Samling af buffere af variabel størrelse, som hver indeholder blokke... både direct-access buffer og FIFO buffer...
53 Kernel space buffering i Unix C-Lists Kædet liste af arrays. Et forsøg på kombination af fordele ved statisk array og kædet liste både direct-access buffer og FIFO buffer...
54 User space buffering i C typedef struct _iobuf { int cnt; /* antal tegn tilbage i buffer */ } FILE; char *ptr; /* pointer til næste tegn i buffer */ char *base; /* pointer til buffer */ int flag; /* information om fil, mode osv. */ int fd; /* file descriptor, OS specifikt */ int getc(file *fp) { } fp->cnt--; if (fp->cnt < 0) _fillbuffer(fp); return *(fp->ptr++); void _fillbuffer(file *fp) {... n = read(fp->fd, fp->base, BUFSIZE); fp->cnt = n; } fp->ptr = &fp->base[0];
55 User space buffering i C typedef struct _iobuf { int cnt; /* antal tegn tilbage i buffer */ } FILE; char *ptr; /* pointer til næste tegn i buffer */ char *base; /* pointer til buffer */ int flag; /* information om fil, mode osv. */ int fd; /* file descriptor, OS specifikt */ ptr cnt int getc(file *fp) { } fp->cnt--; if (fp->cnt < 0) _fillbuffer(fp); return *(fp->ptr++); void _fillbuffer(file *fp) {... n = read(fp->fd, fp->base, BUFSIZE); fp->cnt = n; } base fp->ptr = &fp->base[0];
56 Opsummering I/O er komplekst; mange slags ydre enheder, evt. nye Typer: block device, char device, network device Device drivers Programmeret I/O (poll, interrupt) DMA Case: Linux Device uafhængighed Buffering
Ydre enheder & De Tre Synsvinkler
Input/Output Ydre enheder & De Tre Synsvinkler OS skal administrere adgangen til ydre enheder således at:... der fås en abstraktion, der giver en fl eksibel og uniform adgang til ydre enheder, men samtidig
Læs mereInput/Output. dopsys
Input/Output dopsys I/O, abstraktion & resurser OS skal administrere adgangen til ydre enheder således at:... der fås en abstraktion, der giver en fleksibel og uniform adgang til ydre enheder, men samtidig
Læs merePrincipper for Samtidighed og Styresystemer
Principper for Samtidighed og Styresystemer Kursusgang 12: Device drivere mt@cs.aau.dk Ph.D.-studerende Distribuerede og Indlejrede Systemer Institut for Datalogi Aalborg Universitet 17. maj 2010 Intro
Læs mereOperativsystemer - 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 mereStyresystemer og tjenester
Styresystemer og tjenester Indhold: 1. Introduktion til styresystemer. 2. Processer og tråde. 3. Synkroniseringsmetoder og InterProcesCommunikation. 4. Memory management. 5. I/O og devicedrivere. 6. Filsystemer.
Læs mereProcesser 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 mereSystemkald 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 mereOperativsystemer - 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 mereFilsystemer. dopsys. fredag den 26. november 2010
Filsystemer 1 Lageret er hierarkisk - Fokus: disk Sekundært lager er nødvendigt: Data i RAM forsvinder når processer terminerer o.lign. Og der er også brug for pladsen 2 Lageret er hierarkisk - Fokus:
Læs mereStyresystemer 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 mereLageradministration 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 mereProgrammering i C. Lektion september 2009
Programmering i C Lektion 2 14. september 2009 Kontrolstrukturer Udvælgelse Gentagelse Eksempler Kommentarer Format - scanf og printf 2 / 27 Fra sidst 1 Kontrolstrukturer 2 Udvælgelse 3 Gentagelse 4 Eksempler
Læs mereLageret er hierarkisk fokus nu: disk
Filsystemer Lageret er hierarkisk fokus nu: disk Sekundært lager er nødvendigt: Data i RAM forsvinder når processer terminerer o.lign. Og der er også brug for pladsen Top-down: Hvad er en fi l? Er en fi
Læs mereProgrammering i C. Lektion november 2008
Programmering i C Lektion 3 18. november 2008 Kontrolstrukturer Udvælgelse Gentagelse Eksempler Fra sidst 1 Kontrolstrukturer 2 Udvælgelse 3 Gentagelse 4 Eksempler Kontrolstrukturer Udvælgelse Gentagelse
Læs mereProcesser 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 mereProgrammering i C. Lektion 4. 5. december 2008
Programmering i C Lektion 4 5. december 2008 Funktioner Eksempel Fra sidst 1 Funktioner 2 Eksempel Funktioner Eksempel Eksempel: 1 / f u n k t i o n s p r o t o t y p e r / i n t i n d l a e s ( void )
Læs mereFilsystemer: Implementation. dopsys
Filsystemer: Implementation 1 Hvor lagres filer?... filer lagres typisk på en harddisk...... head, track, sector, cylinder... Rotationshastighed fx 10000 RPM, Læse/skrivehast. 50 MB/s 2 Adgang til harddisken
Læs mere1 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 mereImplementation af Koordinering. dopsys 1
Implementation af Koordinering dopsys 1 Oversigt: Impl. af koordinering Begreber: Kritiske regioner Gensidig udelukkelse Synkroniseringsprimitiver: Binære semaforer / mutexes Tællesemaforer Betingelsesvariabler
Læs mereSider 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 mereInterconnect. 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 mereESP30076 임베디드시스템프로그래밍 (Embedded System Programming)
Module 14: Kernel Timer ESP30076 임베디드시스템프로그래밍 (Embedded System Programming) 조윤석 전산전자공학부 주차별목표 리눅스에서커널타이머사용법알아보기 HZ, jiffies_64, struct timer_list 커널타이머를활용한하드웨어제어용디바이스드라이버작성 2 Timer 관련변수 HZ 리눅스커널에서주기적으로발생하는시스템타이머
Læs mereSystemkald 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 mereTypisk PC arkitektur. Synkronisering ved aktiv venten
Oversigt I/O arkitektur Kommunikation mellem processor og ydre enhed Brugerprocessers adgang til I/O Strukturen af kernens I/O del Ydelse Typisk C arkitektur Kontrol af ydre enheder De ydre enheder styres
Læs mereInput/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 mereLageradministration Paging og segmentering
Lageradministration Paging og segmentering 1 Re: Logiske/fysiske adresser... Proces-struktur = kode og data for en proces 4G En proces tilgår sin proces-struktur via et logisk/virtuelt adresserum, fx 0,
Læs mereOperativsystemer - 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 mereLRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) int wmid, wmevent; PAINTSTRUCT Introduktion ps; til HDC hdc; programmering med switch (message) case WM_COMMAND: wmid = LOWORD(wParam);
Læs mereSider 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 mereDesign 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 mereFilsystemer: Anvendelse. dopsys
Filsystemer: Anvendelse 1 Lageret er hierarkisk - Fokus: disk Sekundært lager er nødvendigt: Data i RAM forsvinder når processer terminerer o.lign. Og der er også brug for pladsen 2 Lageret er hierarkisk
Læs mereInput/Output: Disk & Clock. dopsys
Input/Output: Disk & Clock dopsys Magnetiske diske Spiller en vigtig rolle for mange typer computere Persistens, lagringstæthed, pris, hastighed, holdbarhed, fejltyper,...: OK! Afgørende for opstart (tungt
Læs mereProgrammering 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//--------------------------------- Definition af porte og funktioner -------------------------
Temeraturmåler (C-program).txt // Initialiserings-sekvens #include #pragma model=medium #pragma code=0x0000 #pragma xdata=0x4000 #pragma asm=on #pragma parameters=register //#define display P4
Læs mereDM14-1. Obligatorisk opgave F.06. System Call. Jacob Aae Mikkelsen Ingen andre gruppe medlemmer. 6. marts 2005
- 1. Obligatorisk opgave F.06 System Call Jacob Aae Mikkelsen - 191076 Ingen andre gruppe medlemmer 6. marts 2005 1 Indhold 1 Opgave beskrivelse 2 2 Analyse 2 2.1 Hukommelses allokering.....................
Læs mereProgrammering i C Videre med C (2 af 4) 19. marts 2007
Programmering i C Videre med C (2 af 4) 19. marts 2007 Mads Pedersen, OZ6HR mads@oz6hr.dk Plan i dag Brush-up fra sidst Videre med C Kontrolløkker (while, for, ) Conditional Execution (if, if/else) Funktioner
Læs mereDET 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 mereComputerens 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 mereProgrammering i C Programmering af microcontroller i C (4 af 4) 12. april 2007
Programmering i C Programmering af microcontroller i C (4 af 4) 12. april 2007 Mads Pedersen, OZ6HR mads@oz6hr.dk Plan i dag Afrunding af OZ3VB's program Fra "almindelig C" til "microcontroller C" Lighederne
Læs mereLageret 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 mereVMware 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 mereInternt 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 mereNetvæ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 mereLageradministration. 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 mereProcesser. 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 mereComputer 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 mereProgrammering i C. Lektion oktober 2008
Programmering i C Lektion 2 20 oktober 2008 Historie Processen At kompilere 2 / 23 Fra sidst 1 Historie 2 Processen 3 At kompilere Historie Processen At kompilere 3 / 23 ALGOL 60 1963 CPL 1966 BCPL 1969
Læs merePlanen for idag. Kontrol af ydre enheder. Systemarkitektur. Synkronisering ved aktiv venten. Multiprogrammering[1]: Ydre enheder og multiprogrammer
: Ydre enheder og multiprogrammer Forår 2003 Jørgen Sværke Hansen Planen for idag Samspil mellem CPU og ydre enheder: Generelt Kontrolregistre Afbrydelser Specifikt for Alpha AXP (kernemaskinerne) Multiprogrammering:
Læs mereProcesser 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 mereINGENIØ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 mereDeadlocks dopsys 1 onsdag den 8. december 2010
Deadlocks dopsys 1 En deadlock! When two trains approach each other at a crossing, both shall come to a full stop and neither shall start up again until the other has gone. Lov - the Kansas Legislature
Læs mereStyresystemer og tjenester
Styresystemer og tjenester Indhold: 1. Introduktion til styresystemer. 2. Processer og tråde. 3. Synkroniseringsmetoder og InterProcesCommunikation. 4. Memory management. 5. I/O og devicedrivere. 6. Filsystemer.
Læs merePARALLELIZATION 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 mereNavn: Søren Guldbrand Pedersen Klasse: 2i Fag: up/ansi Opgave: Brev til Sigurd Lære: John Austin Side 1 af 8 Dato: 14-05-2003
Side 1 af 8 Dato: 14-05-2003 Til Sigurd Som aftalt vil jeg her fremsende vores program til vores 80C535 kit og display. Det gik jo ud på at vi skulle starte med at få den til at intialiserer displayet,
Læs mereSchedulering. dopsys 1
Schedulering dopsys 1 Re: Schedulering af processer.. administration af CPU-resursen. Ready List (RL) processer i ready_a, ready_s, eller running tilstand. dopsys 2 Re: Schedulering af processer.. administration
Læs mereStyresystemer og tjenester
Styresystemer og tjenester Indhold: 1. Introduktion til styresystemer. 2. Processer og tråde. 3. Synkroniseringsmetoder og InterProcesCommunikation. 4. Memory management. 5. I/O og devicedrivere. 6. Filsystemer.
Læs mereMaskinarkitektur. 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 mereOperativsystemer of C Efterår 2013 Virtuel hukommelse (kap. 9)
Operativsystemer of C Efterår Virtuel hukommelse (kap. 9) 8// Planen for idag q Virtuel hukommelse. q Demand paging / page faults. q Sideudskiftningsalgoritmer. q Rammeallokering til processer. Ø Øvelser:
Læs mereProgrammering i C. Lektion september 2009
Programmering i C Lektion 4 18. september 2009 Pointers Referenceparametre 2 / 19 Pointers 1 Pointers 2 Referenceparametre Pointers Referenceparametre 3 / 19 Husk: En variabel er en navngiven plads i computerens
Læs mereProgrammering 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 mereNavn: Søren Guldbrand Pedersen Klasse: 2i Fag: up/ansi C Opgave: Brev til Sigurd Lære: John Austin Side 1 af 13 Dato:
Side 1 af 13 Dato: 03-06-03 Til Sigurd Som aftalt får du nu tilbygningen til 80C535 kittet, keyboard og programmet med programopdatering. Den sidste opgave her, gik så ud på at tilslutte et tastatur, og
Læs mereInterrupt - Arduino. Programmering for begyndere Brug af Arduino. Kursusaften 6 EDR Hillerød Knud Krogsgaard Jensen / OZ1QK
Programmering for begyndere Brug af Arduino Programmeringskursus Interrupt - Arduino EDR Hillerød Knud Krogsgaard Jensen / OZ1QK Interrupts Programmeringskursus Genbrug Interrupts Betyder blot at man afbryder
Læs mereSchedulering. dopsys 1
Schedulering dopsys 1 Re: Schedulering af processer.. administration af CPU-resursen. Ready List (RL) list af processer i ready_a tilstand. dopsys 2 Re: Schedulering af processer.. administration af CPU-resursen.
Læs mereRouting tables Processer Tråde Hukommelse. Operativsystemer og netværk Lektion 5. I/O Linux Debian Webserver
Routing tables Processer Tråde Hukommelse Operativsystemer og netværk Lektion 5 I/O Linux Debian Webserver Routing tables Den vej noget tager gennem netværket Routing tables Som en netværksadministrator,
Læs mereNetvæ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 merePlanen 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 mereQUICK START Updated: 18. Febr. 2014
QUICK START Updated: 18. Febr. 2014 For at komme hurtigt og godt igang med dine nye Webstech produkter, anbefales at du downloader den senest opdaterede QuickStart fra vores hjemmeside: In order to get
Læs mereProjekt - RoboNet Del Journal.
Projekt - RoboNet Del Journal. Udarbejdet af: Klaus Jørgensen. Gruppe: Jacob Clausen, Klaus Jørgensen og Ole Rud It og Elektronikteknolog, 2a Erhvervsakademiet Fyn Udarbejdet i perioden: 20/01-03 03/02-03
Læs mereUniversity of Southern Denmark Syddansk Universitet. DM502 Forelæsning 3
DM502 Forelæsning 3 Indlæsning fra tastatur Udskrift til skærm Repetition Beregning af middelværdi Gentagelse med stop-betingelse (while) Heltalsdivision Division med nul Type-casting ( (double) ) Betinget
Læs mereNiveauer 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 mereSøren Guldbrand Pedersen Diverse noter til PC & Net 26-06- 2003 Side 2 af 8. TYPE - viser fil eller program på skærmen.
Diverse noter til PC & Net 26-06- 2003 Side 1 af 8 Forskellige DOS-kommandoer; C:\> (C:(>)) - Så styrer COMMAND.COM [PROMPT] Kommando fortolker C:\> [VERSION] - 1: Intern ordre 2: Extern ordre *.COM *.EXE
Læs mereAnalyse og design af Indlejrede Systemer. v/ Jens Dalsgaard Nielsen Henrik Schiøler Mads Dore alle Afdeling for Proceskontrol
Analyse og design af Indlejrede Systemer v/ Jens Dalsgaard Nielsen Henrik Schiøler Mads Dore alle Afdeling for Proceskontrol 1 kursusindhold... Del 1: 5 mm Parallelitet, multiprogrammering, OS services
Læs mereProgrammering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen
Programmering Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Oversigt Undervisningen Hvad er programmering Hvordan er et program organiseret? Programmering og fysik Nobelprisen
Læs mereQUICK START Updated:
QUICK START Updated: 24.08.2018 For at komme hurtigt og godt igang med dine nye Webstech produkter, anbefales at du downloader den senest opdaterede QuickStart fra vores hjemmeside: In order to get started
Læs mereIBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1
IBM Network Station Manager esuite 1.5 / NSM Integration IBM Network Computer Division tdc - 02/08/99 lotusnsm.prz Page 1 New esuite Settings in NSM The Lotus esuite Workplace administration option is
Læs mereProgrammering i C. Lektion september 2009
Programmering i C Lektion 5 28. september 2009 Indhold Programmer Variable Datatyper Kontrol strukturer Udtryk Assignments Operatorer I/O Eksempel Processen A 2 / 81 1 Introduktion og Kontrolstrukturer
Læs mereDatamaters arkitektur og programmering
Mikael Svenstrup Datamaters arkitektur og programmering 1/24 Datamaters arkitektur og programmering MM11: Seriel kommunikation 2 (SW) Indhold Mikael Svenstrup Datamaters arkitektur og programmering 2/24
Læs mereResource types R 1 1, R 2 2,..., R m CPU cycles, memory space, files, I/O devices Each resource type R i has W i instances.
System Model Resource types R 1 1, R 2 2,..., R m CPU cycles, memory space, files, I/O devices Each resource type R i has W i instances. Each process utilizes a resource as follows: request use e.g., request
Læs mereEksempel: Skat i år 2000
Kursus 02199: Programmering afsnit 2.1-2.7 Anne Haxthausen IMM, DTU 1. Værdier og typer (bl.a. char, boolean, int, double) (afsnit 2.4) 2. Variable og konstanter (afsnit 2.3) 3. Sætninger (bl.a. assignments)
Læs mereLæ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 mereAlgorithms & 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 mereIntroduktion 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 mereStart på Arduino og programmering
Programmering for begyndere Brug af Arduino Start på Arduino og programmering EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Start på Arduino og programmering Sidste gang (Introduktion) Programmeringssproget
Læs mereLæ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 mereProgrammering C RTG - 3.3 09-02-2015
Indholdsfortegnelse Formål... 2 Opgave formulering... 2 Krav til dokumentation af programmer... 3 ASCII tabel... 4 Værktøjer... 5 Versioner af ASCII tabel... 6 v1.9... 6 Problemer og mangler... 6 v2.1...
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 13. marts, 2018 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereSortering 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 mereVidar Jon Bauge. Notater til Teknik. Datamatikeruddannelsen efterår 2005 Side 1 af 54
Notater til Teknik 2005 Datamatikeruddannelsen efterår 2005 Side 1 af 54 Indholdsfortegnelse Operativsystemer......4 Batch systemer......4 Time-sharing systemer......4 Computer Systemer......6 I/O struktur......6
Læs mereStatus på det trådløse netværk
Status på det trådløse netværk Der er stadig problemer med det trådløse netværk, se status her: http://driftstatus.sdu.dk/?f=&antal=200&driftid=1671#1671 IT-service arbejder stadig med at løse problemerne
Læs mereNC_71 Quick Guide v1.0. CJ1W-NC_71 Mechatrolink-II Position Control Unit. Quick Guide
Quick Guide v1.0 CJ1W- Mechatrolink-II Position Control Unit Quick Guide Denne quick guide er ment som supplement til de respektive manualer for CJ1W- modulet og de monterede servodrev. Guiden beskriver
Læs merePlanen for idag. Indhold af G1. Kernealphaerne. Alpha erne. Datalogi 1F Forår 2003
Planen for idag Datalogi 1F Forår 2003 G1 Et gensyn med KFirst G1 Jørgen Sværke Hansen cyller@diku.dk 2 Sidst så vi hvordan man starter den første proces KCurProc = KWaitQ.Get(); KFirst(KCurProc->sp);
Læs mereHvad skal du vide for at bygge din egen computer?
Hvad skal du vide for at bygge din egen computer? Kender du alle de her dele og hvad de gør godt for? Er du mellem 11 og 16 år, og tænker på at sammensætte din egen computer? Så er denne her guide lige
Læs mereProgrammering i C. Kursusintroduktion. Lektion september Målgruppe 2 Indhold 3 Form 4 Materiale. Målgruppe Indhold Form Materiale
Programmering i C Lektion 1 16. september 2008 Målgruppe Indhold Form Materiale Kursusintroduktion 1 Målgruppe 2 Indhold 3 Form 4 Materiale 2 / 21 Målgruppe Indhold Form Materiale Folk der har styr på
Læs mereECE 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 mereAbstrakte 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 merehow to save excel as pdf
1 how to save excel as pdf This guide will show you how to save your Excel workbook as PDF files. Before you do so, you may want to copy several sheets from several documents into one document. To do so,
Læs mereSystem Arkitektur og Integration
Mikael Svenstrup System Arkitektur og Integration 1/24 System Arkitektur og Integration MM11: Seriel kommunikation 2 (SW) Indhold Mikael Svenstrup System Arkitektur og Integration 2/24 Tidligere har i
Læs mereHvordan vælger jeg dokumentprofilen?
Hvordan vælger jeg dokumentprofilen? Valget af OIOUBL profil i en konkret dokumentudveksling vil bl.a. afhænge af, hvilke OIOUBL profiler den anden part i udvekslingen understøtter. Et konkret eksempel
Læs mereAsus computer og hvad man kan gøre ved den. For flere år siden købte jeg en lille maskine der hed Asus Eee Pc 900.
Asus computer og hvad man kan gøre ved den. For flere år siden købte jeg en lille maskine der hed Asus Eee Pc 900. Den kørte med et Linuxsystem, som jeg ikke kunne få til at virke godt, så jeg brændte
Læs mere