Per P. MadsenStyresystemer og tjenester1 Indhold: 1.Introduktion til styresystemer. 2.Processer og tråde. 3.Synkroniseringsmetoder. 4.InterProcesCommunikation.

Slides:



Advertisements
Lignende præsentationer
TEST 2 modul 1 20 spørgsmål. Du skal klikke med musen på det rigtige svar, så kommer du automatisk til næste spørgsmål Klik for start.
Advertisements

Next Generation Operations Management AutoNOC 2. AutoNOC 2 Business fordele.
Grundlæggende IT Lektion 4 Sådan virker pc’en
»Tal til mig, Supermax!« - Joakim von And, ca. 1980
Videregående pc-vejledning Modul 02: Harddisken 1 60+Bornholm.
Computerens Anatomi - En guidende introduktion om computerens indre
Computerens anatomi.
Programmeringsparadigmer.
Kryptering, & Plug & play enheder IT-Sikkerhedskonference Maj 2008 – C-Cure Shehzad Ahmad, DK-CERT
Computerens anatomi! Hvad skal du vide før du køber din egen?
Per P. MadsenStyresystemer og tjenester1 Indhold: 1.Introduktion til styresystemer. 2.Processer og tråde. 3.Synkroniseringsmetoder og InterProcesCommunikation.
IT Arkitektur og Sikkerhed
COMPUTERENS ANATOMI KENDER DU DIN COMPUTER SÅ GODT SOM DU TROR?
Efteruddannelse Embedded C Modul 4 (Torsdag den 14/1-2010)
IT Arkitektur og Sikkerhed IT Enterprise Arkitektur.
Modul 01: Introduktion Videregående pc-vejledning 60+Bornholm.
Styresystemer og tjenester1 Indhold: 1.Introduktion til styresystemer. 2.Processer og tråde. 3.Synkroniseringsmetoder og InterProcesCommunikation. 4.Memory.
Processer/tråde Per P. Madsen1 Et stykke software der håndtere skiftet af CPU’en.  Dispatcher. Et antal selvstændige programmer.  Processer. Plus det.
TEST 3 modul 1 20 spørgsmål. Du skal klikke med musen på det rigtige svar, så kommer du automatisk til næste spørgsmål Klik for start.
Efteruddannelse Embedded C Modul 4 (Torsdag den 22/4-2010)
Pc-kørekort Sådan virker pc’en Keld Hinsch.
Computer anatomi Vi skal kigge lidt nærmere på kabinens grundlæggende indhold. Tryk på F5 for fuld skærmbillede Skift til næste dias (Museklik) for et.
Operativ systemer. Januar 2002IT-PO forår Hvad er vigtigt ! Operativ systemets opgaver –At styre –Basis utility –Drift faciliteter.
Introduktion til BOSC Operativsystemer og C.
Almindelige ("hårde") links (i filsystemer med i-noder) opg.txt jens: pia: ln /home/pia/opg.txt /home/jens/opg.txt hård link: ny post får i-node-nummer.
Krav til funktionalitet i fremtidens flådestyringssystem
Flerbrugermaskine Fælles maskine Root: webserver Peter: uploader filer Pia: programudvikling 1 langvarig proces, evt. med børneprocesser skiftende behov.
Første generation (maskiner/operativsystemer) 45-55: radiorør Kun maskinsprog programmering = skrivning af nullerog ettaller Intet operativsystem programmør.
Backup/Storage Søren Helmer Jensen.
FEN IntroJava AAU1 Opsamling: afvikling af Java-programmer Input fra keyboard og fil Fra en prompt Fra BlueJ Fra NetBeans.
11.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Processer Oversigt, principper og teknikker Kapitel 11.
Kristian F. Thomsen infrastructure specialist i edgemo Claus Egeberg-Gjelstrup infrastructure specialist i edgemo
1 | 2010 Android Filsystem/Datalager Kontekstbestemt datalagring.
Datalogi 1F Forår 2003 Operativsystemer og multiprogrammering Jørgen Sværke Hansen
IT Arkitektur og Sikkerhed
CLR (.NET) og JVM 1.NET vs. Java.NET har fokus på sprog-uafhængighed … Java har fokus på platforms-uafhængighed … Windows OS.NET CLR IL kode (.exe,.dll)
Per P. MadsenStyresystemer og tjenester1 Indhold: 1.Introduktion til styresystemer. 2.Processer og tråde. 3.Synkroniseringsmetoder og InterProcesCommunikation.
Buttom-up parsning: Hvor er vi Mellem- kode Kald til Runtimesys. Mellemk.- optimering Kode- generering Kode- optimering Leksikalsk- analyse Syntax- analyse.
Videregående pc-vejledning Modul 03: Harddisken 2 60+Bornholm.
Computerens Anatomi Af: Anton og Teddy. 1. Hardware Hvad er Hardware?
1. Database-systemer, introduktion
Beskeder/beskedkøer Afsender- proces hej Modtager- proces.. msgsnd(..,"hej",..);.. msgrcv(..);.. Afsender skal bl.a. angive den besked der ønskes afsendt.
Historie Android Inc oprettet i 2003 Købt af Google i 2005 Første version af Android ude i 2007 Kan bruges til andet end mobiltelefoner.
Procestræ under afvikling af cp init login shell cp cp src dest.
Per P. MadsenStyresystemer og tjenester1 Indhold: 1.Introduktion til styresystemer. 2.Processer og tråde. 3.Synkroniseringsmetoder og InterProcesCommunikation.
Computerens anatomi Dette er interaktivt så brug musen.
Per P. MadsenStyresystemer og tjenester1 Indhold: 1.Introduktion til styresystemer. 2.Processer og tråde. 3.Synkroniseringsmetoder og InterProcesCommunikation.
03 – Udtryk og metoder. 2 NOEA2009Java-kursus – Udtryk og metoder Udtryk i Java Java har standard udtrykene… Værditildeling Subrutiner og funktionskald.
Operativsystemer, processor og tråde. Disposition Operativsystem Kerne funktionalitet Presser og adresserum Tråde.
Per Printz Madsen Linux proces og tråd programmering Per Printz Madsen Aalborg Universitet Institut for.
Process Control Hardware baggrund Process begrebet i et OS Process tilstande Context switching.
Per Printz Madsen 1 Linux kernen Monolithic kernel Support for dynamiske moduler Få kerne tråde Preemptive.
Per P. MadsenStyresystemer og tjenester1 Indhold: 1.Introduktion til styresystemer. 2.Processer og tråde. 3.Synkroniseringsmetoder og InterProcesCommunikation.
Per P. MadsenStyresystemer og tjenester1 Threads.
Real-Time trafik på Ethernet MM4 Distribuerede systemer.
1 Processer. 2 fork int fork(); Danner en ny proces med samme indhold som forældre processen. I begge processer er programtælleren placeret lige efter.
Operativ systemer. Januar 2002IT-PO forår Dagens agenda.
Indledende Programmering Uge 6 - Efterår 2006
Multiple processer på web-site Web- server filer Kunde 1 Kunde 2 Kunde p1p2p internet.
PC’en & div. hardware … mange IT-fagudtryk !! v/Søren Noah:
UProcessorens hardware Architecture Kernen i en processor er ALUen. Det er den som kan udfører simple regne operationer. De tal den arbejdermed.
Fromelle sprog Per P. Madsen Afd. for proceskontrol.
PHP Intro Webintegrator PHP. PHP Baggrund PHP er et server-side programmeringssprog anvendt til udvikling af dynamiske webapplikationer og websteder.
Port access I det efterfølgende vil vi anvende databladsoplysninger frem for anvende de færdige metoder.
Anvendelse.
1587 Server - Blandet miljø Embedded I
Embedded SW – C & picoBlaze
Lav et nyt projekt og tilføj denne gang pakken Graphic LCD.
I det efterfølgende kommer nogle eksempler på C kode som adskiller sig fra det vi normalt anvender i C# Hvis du har behov for hurtigt at afprøve små stumper.
Programmering.
Præsentationens transcript:

Per P. MadsenStyresystemer og tjenester1 Indhold: 1.Introduktion til styresystemer. 2.Processer og tråde. 3.Synkroniseringsmetoder. 4.InterProcesCommunikation. 5.Memory management. 6.I/O og devicedrivere. 7.Filsystemer. 8.Distribuerede systemer. 9.Sikkerhed. 10..

Per P. MadsenStyresystemer og tjenester2 Introduktion til styresystemer

Per P. MadsenStyresystemer og tjenester3 Hvad er et Operativsystem ? En virtuel maskine som er Easy to use. –Gemmer detaljer om hardware. –Danner en brugervenlig grænseflade til applikationsprogrammøren. Resurse manager. –Styre de enkelte hardware resurser. –Håndterer resursetildeling til applikationsprogrammerne.

Per P. MadsenStyresystemer og tjenester4 Lidt historie Første generation –Plug boards Anden generation –Batch systemer Tredje generation 1965 – 1980 –Multiprogramming Fjerde generation 1980 – –Personlige comp. Grafisk grænseflader

Processoren eksikvere jobbet indtil den når en I/O instruktion; Her efter må den vente på I/O.

Processor is often idle –even with automatic job sequencing –I/O devices are slow compared to processor

Per P. MadsenStyresystemer og tjenester7 Computer Hardware CPUMem Keyboard Ctrl. Hard disk Ctrl. CD/DVD Ctrl. USB ctrl. Network Ctrl. Graphics Card. BUS

Per P. MadsenStyresystemer og tjenester8 OPS’ opgave: CPU CPUMem Keyboard Ctrl. Hard disk Ctrl. CD/DVD Ctrl. USB ctrl. Network Ctrl. Graphics Card. BUS Håndtere eksekvering af processer. Dvs: Oprette og nedlægge processer. Tildeling af CPU’tid til processer/tråde. Vedligeholdelse af processtatus. Synkroniser processer.

Process Management  Tilstanden af processen/tråden er indeholdt I contexten/staken.

Per P. MadsenStyresystemer og tjenester10 OPS’ opgave: Memory CPUMem Keyboard Ctrl. Hard disk Ctrl. CD/DVD Ctrl. USB ctrl. Network Ctrl. Graphics Card. BUS Håndtere af ram/rom lageret. Dvs. Tildeling af mem. til processer. Håndtering af virtuel memory. Paging og swapping. Beskyttelse af processers mem.

Virtual Memory

Virtual Memory Addressing

Per P. MadsenStyresystemer og tjenester13 OPS’ opgave: Keyboard ctrl. Håndtere tastatur/mus. Dvs. Interrupt. Buffering. Echo. Delete/erase. CPUMem Keyboard Ctrl. Hard disk Ctrl. CD/DVD Ctrl. USB ctrl. Network Ctrl. Graphics Card. BUS

Per P. MadsenStyresystemer og tjenester14 OPS’ opgave: Disk ctrl. Håndtere disks. Dvs. Filesystem. DMA. Protection. Symbolske navne. CPUMem Keyboard Ctrl. Hard disk Ctrl. CD/DVD Ctrl. USB ctrl. Network Ctrl. Graphics Card. BUS

Per P. MadsenStyresystemer og tjenester15 OPS’ opgave: USB ctrl. Håndtere USB kanalen. Dvs. Master/slave. Polling. Hot Plug-able. Handshaking CPUMem Keyboard Ctrl. Hard disk Ctrl. CD/DVD Ctrl. USB ctrl. Network Ctrl. Graphics Card. BUS

Per P. MadsenStyresystemer og tjenester16 OPS’ opgave: Network ctrl. Håndtering af netwærk til andre computere. Dvs. Protokol. TCP/IP. IP-adresser. Retransmision. Handshaking CPUMem Keyboard Ctrl. Hard disk Ctrl. CD/DVD Ctrl. USB ctrl. Network Ctrl. Graphics Card. BUS

Per P. MadsenStyresystemer og tjenester17 OPS’ opgave: Grafikkort. Håndtering af grafikkort. Dvs. Colormap. Bitplaner. Deling af skærm. Vektorgrafik. CPUMem Keyboard Ctrl. Hard disk Ctrl. CD/DVD Ctrl. USB ctrl. Network Ctrl. Graphics Card. BUS

Per P. MadsenStyresystemer og tjenester18 OPS typer Mainframe operativsystemer Server operativsystemer Multiprocessor operativsystemer Multicomputer operativsystemer Personal computer operativsystemer Real-time operativsystemer Embedded operativsystemer Smart card operativsystemer

Per P. MadsenStyresystemer og tjenester19 Operativsystemtyper Mainframe operativsystemer –Multi task/multi User. –Megen I/O. –Fx: OS/390, UNIX. Server operativsystemer. –Multi task evt multi user. –Server orieneret dvs. Concurrent server. –Fx: Linux, UNIX og div Windows typer.

Per P. MadsenStyresystemer og tjenester20 Operativsystemtyper Multiprocessor operativsystemer –Flere CPU’er. –Ægte parallelitet Fældes Ramlager. –Fx: Solaris, OS/390. Multicomputer operativsystemer / Distribueret operativsystem. –Flere løst koblede CPU’er. –Ægteparallelitet. Netværksbaseret. –Fx. Amoeba

Per P. MadsenStyresystemer og tjenester21 Operativsystemtyper PC operativsystemer –Multi tasking, single user. –Grafik og lyd. –Fx: Windows, MacOS og Linux. Real-Time operativsystemer. –Multi tasking. –Deterministisk og prioiteret schedulering. –Hard realtime og soft realtime. –Fx. OS9, VxWorks og QNX

Per P. MadsenStyresystemer og tjenester22 Operativsystemtyper Embedded operativsystemer –Simple single user. –Kallender, Adr.kartotek, grafik, osv. –Fx: Android eller Windows mobile. Smart Card operativsystemer. –Lille lager relativ langsom CPU.. –Simple transaktioner.. –Fx. JavaVM

Modes of Operation Per P. MadsenStyresystemer og tjenester23 User Mode Brugerprogrammer Bestemte områder af memory er beskyttet Visse instruktioner må man ikke bruge Kernel Mode Ops. kode Privilegerede instruktioner må bruges Adgang til alt memory.

Per P. MadsenStyresystemer og tjenester24 OPS struktur. HW CPU DISK USB Ethernet Memory kernel Memory management FilsystemDevice driver Protokolstak OPS APP Supervisor mode User mode System kald Kald af OPS.-funktion. Fx fopen() Trap Aplikationsprogram

Per P. MadsenStyresystemer og tjenester25 Systemkald - Linux OPS APP ENTRY(sys_call_table).long SYMBOL_NAME(sys_ni_call).long SYMBOL_NAME(sys_exit).long SYMBOL_NAME(sys_fork)....long SYMBOL_NAME(sys_mitkald) #define __NR_exit 1 #define __NR_fork 2... #define __NR_mitkald 243 #include asmlinkage int sys_mitkald (int arg1, char* arg2) { // Kode } #include main() { mitkald(1, "hi"); } _syscall2(int, mitkald, int, arg1, char*, arg2);

Per P. MadsenStyresystemer og tjenester26 Systemkald - Linux OPS APP #include asmlinkage int sys_mitkald (int arg1, char* arg2) { // Kode } #include main() { mitkald(1, "hi"); } mitkald:.... Int $0x ISR: 80 System_call..... Call *SYMBOL_NAME(sys_call_table)(,%eax,4)

Per P. MadsenStyresystemer og tjenester27 Nyt systemkald i Linux Fremgangsmåde: 1.Tilføj entry i sys_tcall_table : /usr/src/linuxXXXX/arch/i386/kernel/entry.S 2.Define systemkald nr. i: /usr/src/linuxXXXX/include/asm-i386/unistd.h 3.Skriv kode til kaldet fx i: mitkald.h og mitkald.c. H-filen placeres typisk i: /usr/src/linuxXXXX/include/linux/ eller /usr/src/linuxXXXX/include/asm/ C-filen placeres typisk i: /usr/src/linuxXXXX/ipc/ eller /usr/src/linuxXXXX/fs/ Modificer Makefilen i det dir du placere din kode i. 5.Generer stubben vha macroen: _syscall2(int, myservice, int, arg1, char*, arg2); 6.Make ny kerne. Læs: /usr/src/linuxXXXX/README 7.Du kan nu anvende systemkaldet - den nye kerne er lavet.

Per P. MadsenStyresystemer og tjenester28 OPS struktur. Monolitisk kerne HW CPU DISK USB Ethernet Memory kernel Memory management FilsystemDevice driver Protokolstak OPS APP System kald Supervisor mode User mode Linux/UNIX

Per P. MadsenStyresystemer og tjenester29 OPS struktur. Micro kerne HWCPU DISKUSB EthernetMemory Ext. kernel Ext. Memory management Filsystem Device driver Protokolstak OPS APP Supervisor mode User mode Minimal kerne, mem.management og IPC Fx Mach, Amoeba

Per P. MadsenStyresystemer og tjenester30 Pro contra Monolitisk kerne. Ofte mere effektiv Micro kerne Memmere at portere. Nemmere at udvide. Velegnet til distribueret system. Mindre supervisor kode –> færre fejl.

Per P. MadsenStyresystemer og tjenester31 Loadable kernemoduler. Kerne modul: En samling funktioner og datatyper der kan loades ind i kernen dynamisk. Bliver eksekveret i supervisor mode. Kan ’’kun’’ anvende de af kernen exporteret funktioner og variable. Skal indeholde mindst to funktioner: Module_init(fooinit); Module_exit(fooexit);

Per P. MadsenStyresystemer og tjenester32 Loadable kernemoduler. #include static int godav_init(void) {.. } static void godav_exit(void) {.. } module_init(godav_init); module_exit(godav_exit); make mod1.ko insmod mod1.ko APP OPS rmmod mod1

Per P. MadsenStyresystemer og tjenester33 #include #include #include #include #include #include extern void *sys_call_table[]; asmlinkage int our_sys_open(const char *filename, int flags, int mode){ // Kode. } static int godav_init(void) { original_call = sys_call_table[__NR_open]; sys_call_table[__NR_open] = our_sys_open; return 0; } static void godav_exit(void) { sys_call_table[__NR_open] = original_call; }

Per P. MadsenStyresystemer og tjenester34 int godav_open(struct inode *inode, struct file *filp); int godav_release(struct inode *inode, struct file *filp); ssize_t godav_read(struct file *filp, char *buf, size_t count, loff_t *f_pos); ssize_t godav_write(struct file *filp, char *buf, size_t count, loff_t *f_pos); struct file_operations godav_fops = { read: godav_read, write: godav_write, open: godav_open, release: godav_release }; static int godav_init(void) { int res; printk(" go'dav verden.\n"); res = register_chrdev(godav_major, "godav", &godav_fops); return 0; } static void godav_exit(void) { unregister_chrdev(godav_major, "godav"); } /var/log/syslog