OS Struktur Prosesser Kommandotolker Distribuert Filer Skript Mer?
|
|
- Solveig Arnhild Eggen
- 4 år siden
- Visninger:
Transkript
1 Uke 34 Uke 35 Uke 36 Uke 37 Uke 38 Uke 39 Uke 40 Uke 41 Uke 42 Uke 43 Uke 44 Uke 45 Uke 46 Uke 47 sikkerhet datanett programvare digitale kretser
2 Operativsystemer Hva gjør et operativsystem? Hvordan implementerer man det? Prosesser Brukergrensesnitt (Eksemplene vil være fra Unix/Linux, men prinsippene er de samme for andre operativsystemer.) [Englander kap 15+16]
3 OS Struktur Prosesser Kommandotolker Distribuert Filer Skript Mer? Hvorfor trenger vi et operativsystem? Hva gjør et operativsystem? Trenger vi et OS? Er det mulig å klare seg uten? Et eksempel: En Nord-12 i Lese inn et hullbånd med redigeringsprogrammet. Lese inn et hullbånd med programmet mitt. Redigere det. Skrive ut et hullbånd med det oppdaterte programmet. Lese inn et hullbånd med kompilatoren. Lese inn hullbåndet med programmet mitt. Kompilatoren skriver et hullbånd med ferdig maskinkode. Lese inn hullbåndet med koden og kjøre programmet.
4 Hvorfor trenger vi et operativsystem? Vi trenger altså et OS til å kommunisere med brukeren administrere kjøringen (dvs starte og stoppe programmer) administrere lagring av filer på en sikker og brukervennlig måte. Lærebokens definisjon er: An operating system is a collection of computer programs that integrate the hardware resources of the computer and make those resources available to a user and the user s programs, in a way that allows the user access to the computer in a productive, timely, and efficient manner.
5 Hovedoppbyggingen Oppbyggingen av et operativsystem Hvordan organisere et OS på en sikker og trygg måte? Ett hovedproblem er at det skjer mye samtidig i et OS. Kernel Den vanligste løsninger er å ha en kjerne som styrer alt. Den kjører i «supervisor mode». Mouse D D D Graphics card Network card Kjernen kommuniserer med periferenhetene med spesialskrevne kodebiter kalt drivere (D).
6 Brukerne kjører prosesser Prosesser P P P Brukerprogrammene er prosesser. De kjører i «protected mode» og må kommunisere med kjernen for Mouse Kernel D D D Network card kommunikasjon med periferenhetene kommunikasjon med andre prosesser Graphics card
7 Brukerne kjører prosesser Parallellisering Hvis datamaskinen har flere kjerner, kan prosessene kjøre på ulike kjerner og dermed gå fortere. Tråder Noen OSer tilbyr tråder (ofte kalt «lettvektsprosesser»). Flere tråder i en prosess kan kjøres parallelt, men de deler minne. Tidsdeling Når det er flere prosesser som skal kjøres på samme kjerne, vil OSet bytte på å kjøre dem (såkalt tidsdeling eller «timeslicing»).
8 Hvordan starter man det hele? Oppstart Hvordan starter man et OS når man mangler alle mekanismene man trenger for å kjøre programmer? Det skjer ved «bootstrapping» eller «booting». Gammelt ordtak: «To pull oneself up by one s bootstraps.» En vanlig måte å «boote» på er 1 Når prosessoren slås på, starter den en Bootstrap loader som ligger i BIOS («Basic Input/Output System»). BIOS ligger i ROM (= Read-only memory). 2 BIOS er spesiallaget for den enkelte datamaskinmodell. Det er en samling rutiner som kan lese fra disk eller nettverket. 3 Bootloaderen leser inn kjernen i selve OS-et og starter det.
9 Hvordan administrere prosesser Prosesser Alle system- og brukerprogrammer kjøres som prosesser. $ ps PID TTY TIME CMD pts/1 00:00:00 bash pts/1 00:00:18 emacs pts/1 00:00:00 preview pts/1 00:00:00 sh pts/1 00:00:04 xpdf pts/1 00:00:00 ps (Alle prosesser har et unikt nummer: PID.) Kommandoen $ ps -ef vil vise alle prosessene på maskinen; det vil være flere hundre. $ ps -ef wc
10 Hvordan administrere prosesser Å starte nye prosesser Et program kaller en funksjon i kjernen ved hjelp av såkalte systemkall. Dette er mulig i de fleste programmeringsspråk; i Python brukes biblioteket subprocess. Dette programmet oppretter en ny prosess som kjører programmet date; de to kjører i parallell. import subprocess print("starter date...") p = subprocess.popen(["date"]) print("og det var det."); Resultat: $ python3 run-date.py Starter date... Og det var det. Thu Oct 11 20:56:12 CEST 2018
11 Hvordan administrere prosesser Hvert kall på subprocess.popen starter en ny prosess. Prosessen forsvinner igjen når prosessens program avslutter (som date) eller vi dreper prosessen. Advarsel! Hvis man oppretter prosesser i en løkke som løper løpsk, vil man fylle maskinen med prosesser og alt vil gå i stå.
12 Hvordan administrere prosesser Parameteren 1 til Popen er en liste med programmet vi skal kjøre eventuelle parametre Følgende program starter en klokke som går inntil vi stopper den. import subprocess print("starter xclock...") p = subprocess.popen(["xclock", "-update", "1"]) print("da er den i gang."); 1 Popen kan ha flere parametre, men det tar ikke vi opp her.
13 Hvordan administrere prosesser Å drepe prosesser Funksjonen kill vil drepe en angitt process. Dette programmet venter 5 sekunder før det gjøres. import subprocess import time print("starter xclock...") p = subprocess.popen(["xclock", "-update", "1"]) print("da er klokken i gang."); for sek in range(5, 0, -1): print(sek) time.sleep(1) p.kill() print("nå er klokken borte.")
14 Hvordan starter en bruker nye prosesser på enklest måte? Kommandotolkeren Kommandotolkeren («shell-et») er én av prosessene; den vanligste i Linux heter bash («Bourne-again shell») men alle kan enkelt lage sin egen. Kommandotolkeren leser kommandonavn som brukeren skriver, og oppretter en prosess som utfører den. Normalt vil bash vente til prosessen er ferdig før den ber om ny kommando. Hvis kommandolinjen slutter med &, venter den ikke.
15 Hvordan starter en bruker nye prosesser på enklest måte? Eksempler $ date Thu Sep 12 15:29:09 CEST 2019 $ cal September 2019 Su Mo Tu We Th Fr Sa $ ping PING webserver.ifi.uio.no ( ) 56(84) bytes of data. 64 bytes from webserver.ifi.uio.no ( ): icmp_seq=1 ttl=63 time=0.453 ms 64 bytes from webserver.ifi.uio.no ( ): icmp_seq=2 ttl=63 time=0.328 ms 64 bytes from webserver.ifi.uio.no ( ): icmp_seq=3 ttl=63 time=0.332 ms 64 bytes from webserver.ifi.uio.no ( ): icmp_seq=4 ttl=63 time=0.278 ms ^C --- webserver.ifi.uio.no ping statistics packets transmitted, 4 received, 0% packet loss, time 2999ms rtt min/avg/max/mdev = 0.278/0.347/0.453/0.068 ms $ xeyes & [2] 29898
16 Hvordan stopper jeg prosesser i en kommandotolker? Hvordan stopper jeg prosesser? Det er flere muligheter: Ctrl + C stopper prosessen som akkurat nå kjøres av bash. Hvis prosessen har sitt eget vindu på skjermen, kan vi klikke på i rammen. Hvis vi vet prosessens nummer, kan vi ta livet av den: $ ps PID TTY TIME CMD pts/1 00:00:00 bash pts/1 00:00:37 emacs pts/1 00:00:00 xeyes pts/1 00:00:00 ps $ kill [2]+ Terminated xeyes
17 Hvordan stopper jeg prosesser i en kommandotolker? Min egen kommandotolker Som nevnt er det veldig enkelt å lage sin egen kommandotolker: import subprocess while True: linje = input("kommando: ") kommando = linje.split() if kommando[0] == "exit": break p = subprocess.popen(kommando) p.wait()
18 Det er mulig jobbe hjemmefra Fjerninnlogging Det er anledning til å åpne et kommandovindu på en annen maskin: $ ssh -CY brukernavn@login.ifi.uio.no bash ssh P bash sshd P Kernel Kernel D D D D D D Mouse Network card Mouse Network card Graphics card Graphics card
19 Tekstlige kommandoer er ikke alltid nok Vindussystemer Alle moderne OSer har et GUI (Graphical User Interface) for å ha mange vinduer på skjermen ha grafikk i vinduene (ikke bare tekst) få input fra mus (ikke bare tastatur)
20 Vindussystemet X Vindussystemet X er standard i Linux. bash xeyes Xserver Kernel D D D Mouse Network card Graphics card
21 Vindussystemet X Vindussystemet over nettet Vindussystemet X kan kommunisere over nettet. bash ssh Xserver sshd xeyes P Kernel Kernel D D D D D D Mouse Network card Mouse Network card Graphics card Graphics card
22 Lagring Filer En fil er en samling byte lagret i eller ved datamaskinen (på disk, SSD (Solid State Drive) el). OSer holder orden på filens navn hvilken fysiske enhet den er lagret på, og hvor i mappestrukturen filen ligger
23 Lagring
24 Lagring / bin dev ifi local chmod sh null tty midgard utgard bin man a02 dag Kurs Privat www docs
25 Informasjon om filer Informasjon om filer Kommandoen ls («list files») forteller oss om filene i den mappen vi er i: $ ls -l total 436 -rw-r--r--. 1 dag ifi-a Oct 10 14:04 hullband.jpg -rw-r--r--. 1 dag ifi-a 959 Oct 9 10:55 kernel.1 -rw-r--r--. 1 dag ifi-a 3857 Oct 9 10:55 kernel.2 -rw-r--r--. 1 dag ifi-a 6809 Oct 9 10:55 kernel.3 -rw-r--r--. 1 dag ifi-a 6859 Oct 9 10:55 kernel.4 -rw-r--r--. 1 dag ifi-a 6855 Oct 9 10:55 kernel.5 -rw-r--r--. 1 dag ifi-a 346 Oct 9 10:55 kernel.log -rw-r--r--. 1 dag ifi-a 2090 Oct 9 10:55 kernel.mp -rw-r--r--. 1 dag ifi-a 2087 Oct 9 10:54 kernel.mp~ -rw-r--r--. 1 dag ifi-a 4164 Oct 9 10:55 kernel.mpx -rw-r--r--. 1 dag dag Oct 10 14:04 papertape.jpg -rw-r--r--. 1 dag ifi-a 202 Oct 9 10:59 ps.lst -rw-r--r--. 1 dag ifi-a 6581 Oct 10 14:41 uke-41.aux -rw-r--r--. 1 dag ifi-a Oct 10 14:41 uke-41.log -rw-r--r--. 1 dag ifi-a 3653 Oct 10 14:41 uke-41.nav -rw-r--r--. 1 dag ifi-a 939 Oct 10 14:41 uke-41.out -rw-r--r--. 1 dag ifi-a Oct 10 14:41 uke-41.pdf -rw-r--r--. 1 dag ifi-a 0 Oct 10 14:41 uke-41.snm -rw-r--r--. 1 dag ifi-a 6728 Oct 10 14:41 uke-41.tex -rw-r--r--. 1 dag ifi-a 4635 Oct 9 16:11 uke-41.tex~ -rw-r--r--. 1 dag ifi-a 915 Oct 10 14:41 uke-41.toc -rw-r--r--. 1 dag ifi-a 619 Oct 10 14:41 uke-41.vrb
26 Informasjon om filer -rw-r--r--. 1 dag ifi-a Oct 10 14:04 hullband.jpg -rw-r--r--. er beskyttelsen 1 er antall linker dag er filens eier ifi-a er filens gruppe er filens størrelse i byte Oct 10 14:04 er dato og klokkeslett da filen ble laget hullband.jpg er navnet
27 Beskyttelse av filer Beskyttelse av filer For å forstå beskyttelsen av filer i Unix, må man vite at Unix opererer med tre kategorier brukere: user (forkortet «u») er filens eier, dvs den som opprettet den. group (forkortet «g») er gruppen tilordnet filen. (Mer om dette siden.) other (forkortet «o») er alle andre brukere.
28 Beskyttelse av filer Det finnes tre privilegier for filer: read (forkortet «r») er retten til å lese filen. write (forkortet «w») er retten til å skrive på filen, dvs endre den. execute (forkortet «x») er retten til å utføre den, dvs bruke den som et program.
29 Beskyttelse av filer Privilegiene angis i bolker på 3 3 bokstaver: u g o {}}{{}}{{}}{ rwx r x r En bokstav angir at man har privilegiet, en at man ikke har det.
30 Hvordan lage skript-filer Skript-filer Ved å sette x-bit-et kan man enkelt lage nye kommandoer: 1 Lag en tekstfil med de kommandoene vi ønsker utført. 2 Sett x-bit-et: $ chmod ugo+x filnavn 3 filnavn er nå et program og kan utføres med $./filnavn Dette gjør det svært enkelt å tilpasse systemet med egne kommandoer.
31 Et eksempel Et eksempel: Er nettet OK? Dette programmet nett-ok sjekker om nettet er OK ved å spørre Ifi: $ more nett-ok ping -c4 $ chmod uog+rx nett-ok $./nett-ok PING webserver.ifi.uio.no ( ) 56(84) bytes of data. 64 bytes from webserver.ifi.uio.no ( ): icmp_seq=1 ttl=63 time=0.411 ms 64 bytes from webserver.ifi.uio.no ( ): icmp_seq=2 ttl=63 time=0.534 ms 64 bytes from webserver.ifi.uio.no ( ): icmp_seq=3 ttl=63 time=0.539 ms 64 bytes from webserver.ifi.uio.no ( ): icmp_seq=4 ttl=63 time=1.56 ms --- webserver.ifi.uio.no ping statistics packets transmitted, 4 received, 0% packet loss, time 3001ms rtt min/avg/max/mdev = 0.411/0.761/1.563/0.466 ms
32 Et eksempel Egne programmer kan kjøres fra den mappen de ligger i: $./nett-ok De også kjøres fra andre mapper om man angir hele filnavnet: $ ~/Kurs/in1020/nett-ok På Ifis Linux-maskiner har alle sin egen mappe for slike programmer: ~/bin. Programmer der kan kjøres allestedsfra: $ nett-ok
33 Parametre til skript Parametre En kommando kan ha parametre, for eksempel $ ping -c4 }{{} parameter nr 1 }{{} parameter nr 2 Disse kan vi få tak i i skriptet vårt som "$1" "$2"... "$@" gir oss alle parametrene.
34 Parametre til skript Et eksempel: Når er julaften? $ ls -l ~/bin/jul -rwxr-xr-x. 1 dag dag 12 Oct 11 14:43 /ifi/bifrost/a01/dag/bin/jul $ more ~/bin/jul cal 12 "$1" $ jul 2017 December 2017 Su Mo Tu We Th Fr Sa
35 Fra mine egne gjemmer Fra min egen ~/bin Vis alle filene #! /bin/sh ~/bin/d ls -CF more Vis alle mappene #! /bin/sh ~/bin/vvd ls -lcfg $* grep ^d more
36 Hvor kan jeg finner mer informasjon? Literatur Operativsystemer Andrew S. Tanenbaum: Operating Systems: Design and Implementation, Prentice Hall 2006 Bash Chet Ramey & Brian Fox: Bash Reference Manual, Vindussystemet X Wikibooks Guide to X11.
Datamaskinene ved Ifi (inkludert en kort intro til Unix/Linux)
Velkommen Datamaskinene ved Ifi (inkludert en kort intro til Unix/Linux) Institutt for informatikk dag@ifi.uio.no Operativsystemer Operativsystemer Alle datamaskiner (unntatt de helt knøttsmå) har et operativsystem
DetaljerHvordan jobber vi ved Ifi (inkludert en kort intro til Unix/Linux)
Velkommen Hvordan jobber vi ved Ifi (inkludert en kort intro til Unix/Linux) Institutt for informatikk dag@ifi.uio.no Operativsystemer Operativsystemer Alle datamaskiner (unntatt de helt knøttsmå) har
DetaljerUnix/Linux for litt viderekomne
Hundrevis av programmer Hvilke program finnes? Unix/Linux for litt viderekomne Institutt for informatikk For å finne alle programmene, snekret jeg dette lille programmet: #! /usr/bin/perl foreach $dir
DetaljerUnix/Linux for litt viderekomne
Unix/Linux for litt viderekomne Institutt for informatikk Hundrevis av programmer Hvilke program finnes? For å finne alle programmene, snekret jeg dette lille programmet: #! /usr/bin/perl foreach $dir
DetaljerNyttige Linux-kommandoer. Hvordan du kan jobbe mer effektivt Dag Langmyhr
Nyttige Linux-kommandoer Hvordan du kan jobbe mer effektivt Dag Langmyhr Trenger vi kommandovinduer i dag? Svaret er nei for de fleste brukerne, men ikke for ekspertene. Ofte går det fortere å bruke kommandoer
DetaljerUnix/Linux en annen måte å gjøre ting på
Velkommen Unix/Linux en annen måte å gjøre ting på Institutt for informatikk Operativsystemer Operativsystemer Alle datamaskiner (unntatt de helt knøttsmå) har et operativsystem som administrerer datamaskinen
DetaljerGenerelt om operativsystemer
Generelt om operativsystemer Operativsystemet: Hva og hvorfor Styring av prosessorer (CPU), elektronikk, nettverk og andre ressurser i en datamaskin er komplisert, detaljert og vanskelig. Maskinvare og
Detaljeroppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO
oppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO oppgave 1 Hvorfor har vi operativsystemer? Portable programmer Enklere å programmere
DetaljerOversikt. Beskrivelse Bash. 1 UNIX shell. 2 Kommandolinje som brukergrensesnitt. 3 Input og output. 4 Bash builtins. 5 Linux utilities.
Oversikt UNIX shell 1 UNIX shell Beskrivelse Bash 2 Kommandolinje som brukergrensesnitt 3 Input og output 4 Bash builtins 5 Linux utilities Lars Vidar Magnusson () Forelesning i Operativsystemer 30.08.2011
DetaljerFiler og kataloger, prosesser og jobber
Introduksjon til dataanlegget Filer og kataloger, prosesser og jobber Marc Bezem Institutt for informatikk Universitetet i Bergen August 2005 1 Filer En l er en samling data som ligger lagret på maskinen
DetaljerHØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Eksamensdato: 20. mai 2003 Varighet: 0900-1200 Fagnummer: LO247D Fagnavn: Praktisk Linux Klasse(r): FU Studiepoeng: 6 Faglærer(e): Geir Maribu,
DetaljerOperativsystemer og nettverk
Løsningsforslag til eksamen i Operativsystemer og nettverk 04.06.2015 Oppgave 1: Generelt om Linux a) Det grunnleggende brukergrensesnittet i Linux er et tastaturbasert CUI (Commandline User Interface),
DetaljerFilsikkerhet i Linux
Filsikkerhet i Linux Filer og brukere Standard Linux tilbyr filsikkerhet på brukernivå Alle brukere tilhører en eller flere grupper av brukere, med ett eller flere gruppemedlemmer Alle filer har tilhørighet
DetaljerOperativsystemer og grensesnitt
Operativsystemer og grensesnitt Ulike måter å bruke OS'et på Application Program Interface (API) Applikasjoner (ofte C-programmer) som f.eks. emacs, som bruker tjenestene i OS ved å kalle på funksjoner
DetaljerUnix/Linux en annen måte å gjøre ting på
Velkommen Unix/Linux en annen måte å gjøre ting på Institutt for informatikk Operativsystemer Operativsystemer Alle datamaskiner (unntatt de helt knøttsmå) har et operativsystem som administrerer datamaskinen
DetaljerEksamensinformasjon. Linux kommandolinje. Linux kommandolinje. Eksamensinformasjon. Fakultet: Teknologi, kunst og design. Tid: 3 t.
Eksamensinformasjon Eksamensinformasjon Fakultet: Teknologi, kunst og design Utdanning: Teknologiske fag Emnenavn: Operativsystemer Emnekode: DATS/ITPE2500 (Kont) Dato: 4.august-2017 Tid: 3 t. Tillatte
DetaljerDagens program. Operativsystemer Prosesser og systemkall i UNIX Hente prosessens nummer Starte prosesser Vente på prosesser Utføre programmer
Dagens program Operativsystemer Prosesser og systemkall i UNIX Hente prosessens nummer Starte prosesser Vente på prosesser Utføre programmer Nyttige forklaringer Sikker opprettelse av nye prosesser Hva
DetaljerSikkerhet: Virus Sikkerhet i operativsystemet Maskinstøtte for sikkerhet Trojanske hester Ormer. IN 147 Program og maskinvare.
Sikkerhet: Virus Sikkerhet i operativsystemet Maskinstøtte for sikkerhet Trojanske hester Ormer Ark 1 av 14 Sikkerhet og virus Virus Virus er programmer som «infiserer» andre programmer slik at de endrer
DetaljerUnix/Linux en annen måte å gjøre ting på
Velkommen Operativsystemer Operativsystemer Unix/Linux en annen måte å gjøre ting på Institutt for informatikk Alle datamaskiner (unntatt de helt knøttsmå) har et operativsystem som administrerer datamaskinen
Detaljeroppgavesett 4 INF1060 H16 Hans Petter Taugbøl Kragset Øystein Dale Christian Resell 27. september 2016 Institutt for informatikk, UiO
oppgavesett 4 INF1060 H16 Hans Petter Taugbøl Kragset Øystein Dale Christian Resell 27. september 2016 Institutt for informatikk, UiO oppgave 1 Hvorfor har vi operativsystemer? 1 oppgave 1 Hvorfor har
DetaljerGenerelt om operativsystemer
Generelt om operativsystemer Hva er problemet? Styring av maskinvare og ressurser tilknyttet en datamaskin er komplisert, detaljert og vanskelig Maskinvare, komponenter og programvare endres og forbedres
DetaljerLæringsmål og pensum. https://www.youtube.com/watch? v=nkiu9yen5nc
1 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python Professor Alf Inge Wang 2 https://www.youtube.com/watch? v=nkiu9yen5nc 3 Læringsmål og pensum Mål Lære om
DetaljerFunksjonalitet og oppbygning av et OS (og litt mer om Linux)
Funksjonalitet og oppbygning av et OS (og litt mer om Linux) Hovedfunksjoner i et OS OS skal sørge for: Styring av maskinvaren Deling av maskinens ressurser Abstraksjon vekk fra detaljer om maskinvaren
DetaljerIN 147 Program og maskinvare
Dagens tema Operativsystemer Hva er et operativsystem? En meget kort oversikt over operativsystemenes historie Systemkall i UNIX Hente prosessens nummer Starte prosesser Vente på prosesser Utføre programmer
DetaljerTDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python. Professor Alf Inge Wang
2 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python Professor Alf Inge Wang 3 https://www.youtube.com/watch? v=nkiu9yen5nc 4 Læringsmål og pensum Mål Lære om
DetaljerProsesstabeller (PCB - Prosess Control Block) Se på PD: kommandoene ps og top Bakgrunnsprosesser Opprettelse av prosesser:
Prosesser i Prosesstabeller (PCB - Prosess Control Block) Se på PD: kommandoene ps og top Bakgrunns Opprettelse av : fork og exec pid og ppid Foreldre, barn og barnebarn Utførelse av kommando i Eksempler
DetaljerSingletasking OS. Device minne Skjerm minne. Brukerprogram. Brukerdata/heap. Stack. Basis for flerprosess-systemer.
-OS i i L1 og L2 og og Basis for flerprosess-systemer. Adresser.. 2 1 0 OS Device minne Skjerm minne Brukerprogram Brukerdata/heap Stack Stack: brukes bl. a. til å lagre adressen som skal returneres til
DetaljerHØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Eksamensdato: 16. desember 2004 Varighet: 3 timer Fagnummer: LO247D Fagnavn: Praktisk Linux Klasse(r): Studiepoeng: 6 Faglærer(e): Geir Maribu,
DetaljerIT1101 Informatikk basisfag, dobbeltime 18/9. Kommunikasjon med perifere enheter. Kontrollere. Kontrollere (2) I/O-instruksjoner
IT1101 Informatikk basisfag, dobbeltime 18/9 I dag: Kommunikasjon med perifere enheter (på maskinspråknivå) Kommunikasjonsrater Kommunikasjonsfeil Feildetektering Feilkorrigering (Hammingdistanse) Operativsystemer
DetaljerOppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering
Uke 34 Uke 35 Uke 36 Uke 37 Uke 38 Uke 39 Uke 40 Uke 41 Uke 42 Uke 43 Uke 44 Uke 45 Uke 46 Uke 47 sikkerhet datanett programvare digitale kretser Prosessoren II Kort oppsummering Løkker og tester Mer om
DetaljerFra Python til Java, del 2
Fra Python til Java, del 2 Hvordan kjøre Java? På Ifis maskiner På egen maskin Et eksempel Array-er For-setninger Lesing og skriving Metoder Biblioteket Hva trenger vi egentlig? Å kjøre Java For å kunne
DetaljerEKSAMEN. Operativsystemer. 1. Læreboken "A Practical Guide to Red Hat Linux" av Mark Sobell 2. Maks. tre A-4 ark med selvskrevne notater.
EKSAMEN Emnekode: ITF22506 Emne: Operativsystemer Dato: 12. desember 2007 Eksamenstid: kl. 9.00 til kl. 13.00 Hjelpemidler: 1. Læreboken "A Practical Guide to Red Hat Linux" av Mark Sobell 2. Maks. tre
DetaljerDagens tema. Nyttige programmer Programmet make. Hvis én fil endres, hvilke filer må da kompileres på nytt?
Dagens tema Nyttige programmer Programmet make Flyt-tall Representasjon av flyt-tall Standarden IEEE 754 Systemkall i Unix Programmet make Det er mange praktiske problemer forbundet med programmering av
DetaljerOppgave 1 - Linux kommandolinje (%)
Løsningsforslag Eksamen høst 2017 Operativsystemer Oppgave 1 - Linux kommandolinje (%) a) pwd b) ps Oppgave 2 - Bash-scripting (%) a) ping -i 5 www.hin.no b) ping -c 1 www.hin.no ping -c 1 -t 1 www.hin.no
Detaljer$ls -l $grep -i Olsen adresseliste.txt less #!/bin/sh $echo `ls` $chmod 755. Praktisk Linux. Grunnleggende skall kommandoer. Irene Ludvigsen Husa
$ls -l $grep -i Olsen adresseliste.txt less #!/bin/sh $echo `ls` $chmod 755 Praktisk Linux Grunnleggende skall kommandoer Irene Ludvigsen Husa Hva er UNIX / Linux? Unix - En gruppe operativsystem som er
DetaljerLynkurs i shellprogrammering under Linux
Lynkurs i shellprogrammering under Linux Interaktiv bruk av shell Shell/skall er en applikasjon som lar bruker taste inn tekstlige kommandoer til Linux en og en linje om gangen (leser linjer fra stdin).
DetaljerHøgskolen i Telemark Fakultet for allmennvitenskapelige fag
Høgskolen i Telemark Fakultet for allmennvitenskapelige fag EKSAMEN 6100 Innføring i Linux 12.12.2014 Tid: 4 timer, 10 14 Målform: Bokmål/nynorsk Sidetal: 9 (forside + 4 + 4) Hjelpemiddel: Merknader: Vedlegg:
DetaljerDefinisjon av prosess
Prosesser og tråder Definisjon av prosess Enkel definisjon: En prosess er et program som kjører på datamaskinen Mer presis definisjon: En prosess er en samling av ressurser som er nødvendige for å utføre
DetaljerLæringsmål og pensum. Oversikt. Systemprogramvare Operativsystemer Drivere og hjelpeprogrammer. To hovedtyper programvare
1 2 Læringsmål og pensum TDT4105 Informasjonsteknologi grunnkurs: Uke 36 programvare Førsteamanuensis Alf Inge Wang Læringsmål Forstå hva systemprogramvare og applikasjonsprogramvare er Forstå hvordan
Detaljer1 Diverse linuxtips. Innhold
1 Diverse linuxtips Innhold 1 Diverse linuxtips 1 1.1 Virtuelle konsoller............................ 2 1.2 Teksteditorer............................... 2 1.3 Filsystemet................................
DetaljerHendelser Apprentice ComputerCraft PDF
Helser Apprentice ComputerCraft PDF Introduksjon I denne leksjonen skal vi se nærmere på hvordan datamaskinene bruker såkalte helser for å reagere på ting som tastetrykk, museklikk og så videre. Etterhvert
DetaljerEmnenavn: Datakommunikasjon. Eksamenstid: 9:00 til 13:00. Faglærere: Erling Strand
EKSAMEN Emnekode: ITF20218 Dato: 30. november 2018 Hjelpemidler: Emnenavn: Datakommunikasjon Eksamenstid: 9:00 til 13:00 Faglærere: 4 sider (A4) (2 ark) med egne notater. Kalkulator. Gruppebesvarelse,
DetaljerTDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python
TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python Professor Guttorm Sindre Institutt for datateknikk og informasjonsvitenskap Læringsmål og pensum Mål Vite hva et
DetaljerNSA mandag 4. oktober 2010. Brukerbehandling Systempolitikk Kontroll av resurser Om system logger Litt om cron og cfengine
NSA mandag 4. oktober 2010 Brukerbehandling Systempolitikk Kontroll av resurser Om system logger Litt om cron og cfengine Brukerbehandling har mange komponenter: De rent tekniske sidene ved å legge til
DetaljerDagens tema. Nyttige programmer Programmet make. Flyt-tall Representasjon av flyt-tall. Standarden IEEE 754. Systemkall i Unix
Dagens tema Nyttige programmer Programmet make Flyt-tall Representasjon av flyt-tall Standarden IEEE 754 Systemkall i Unix Ark 1 av 24 Programmet make Det er mange praktiske problemer forbundet med programmering
DetaljerEKSAMEN. Operativsystemer og nettverk
T EKSAMEN Emnekode: ITF22514 Dato: 1. desember 2014 Emne: Operativsystemer og nettverk Eksamenstid: kl 09.00 til kl 13.00 Hjelpemidler: Alle trykte og skrevne. Faglærer: Jan Høiberg Eksamensoppgaven: Oppgavesettet
DetaljerBrukerveiledning for programmet HHR Animalia
Brukerveiledning for programmet HHR Animalia Versjon 1.0 Rakkestad, 26.03.2014 Innholdsfortegnelse 1. Introduksjon... 3 2. Installasjon og oppgradering... 3 2.1 Nedlasting... 3 2.2 Oppdatering av operativsystem
Detaljer1. Introduksjon til operativsystemer
1. Introduksjon til operativsystemer mets plassering: Lagdeling: applikasjon, system, maskinvare Basisfunksjoner: Abstraksjon, deling, isolering Prosesser og ressurser Kjøring: sekvensiell, multitasking
DetaljerPrøve- EKSAMEN. Operativsystemer med Linux
T Prøve- EKSAMEN Emnekode: ITF22515 Dato: November 2015 Hjelpemidler: Alle trykte og skrevne. Emne: Operativsystemer med Linux Eksamenstid: Oppgavesettet er beregnet for en 4 timers eksamen Faglærere:
DetaljerLøsningsforslag til eksamen 24. november 2015
Operativsystemer med Linux Løsningsforslag til eksamen 24. november 2015 Oppgave 1 a) Et OS deler tiden inn i små deler, typisk et hundredels sekund, og fordeler slike korte timeslices til alle prossene
DetaljerFiler i Linux og Bourne-again shell
Filer i Linux og Bourne-again shell Filbegrepet En fil * er en grunnleggende lagringsenhet i et OS Brukes for alle data som: Lagres utenfor RAM (primærminnet) På permanente media (sekundærminne) Definisjoner
DetaljerKurset består av to relativt uavhengige deler. Foreleser: Hårek Haugerud, rom PS431
gruppe Hva er? Operativsystemer Kurset består av to relativt uavhengige deler 1 /kommandolinje, Forelesning mandag 2 Operativsystmer(OS), Forelesning torsdag Foreleser: Hårek Haugerud, haugerud@hioa.no,
DetaljerBrukerprogram OS hardware
? Hva er et Et OS er et software-grensesnitt mellom brukeren og en datamaskins hardware. Brukerprogram OS hardware ?? Kildekoden til OS som eller er ca fem millioner linjer kode tilsvarer omtrent 100 Tanenbaum-bøker
DetaljerHangman. Level. Introduksjon
Level 2 Hangman All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Introduksjon
Detaljer1 Diverse linuxtips. Innhold. 1.1 Klipp og lim med musen
1 Diverse linuxtips Innhold 1 Diverse linuxtips 1 1.1 Klipp og lim med musen......................... 1 1.2 Virtuelle konsoller............................ 2 1.3 Teksteditorer...............................
DetaljerHangman. Steg 1: Velg et ord. Steg 2: Gjett en bokstav. Sjekkliste. Sjekkliste. Introduksjon
Hangman Erfaren Python Introduksjon La oss lage et spill: Hangman! Datamaskinen vil velge et ord og du kan gjette det bokstav for bokstav. Dersom du gjetter feil for mange ganger taper du. Steg 1: Velg
DetaljerEksamensinformasjon. Prosesser. Prosesser. Eksamensoppgave. Operativsystemer (DATS/ITPE2500) Bokmål 06. juni 2017 kl
Eksamensinformasjon Eksamensoppgave Operativsystemer (DATS/ITPE2500) Bokmål 06. juni 2017 kl. 9.00-12.00 Hjelpemidler: Ingen hjelpemidler er tillatt. Andre opplysninger: Les nøye gjennom oppgavene før
DetaljerITPE/DATS 2400: Datamaskinarkitektur og Nettverk
ITPE/DATS 2400: Datamaskinarkitektur og Nettverk Forelesning Knut Nygaard / T. M. Jonassen Institute of Computer Science Faculty of Technology, Art and Design Oslo and Akershus University College of Applied
DetaljerTDT4105 Informasjonsteknologi, grunnkurs (ITGK)
1 TDT4105 Informasjonsteknologi, grunnkurs (ITGK) Introduksjon til programmering i Matlab Rune Sætre satre@idi.ntnu.no 2 Læringsmål og pensum Mål Lære om programmering og hva et program er Lære å designe
DetaljerNy EKSAMEN. Operativsystemer og nettverk
Ny EKSAMEN Emnekode: ITF22514 Dato: 4. juni 2015 Emne: Operativsystemer og nettverk Eksamenstid: kl 09.00 til kl 13.00 Hjelpemidler: Alle trykte og skrevne. Faglærere: Jan Høiberg og Tore Petter Engen
DetaljerTDT4105 Informasjonsteknologi, grunnkurs (ITGK)
1 TDT4105 Informasjonsteknologi, grunnkurs (ITGK) Introduksjon til programmering i Matlab Rune Sætre satre@idi.ntnu.no 3 Læringsmål og pensum Mål Lære om programmering og hva et program er Lære om hvordan
DetaljerLars Vidar Magnusson. October 11, Lars Vidar Magnusson () Forelesning i Operativsystemer October 11, / 28
Tråder Lars Vidar Magnusson October 11, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 09.09.2011 October 11, 2011 1 / 28 Oversikt Tråder 1 Tråder Introduksjon Multithreading Prosesser og
DetaljerBetinget eksekvering og logiske tester i shell
Betinget eksekvering og logiske tester i shell Betinget eksekvering *? Programmet utfører operasjon(er) bare hvis en logisk betingelse er sann Bash tilbyr to kontrollstrukturer for å kunne gjøre betinget
DetaljerFjerninnlogging over Internett
Kapittel 9 Fjerninnlogging over Internett 9.1 Innledning I noen tilfeller har du behov for å kunne foreta innlogging på en Unix-basert fjern-datamaskin for å kunne utføre (operativsystem)kommandoer der,
DetaljerHØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Eksamensdato: 26. mai 2004 Varighet: 0900-200 Fagnummer: LO249D Fagnavn: Operativsystemer med Linux Klasse(r): ing, hk, fu Studiepoeng: 6
DetaljerTildeling av minne til prosesser
Tildeling av minne til prosesser Tildeling av minne til prosesser OS må hele tiden holde rede på hvilke deler av RAM som er ledig/opptatt Når (asynkrone) prosesser/run-time system krever tildeling av en
DetaljerOppgaver til forkurs i informatikk dag 1
FAGUTVALGET VED INFORMATIKK Oppgaver til forkurs i informatikk dag 1 Forkurset i informatikk er beregnet på alle studenter som skal følge kurs som går ved Institutt for informatikk (Ifi). Kurset er åpent
DetaljerOppgaver til forkurs i informatikk dag 2
FAGUTVALGET VED INFORMATIKK Oppgaver til forkurs i informatikk dag 2 Emacs Gå inn i «forkurs» katalogen fra i går. Hvis du ikke har denne katalogen må du opprette den nå med mkdir. Åpne så Emacs med kommandoen
DetaljerBli Kjent med Datamaskinen Introduksjon ComputerCraft PDF
Bli Kjent med Datamaskinen Introduksjon ComputerCraft PDF Introduksjon Vi begynner med å bygge en enkel datamaskin. Etter å ha brukt litt tid på å bli kjent med hvordan datamaskinen virker, bruker vi den
DetaljerKjenn din PC (Windows 7)
Kjenn din PC (Windows 7) Datamskinen jeg bruker er en HP pavilion dv3-2080eo. Espen Rosenberg Hansen 1. Prosessor: Intel P7450. Dette er en prosessor med to kjerner og har en klokkehastighet på 2,13 GHz
DetaljerHøgskoleni Østfold. Ny/utsatt EKSAMEN
Høgskoleni Østfold Ny/utsatt EKSAMEN Emnekode: ITF22514 Emne: Operativsystemer og nettverk Dato: 8. januar 2016 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Faglærere: Jan Høiberg, Tore
DetaljerFørst må vi få datamaskinen til å velge et tilfeldig ord, så la oss begynne. Lagre programmet ditt og kjør det. Hvilket ord skrives ut?
Hangman Skrevet av: Oversatt fra Code Club UK (//codeclub.org.uk) Oversatt av: Geir Arne Hjelle Kurs: Python Tema: Tekstbasert, Spill Fag: Programmering Klassetrinn: 5.-7. klasse, 8.-10. klasse Introduksjon
Detaljer4. KOMMANDOER OG FORKORTELSER 6. UTLOGGING (07) STYRESPRAK GENERELT. Paul Gundersen. Styrespråk. --Innlogging Kommandoer NORD SINTRAN
INFORMASJON FRA RUN IT REGNESENTRET VED UNIVERSITETET I TRONDHEIM Postadr.: Elgeseter qt. 10 7034 Trondheim - NTH Telex: 55 620 sintf n Telegram: COMPUTING NTH Tlf.: (07) 593100 (07)593028 Tittel STYRESPRAK
DetaljerFor å sjekke at Python virker som det skal begynner vi med å lage et kjempeenkelt program. Vi vil bare skrive en enkel hilsen på skjermen.
Kuprat Skrevet av: Geir Arne Hjelle Kurs: Python Tema: Tekstbasert Fag: Norsk Klassetrinn: 5.-7. klasse, 8.-10. klasse Introduksjon I dette kurset skal vi introdusere programmeringsspråket Python. Dette
DetaljerFiler i Linux og Bourne-again shell
Filer i Linux og Bourne-again shell Filbegrepet En fil * er en grunnleggende lagringsenhet i et OS Brukes for alle data som: Lagres utenfor RAM (primærminnet) På permanente media (sekundærminne) To hovedklasser
Detaljer1,r H øgs kolen i Østfol d
1,r H øgs kolen i Østfol d EKSAMEN Emnekode: ITF22506 Emne: Operativsystemer Dato: 2. juni 2010 Eksamenstid: kl. 9.00 til kl. 13.00 Hjelpemidler: Faglærer: 1. Læreboken "A Practical Guide to Red Hat Linux"
DetaljerHvordan en prosessor arbeider, del 1
Hvordan en prosessor arbeider, del 1 Læringsmål Kompilator, interpret og maskinkode CPU, registre Enkle instruksjoner: de fire regnearter Mer informasjon om temaet Internett Lokalnett (LAN) Mitt program
Detaljer! Ytelsen til I/O- systemer avhenger av flere faktorer: ! De to viktigste parametrene for ytelse til I/O er:
Dagens temaer! Ulike kategorier input/output! Programmert! Avbruddstyrt! med polling.! Direct Memory Access (DMA)! Asynkrone vs synkrone busser! Med! Fordi! -enheter menes de enheter og mekanismer som
DetaljerIntroduksjon til dataanlegget ved Institutt for informatikk. Marc Bezem Institutt for informatikk Universitetet i Bergen
Introduksjon til dataanlegget ved Institutt for informatikk Marc Bezem Institutt for informatikk Universitetet i Bergen August 2005 1 Introduksjonskurset Målgrupper: Alle studenter som skal ta INF100 Andre
DetaljerOversikt. Historie Struktur Moderne UNIX systemer Moderne UNIX kernel struktur 1 UNIX. 2 Linux. 3 Process. 4 Process models
Oversikt UNIX 1 UNIX Historie Struktur Moderne UNIX systemer Moderne UNIX kernel struktur 2 Linux 3 Process 4 Process models 5 Hvordan kjøre operativsystemet 6 Prosesshåndtering i UNIX SVR4 Lars Vidar
DetaljerBits&Bytes Om datamaskinens oppbygging og virkemåte. TOS - IKT Tirsdag 4. desember 2012 Seksjon for digital kompetanse
Bits&Bytes Om datamaskinens oppbygging og virkemåte TOS - IKT Tirsdag 4. desember 2012 Seksjon for digital kompetanse Mål Ha kjennskap til sentrale tekniske begreper Sammenligne ulike datamaskiner kunnskap
DetaljerFilterprogrammer og redirigering av I/O
Filterprogrammer og redirigering av I/O Linux filterprogrammer Mange kommandoer i Linux er tekstbaserte filtre Leser en strøm av tekst / tegn, linje for linje Gjør noe med ( filtrerer ) tekstlinjene Skriver
DetaljerLinux-programmer som bruker regulæruttrykk: grep, sed, awk
Linux-programmer som bruker regulæruttrykk: grep, sed, awk grep * søking i tekstlige data grep [OPTIONS] REGEX [FILE...] Verktøy som finnes i alle Unix-lignende OS Leser en eller flere tekstfiler, eller
DetaljerProsessoren. Bakgrunnen Innhold LMC. Assemblerkode Oppsummering instruksjonene [Englander kap 6] Hva inneholder den? Hvordan utføres instruksjonene?
Prosessoren Bakgrunnen Innhold LMC Hva inneholder den? Hvordan utføres instruksjonene? Assemblerkode Oppsummering instruksjonene [Englander kap 6] Lagdelingen av en datamaskin Internett Lokalnett (LAN)
DetaljerP1 P2 P3 P1 P2 P3 P1 P2. OS gjør Contex Switch fra P1 til P2
i, intensive i og Når OS switcher fra prosess P1 til prosess P2 utføres en såkalt Contex (kontekst svitsj). 10 30 50 70 P1 P2 P3 P1 P2 P3 P1 P2 OS gjør Contex fra P1 til P2 tid/ms bruk Figure: Prosessene
DetaljerFilterprogrammer og redirigering av I/O
Filterprogrammer og redirigering av I/O Linux filterprogrammer Mange kommandoer i Linux er tekstbaserte filtre Leser en strøm av tekst / tegn, linje for linje Gjør noe med ( filtrerer ) tekstlinjene Skriver
DetaljerIntroduksjon til versjonskontroll av Ola Lie
Introduksjon til versjonskontroll av Ola Lie Installere Subversion Subversion (også kalt SVN) er et versjonskontrollsystem som hjelper oss å holde orden på de forskjellige versjonene når vi utvikler programmer.
DetaljerMål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak (exceptions) Utgave 3: Kap. 6. Terje Rydland - IDI/NTNU
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak (exceptions) Utgave 3: Kap. 6 Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære bruk av inn- og ut-operasjoner
DetaljerEKSAMEN. Dato: 7. desember 2016 Eksamenstid: 09:00 13:00
EKSAMEN Emnekode: ITF22515 Emne: Operativsystemer med Linux Dato: 7. desember 2016 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Faglærere: Jan Høiberg, Tore Petter Engen Om eksamensoppgavene:
DetaljerHøgskolen i Telemark Fakultet for allmennvitenskapelige fag
Høgskolen i Telemark Fakultet for allmennvitenskapelige fag EKSAMEN 6100 Innføring i Linux 14.12.2015 Tid: 4 timer, 10 14 Målform: Bokmål/nynorsk Sidetal: 11 (forside + 5 + 5) Hjelpemiddel: Merknader:
DetaljerDel 1 En oversikt over C-programmering
Del 1 En oversikt over C-programmering 1 RR 2016 Starten C ble utviklet mellom 1969 og 1973 for å re-implementere Unix operativsystemet. Er et strukturert programmeringsspråk, hvor program bygges opp av
DetaljerNy på nett. Operativsystemer
Ny på nett Operativsystemer Hva skal vi lære? Hva er et operativsystem? Ulike typer operativsystemer XP Vista Windows 7 Skrivebordet Min datamaskin Start-knappen Papirkurv/søppelkurv Internett explorer
DetaljerNOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse. INF 5110, 10/5-2011, Stein Krogdahl
NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse Dessverre litt få figurer INF 5110, 10/5-2011, Stein Krogdahl Oversikt over Javas class-filer og byte-kode Disse formatene ble planlagt fra start
DetaljerGUI («Graphical User Interface») del 2
GUI («Graphical User Interface») del 2 Interaksjon med brukeren Hendelsesdrevet programmering Tråder i GUI Et spill basert på klikkbare ruter Se også på Infoskrivet https://www.uio.no/studier/emner/matnat/
DetaljerProgrammeringsspråket C Del 3
Programmeringsspråket C Del 3 Kjell Åge Bringsrud E-mail: kjellb@ifi.uio.no 9/1/2005 inf1060 V05 1 Dynamisk allokering Ofte trenger man å opprette objekter under kjøringen i tillegg til variablene. Standardfunksjonen
DetaljerIntroduksjon til kurset og dets innhold
til kurset og dets innhold Lars Vidar Magnusson September 4, 2011 Oversikt Forelesninger Kursets fagsider Øvingstimer Kunnskap Ferdigheter 1 Forelesninger Kursets fagsider Øvingstimer Kunnskap Ferdigheter
DetaljerNOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse
NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse Dessverre litt få figurer INF 5110, 8/5-2012, Stein Krogdahl Byte-koden for Java og.nett (C#) http://en.wikipedia.org/wiki/java_bytecode_instruction_listings
DetaljerSamtidige prosesser. Prosessor modus. Hvordan kan OS effektivt kontrollere brukerprosesser? Hvordan kan OS. kontrollere brukerprosesser?
Samtidige To (tasks) må ikke ødelegge for hverandre: skrive til samme minne kapre for mye CPU-tid få systemet til å henge Beste løsning: All makt til OS = Preemptive multitasking Preemptive = rettighetsfordelende.
Detaljer