Adresserum Adresserum: Det interval af adresser, der kan arbejdes med i den samme proces (fra 0 til største adresse) Lippiatt++: adresser fylder 8 bit.

Slides:



Advertisements
Lignende præsentationer
Et projekt til undersøgelse af udviklingsmetodologi.
Advertisements

Telos Team Introduktion.
DPS Data ApS Få bedre datakvalitet, spar tid og penge - med Adresse*Kontrol Henrik Skalbo DPS Data ApS Blokhusvej 3, DK-2920 Charlottenlund Tlf:
R G B - tilstand Green Red Blue Additive colors.
Operativsystemer [6]: Virtuelt lager Datalogi 1F Forår 2003 Jørgen Sværke Hansen
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.
Grundlæggende IT Lektion 4 Sådan virker pc’en
Hvordan programmerer man?? STREAM - en model. Programmører arbejder ofte i teams Hver programmør arbejder på sin del af en større helhed.
»Tal til mig, Supermax!« - Joakim von And, ca. 1980
Evaluering som en del af elevernes lærings proces
Præsentation: Obligatorisk opgave 1
Et projekt til undersøgelse af udviklingsmetodologi.
Beskyt din computer og dine data!
Formularer (Access, del 3)
Beskrivelsesværktøjer
Computerens anatomi! Hvad skal du vide før du køber din egen?
Operativsystemer[4]: Arbejdslageret Datalogi 1F Forår 2003 Jørgen Sværke Hansen
Poster præsentation I modsætning til Power Point præsentationer er en poster et enkelt Billede, der skal fange med det samme. (Ligesom en annonce VS en.
Hvordan bruger jeg First Class konferencerne ?
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.
Et projekt til undersøgelse af udviklingsmetodologi.
Pc-kørekort Sådan virker pc’en Keld Hinsch.
Alle børn skal have mindst et fornavn og et efternavn … det skal computerens ”børn” også !! Computerens ”børn” kaldes alle for filer uanset hvilke programmer.
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.
Dag 9: Programpakker Jquery og JQuery Mobile
Gør det simpelt Trænings planlægning.
Værdistrøms-analyse (Vejledning)
Flerbrugermaskine Fælles maskine Root: webserver Peter: uploader filer Pia: programudvikling 1 langvarig proces, evt. med børneprocesser skiftende behov.
Oversættelse af Java-programmer JavaBytecode javac Normalt oversættes Java-programmer til bytecode, som fortolkes af en JVM (Java Virtual Machine). Java.
Første generation (maskiner/operativsystemer) 45-55: radiorør Kun maskinsprog programmering = skrivning af nullerog ettaller Intet operativsystem programmør.
DS-kursusgang nr. 4 IPC generelt IPC eksempel: beskedkøer IPC tidsforbrug: kontekstskift, skedulering C: abstraktion, funktionsbiblioteker.
IT – sikkerhed Fysisk sikkerhed Logisk sikkerhed
Rapporter (Access, del 5)
Problemer eller udfordringer.
OTA - et skoleprojekt ved E. Sjørlund, ES-DATA Projekt : News: news://news.the- coffeeshop.dk/coffeeshop.ota.
Backup/Storage Søren Helmer Jensen.
GP 10, 7/ Grundlæggende programmering Efterår 2001 Forelæsning 10 onsdag 7/ kl. 9:15 – 12:00.
FEN IntroJava AAU1 Opsamling: afvikling af Java-programmer Input fra keyboard og fil Fra en prompt Fra BlueJ Fra NetBeans.
18 – Java Server Faces. 2 NOEA2009Java-kursus – JSF 2 Web-applikationer - 1 Brugere interagerer med en Web-browser Browseren sender forespørgsler til.
Et projekt til undersøgelse af udviklingsmetodologi.
Begreber og Redskaber 2 BRP.
1 HMAK XMLRelationel model og XMLNOEA / PQC 2005 SQLServer og XML Hent data via URL Generering af xml –Raw –Auto –Explicit Hent data via template Evt.
Context- og flow-diagrammer (databaser, del 3)
Swapping og paging Flytning af processer (swapping) eller dele af processer (paging) mellem arbejdslager og fjernlager. Baggrund: På den ene side skal.
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Aarhus Universitet.
1 Sortering I elementære metoder. 2 Plan Terminologi Elementære metoder til sortering -sortering ved udvælgelse -sortering ved indsættelse -Shellsort.
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Aarhus Universitet.
Begreber og Redskaber 3 BRP.
GP 11, 14/ Grundlæggende programmering Efterår 2001 Forelæsning 11 onsdag 14/ kl. 9:15 – 12:00.
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.
OPGAVE 1 AF : MIA MARSCHALL Kommunikation / IT. XCF XCF er gimps eget format. Dette format gemmer både lag & gennemsigtighed. Ulempen ved xcf er, at den.
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.
Hvad består en distribueret applikation af ? Processer der kører på hver deres maskine Tråde - 1 eller flere "letvægtsprocesser" per proces Objekter i.
Intro Siden sidst: evaluering på opgaver og virtuel kursus.
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.
Grundlæggende programmering Forår 2002
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.
Multiple processer på web-site Web- server filer Kunde 1 Kunde 2 Kunde p1p2p internet.
Deadlock Definition deadlock (baglås) er en tilstand som en mængde af processer kan være i en mængde processer er i deadlock hvis alle processerne står.
Kommunikation Hvad er det og hvordan udvikler vi bedst muligt sproget sammen med vores børn? Hej jeg hedder Mette og er dagtilbuddets sprogvejleder, jeg.
PC’en & div. hardware … mange IT-fagudtryk !! v/Søren Noah:
Call Center, adm kursus, indledning Indledning (registrering af kursister & præsentation) 10 min. Hjælpeværktøjer 5 min. System overblik 30 min. Administrator.
Mission Digital kvalitetssikring med Fotodok. Mission Så nemt er det at bruge FotoDok For at anvende FotoDok på en ny byggesag skal følgende nemme trin.
CASE: Udvikling af system til optimering af kassebemanding
Embedded SW – C & picoBlaze
Tre lags arkitektur.
Præsentationens transcript:

Adresserum Adresserum: Det interval af adresser, der kan arbejdes med i den samme proces (fra 0 til største adresse) Lippiatt++: adresser fylder 8 bit adresserum: B Intel x86, x=4,5,.. Adresser fylder 32 bit adresserum: 0 - 4GB AdresserumAdresserum 4GB 32MB adresserum

Swapping og paging Flytning af processer (swapping) eller dele af processer (paging) mellem arbejdslager og fjernlager. Baggrund: På den ene side skal arbejdslager rumme alle processers procesbillede aht. hurtig overførsel af instruktioner og data til CPU. På den anden side har arbejdslageret ikke plads nok til alle processerne ! Faktisk er der ikke engang plads nok til en enkelt meget stor proces ! Ide / håb: Swapping: Processer der alligevel ikke kører kan flyttes.. Paging: Del af procesbillede, der alligevel ikke bruges, kan flyttes..

Paging Da paging også er nødvendig hvis 1 isoleret proces er for stor til RAM-lageret, antages for nemheds skyld at der kun er 1 proces Løsninger: eliminer problemet ved at begrænse adresserum (?) opdel processen i sider hvoraf nogle gemmes på HD Målsætninger for paging: transparent (usynligt for programmør) effektivt (minimer ind/ud-paging & anden administration) undgå katastrofer når en del af processen mangler

Lippiat++ (RAM str. = adr.rum) 512B RAM 1 ord = 2 byte 256 ord IR 0001=MOVE 0011=Reg nr =Adr

Lippiat++ (RAM str. < adr.rum) 256B RAM 1 ord = 2 byte 128 ord IR ??? MMU

Lippiat++ (RAM str. < adr.rum) Side 3 (inde) 512B proces inddeles i 4 sider, der alle gemmes på HD Side 2 (ude) Side 1 (inde) Side 0 (ude) 256B RAM inddeles i to siderammer Ramme 1 Ramme 0 Indholdet af virt. adr. 255 / ligger i fysisk adr. 127 / (0)

Side-tabel (page table) Indhold - for alle adresser i virtuelt adr.rum skal tabellen kunne vise: er adressen i RAM eller ej ? hvis ja, hvor i RAM ? Brug: Alle referencer til virtuell adr.rum går via sidetabel opslag skal være hurtigt tabellen skal være lille (kunne være i MMU)

Design af sidetabel Sidenr. Siderammenr. Status 1 0Inde 0 (irrelevant)Ude 3 1Inde 2 (irrelevant)Ude Ide til hurtigt opslag & transformation virt./fysisk adresse: de første bit i en virtuel adresse er ens for alle adr. på samme side

Opslag i sidetabel Sidenr. Siderammenr. Status (irrelevant) (irrelevant)0 MOVE Størrelse af sidetabel ? MOVE

Sidetabeller - andre spørgsmål Hvad sker der når en side mangler i RAM-en (når en virt.adr. tilhører en side der er "ude") ? Page fault Operativsystemet henter den manglende side, og gemmer den "udsmidte" side (om nødvendigt). Valg af sidestørrelse f.eks. 4K Store sidetabeller kan ikke være i CPU/MMU kan faktisk heller ikke være i RAM flerniveau-sidetabeller (f.eks. 3)

Paging-algoritmer Paging-algoritme = metode til at udvælge sider til "udsmidning" Kriterier: minimere antallet af page faults effektivitet Mulige forløb af programafvikling: Principper: approximer fremtidigt brug med hidtidig brug ikke "retfærdighed" mellem processer Evt. page fault afhænger af paging algoritme Sammenlign FIFO og LRU (Least Recently Used)

"Second change" paging algoritmen implementeret med circulær liste Ide: en blanding af FIFO og LRU Udsmidning af ældste side blandt sider der ikke brugt "for nylig" 1 R-bit 1 RAM med fire siderammer 0 0

Paging vs. swapping Paging vigtigere end swapping swapping af hel proces tager lang tid de fleste processer har dele som ikke bruges meget Ud-swappet proces = ingen alm. sider i RAM, heller ikke sidetabel Ud-swapning kan give bedre RAM-udnyttelse udswapning af processer der har været inaktive i lang tid

Hvordan identificere kunderne ? kunde Over- tjener filosof 1 beskedkø til alle indkommende beskeder 1 beskedkø per kunde til status m.m. Aftale mellem kunde/overtjener om hvad der er kundens ID Formål: Information sendes fra filosof til den rigtige kunde Overtjener kan trække numre fra talfølge Kunde kan selv generere unikt ID ((andre IPC-faciliteter order dette automatisk (sockets, kommer på senere kursus)))

Proces-id // kundeid.c #include struct besked { long int kunde_id; char txt[40]; }; main() { struct besked min_besked = {(long int)getpid(),"Hej, jeg vil gerne spise"}; printf("Beskedens kunde_id: %d \n",min_besked.kunde_id); printf("Beskedens txt: %s \n",min_besked.txt); }; Alle processer har forskelligt proces-id (0-32K). Proces-id genbruges - men først når processen er død. C-programmer kan læse egen proces-id med getpid().

Shellen Findes i forskellige udgaver /bin/sh /bin/bash /bin/csh Default grænseflade til maskinen/operativsystemet især til at starte processer Jf. passwordfil nielsj:xyzv¤#!&/(Ckjl:..:/home/nielsj:/bin/bash Tekstbaseret modsat grafisk grænseflade (lidt) mere besværlig at bruge (meget) større udtrykskraft

Shellscripts Et shellscript er en fil med kommandoer der kan forstås og udføres af shellen. Shellscripts kan begynde med #!/bin/sh for at fortælle operativsystemet, at sciptet skal fortolkes af det angivne program (shellen). (Næsten) samme effekt af følgende: Kommando /bin/sh Fil hvis Fil indeholder Kommando Fil hvis Fil indeholder #!/bin/sh samt Kommando

Shell-kommandoer til processtart Basal start af proces // starter programmet hvis lovligt kundeid // do inkl. parametre cc -o kundeid kundeid.c Samtidighed & // kør program i "baggrund" cc -o kundeid kunde.c & Overlejring exec // overlejring (sjældent god ide) exec kundeid

Kontrol af stdin/stdout ved processtart Omdirigering af output > // omdirigering af stdout til fil ls -l >data.txt Omdirigering af input sort <data.txt Pipes | // omdir. af stdout og stdin

Shellscripts som programmeringssprog Flere kommandoer kan sammensættes i sekvens ; // kommandoer adskilles af ";" cc -o kundeid kundeid.c ; kundeid // kommandoer kan også adskilles // vhja. linjeskift cc -o kundeid kundid.c exec kundeid Streng-variable = // tildeling, evt. oprettelse $ // variablens værdi min_pid=$$ // ($$ er procesid) echo "$min_pid"

Læsning af kommandolinjeparametre vja. $0, $1, etc #!/bin/bash # run.sh kildetekstfil=$1.c program=$1 echo "Oversætter kildeteksten i $kildetekstfil" cc -o $program $kildetekstfil echo "Oversættelse færdig" echo "Kører programmet $program" exec $program Betingede kommandoer if [ ]; then ; fi; #!/bin/bash if [ $# != 1 ] then echo "skriv: run.sh objektfilnavn" exit fi echo.. Shell-programmering: kommandolinjeparametre og betingelser

Shell-programmering: løkker & brug af stdout fra andre processer Løkker For in ; do ; done for navn in peter ole poul; do echo "Hej $navn"; done Brug af stdout fra andre processer $(program) For fil in $(ls); do..; done