Introduktion til programmering. Uge 41 Computer Science Netværk og operativsystemer Kap 3-4.



Relaterede dokumenter
Introduktion til programmering. Uge 39 Computer Science Netværk og operativsystemer Kap 3-4.

Introduktion til programmering. Uge 41 Computer Science Netværk Kap 3-4.

Computer Networks Specielt om Infrastrukturer og Teknologi

TCP & UDP. - de transportansvarlige på lag 4. Netteknik 1

Introduktion til computernetværk

klient Webside Forespørgsel/ Nye data Python program Database kommando svar Database

Øvelse 9. Klasser, objekter og sql-tabeller insert code here

Internettet Netværk. Hvad er netværk?

Netværksmålinger. - en introduktion! Netteknik. TCP - IP - Ethernet

klient Webside Forespørgsel/ Nye data Python program Database kommando svar Database

2. Husk at give execute-tilladelser. I Filezilla højreklikker I på den overførte file, så vælger I fileattributes og sætter kryds i execute.

Netværksmålinger. - en introduktion! Netteknik

SIP. Session Initiation Protocol TDC IP telefoni Scale. SIP design mål

SIP. Session Initiation Protocol. TDC IP telefoni Scale

IT og økonomi. Lektionens emner. Hvorfor netværk? Lektion: N: Netværk

Datapakke. Data. Afsender. Modtager

Ethereal Intro && Ethereal HTTP. René Hansen Anders Bjerg Pedersen Michael Nilou Hold 1 September 12, 2007

M A D S L A R S E N, A S G E R B A L L E G A A R D & J O N A S K R O N B O R G R O S K I L D E T E K N I S K E G Y M N A S I U M.

Netværk & elektronik

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


PHP Quick Teknisk Ordbog

bnmqwertyuiopasdfghjklzxcvbn mqwertyuiopasdfghjklzxcvbnm

Vejledning til at tjekke om du har sat manuel IP på din computer.

IBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1

Netteknik 1 Byg et netværk med SO-HO router Øvelse

NETVÆRKSKURSUS Oktober November jmt

Workshops om netværk

Instruktioner i installation og afinstallation af Windows PostScript- og PCLprinterdrivere

De forskellige måder man scanner på

Programmering af CS7050 TCP/IP modul

Deling i Windows. Netteknik 1

Sektornet VPN. Opsætning af Novell 4.1x server og klient på. Windows 2000/NT/XP

Netværkstopologi. Netteknik 1. Netteknik 1 (AMU 44947) Mercantec Den logiske og den fysiske! Netværkstopologi

Hosted CRM Outlook client connector setup guide. Date: Version: 1. Author: anb. Target Level: Customer. Target Audience: End User

Network Requirements - checklist SALTO proaccess space software SPACE ProAccess 3.0

Netværkstopologi. - Den logiske og den fysiske! Netteknik 1

LAB ØVELSE KONFIGURATION AF DHCP PÅ DANSK AF KIM DONNERBORG / RTS

Deling i Windows. - via NetBIOS eller Hjemmegruppe! Netteknik 1

Basal TCP/IP fejlfinding

PID2000 Archive Service

Router U270 funktionsbeskrivelse

Ruko SmartAir. Updater installation

Teknisk beskrivelse til TDC Managed Firewall

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

WEB Server og Ethernet Data Logger Lonbox PID4000

Hosted CRM Outlook client connector setup guide. Date: Version: 1. Author: anb. Target Level: Customer. Target Audience: End User

Databaseadgang fra Java

Opgavehæfte til kursus i Netteknik7

Infrastruktur i hjemmet og begreber

Delfi Connect. Bruger vejledning 1. TILSLUTNING INSTALLATION MENUSTRUKTUR...4

Sydfyns Intranet A/S Fåborgvej 64 Svendborg 5700 fax tlf web

Mindstekrav til udstyr (fase 1) Løsningsbeskrivelse

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

Indhold. Download driver Find version af Windows Hent drivers til Windows Udpak driver... 6

ARP og ICMP. - service protokoller, som vi ikke kan undvære! Netteknik 1

Cisco ASA Introduktion & vejledning. Opsætning af DMZ-zone

IT Support Guide. Installation af netværksprinter (direkte IP print)

IBI/CTS opbygning af grafiske brugerflader på centrale anlæg...3 Stikordsregister...39

Webside score akcpdistributor.de.ipaddress.com

Internet Protokollen. - IP er arbejdshesten på næsten alle netværk! Netteknik 1

Digital skriftlig aflevering med Lectio Censormodul Stedprøver installationsvejledning

Program Dokumentation PC Software Skrevet af. Gruppen. Version 1.0

Det Danske Filminstitut byder velkommen til vores UDP Server. Pligtaflevering - Version 2.0

Bilag 1: Ordliste. Bilag 1: Ordliste 141

Internet vs WWW. Internettet er IKKE det samme som www. Internettet Er et netværk af computere Gør det muligt af dele information

PNI/GRN - 1. kursusgang

Hvor er mine runde hjørner?

Web 2.0. World Wide Web (www)

DNS systemet. - fra navne til IPv4 adresser! Netteknik 1

Netværks opsætning af IP modulet:

I denne øvelse vil du få vist hvordan opsætningen af netværket foregår. Målet er at du selv kan konfigurere en IP adresse på din lokal maskine.

- en introduktion! Oversætter domænenavne til IP-adresser - F.eks: oversættes til Bruges dagligt i Internet Browsere

Sydfyns Intranet A/S Fåborgvej Svendborg cvr Tlf Fax

Brugervejledning. Konfiguration af mailklient SDNMail (MS Outlook, Outlook Express og andre mailprogrammer) Computer Sciences Corporation

ISA Server 2006 Del 5. Jesper Hanno Hansen

Netteknik 1. AMU kursus nr Netteknik 1 (AMU 44947) - anvendelse af teknologier og begreber. Formålet med kursus

2x50 ETHERNET MODUL. RS485 slave med Ethernet-IP. Gælder for: Program nr.: AUXSLAVE v1 Dokument nr.: 0422md2x50-2v1 Dato:

- City - gør det selv installation. - Vejledninger -

Netteknik 1. AMU kursus nr Netværk grundlæggende ( AMU Netteknik 1 ) - anvendelse af teknologier og begreber. Formålet med kursus

PDFmaps på smartphones

Projektopgave Operativsystemer I

IP version 6. Kapitel 3: IPv6 in Depth Baseret på bogen: Cisco Self-study: Implementing Cisco IPv6 Networks Henrik Thomsen V1.0.

Datanet Obligatorisk opgave 2: TCP. René Hansen Michael Nilou Anders Bjerg Pedersen Hold september 2007

VoIP. Voice over IP & IP-Telefoni. Lars Christensen & René Truelsen, Dec. 2004

Webside score anforderungserverraum.de.ipaddress.com

Sådan logger du ind... 2 Hvilke mapper kan du tilgå... 3 Visning af eksempel af en fil... 5 Sådan deler du en fil... 7 Se hvad du deler med andre...

IP Modul report / Netværks software manual 1.0 Funktions beskrivelse:

VPN-klienten SecureClient for TDC Managed Firewall

Webside score powerstripe.net

Anvendelse af Model- View koncept i SAS Stored Processer

LW313 Sweex Wireless 300N Adapter USB

TCP/IP stakken. TCP/IP Protokollen består af 5 lag:

PDFmaps på smartphones

Netteknik 1. - anvendelse af teknologier og begreber. AMU kursus nr

-Krav til klinikkens udstyr (hardware/netværk mm.)

NT PDC Udarbejdet af Kenneth Dalbjerg

SAP R/3. Henrik Kroos

Transkript:

Introduktion til programmering Uge 41 Computer Science Netværk og operativsystemer Kap 3-4.

Plan Sidste gang Netværk og netværksopbygning Protokoller Opgave 5 Netværksprogrammering i Python Operativsystemer Opgave 6

Sidste gang Sætninger og udtryk (nye værdier) Kontrolstrukturer Selektion (if, elif, else) Gentagelse (while- og for-loops) Funktioner (def) (indkapsling)

Netværk

Netværksopbygning Vi kan skelne mellem flere typer netværk: LAN Local Area Network WAN Wide Area Network PAN Personal Area networks

LAN Eksempler IMV, En virksomhed Består af en række arbejdsstationer og servere Filservere, postservere, printservere Databaseservere, webservere Typisk opdelt i to eller flere undernetværk Intranet (lukket WWW)

LAN 2 Klienter: Kabel: Ethernet, 10 / 100 / 1000 Mbit Trådløst: 11 / 54 Mbit Servere: Gigabit, 1000 Mbit 1 Mbit = 125 Kb/s 100 Mbit = 12.5 Mb/s

IMV 5 undernet: Studerende, Ansatte, Trådløst, Printere, Web 100 Mbit generelt 10 Mbit i terminalrum 1000 Mbit til datakontoret (p-drev)

Netværks opbygning Stjerne Ring Ethernet/Bus

PAN Trådløse, kort rækkevidde Bluetooth, ca 10 m 768 Kbit ~96 kb/s Forbinder f.eks. mobiltelefoner og lommecomputere

WAN Kan forbinde to LAN for en virksomhed Internettet er et WAN der forbinder mange net Mange medier Telefonlinjer, lysledere, kabel, radio, mikrobølger, satellit

Hvad er et net? Et net er defineret ved sin protokol (retningslinjer) En protokol er en fortolkning af de repræsentationer der transmitteres gennem et fysisk medium Internettet er defineret ved TCP/IP (Transmission Control Protocol / Internet Protocol) Net der bruger denne protokol tilhører Internettet. Net der ikke gør det, tilhører det ikke. Et net kan realiseres i mange fysisk forskellige medier (radiobølger, ethernet, etc.)

Internettet En netværk mellem netværk Opstod fra ARPAnet i 60 erne 2.4-50 kbit net Baseret på en fælles Kommunikationsstandard TCP/IP

Internet Design Alle undernet skal være selvstændige. Der skal ikke være behov for interne ændringer i nettene for at forbinde dem til internettet Kommunikation er best effort. Hvis en pakke ikke når målet, sendes den igen (ikke UDP) Nettet bindes sammen af gateways, der ikke ved noget om de pakker der sendes (routers) Der skal ikke være nogen central kontrol Hvis en del af nettet bryder sammen skal resten alligevel kunne fungere (den kolde krig)

TCP/IP Transmission Control Protocol / Internet Protocol Pakke-baseret protokol

TCP/IP lagdelt protokol Applikation (f.eks. browser) Laver IP-adresse som transportlaget kan forstå (IP) Transportlaget Hakke beskeden i små pakker, forsyne hver pakke med adresse og nummer (TCP) Netværk Bestemmer midlertidig adresse for forsendelsen (IP) Indenfor: send direkte til maskine Udenfor: send til router Max hop-antal (64) Link Skal sende til maskinen med den midlertidige adresse Ethernet: Vent til bussen er stille, og send så Hvis en anden maskine også er begyndt at sende, vent et tilfældigt tidsrum, og prøv igen. Port-nummer Hver applikation har et unikt port-nummer. Webserver:80, ftp:20, 21

IP adresser og Protokoller Alle maskiner på nettet tildeles en IP adresse (eller en router har ekstern) XXX.YYY.ZZZ.WWW 0-255 (32 bit), IPv4 Faste og dynamiske adresser I alt 4 milliarder adresser... men vi er ved at løbe tør for dem Ny standard IPv6 (128 bit) I alt 5 10 28 adresser 50000000000000000000000000000

Internet anno 1971

Internet, USA 1999

WWW udvikling

URL er En URL er en sammensat repræsentation Dens interpretant er fastlagt i HTTP-standarden De objekter den repræsenterer er: En fortolkningsregel En server En sti på serveren Et dokument http://vahlstrup.com/ltoe07/plan.html interpretant server sti dokument

I: DNS DNS Domain Name Server R: www.dr.dk O: 195.137.194.128 Databaser der forbinder navne med IP adresser www.dr.dk -> 195.137.194.128 www.whitehouse.gov -> 213.236.199.95 Regler for DNS com,.net,.gov,.mil,.org,.edu,.int areo,.coop,.museum,.biz,.info,.name Landekoder (.dk,.uk etc) ICANN - The Internet Corporation for Assigned Names and Numbers www.icann.org bamse.lir.dk -> min computer -> 83.73.229.84 Ping wikipedia.com

DNS igen

Applikationslag - protokoller Udveksling af data mellem programmer Standardiseret, forskellige programmer kan dele data, da de kan forstå det samme sprog HTTP, FTP, POP3, SMTP

HTTP Hyper Text Transfer Protokol Udviklet i Schweiz i starten af 90 erne Tim Berners Lee Nu en standard under W3C, www.w3c.org World Wide Web Consortium Overførsel af tekst To-vejs (CGI)

Klient-server Klienten sender anmodning om info til server Server finder info og sender den tilbage Klient Fx en browser GET /pub/www/theproject.html HTTP/1.0 HTTP/1.0 200 + Content-type: text/html + <xxx> </xxx> Server Fx en WWW server

FTP File Transfer Protocol Overførsel af filer mellem maskiner Abstraktion over den fysiske maskine Kan overføre binære (data) filer og ascii (tekst) filer (ingen oversættelse/ oversættelse) Husk senere når I FTP er jeres Pythonprogrammer: de skal overføres som ascii filer, ellers virker det ikke Kan sættes i FileZilla

POP3, IMAP og SMTP Post Office Protocol v3 Tillader en klient (mailprogram) at hente post fra serveren Henter en kopi af mailen ned på den lokale maskine, og sletter den på serveren IMAPv4 Læser mailen på serveren SMTP Simple Mail Transfer Protocol Lader en klient (mailprogram) sende en mail til serveren, og mellem servere.

SMTP eksempel (mail protokol) S: 220 www.example.com ESMTP Postfix (220 = service ready) C: HELO mydomain.com (goddag fra mydomain.com) S: 250 Hello mydomain.com (250 = OK) C: MAIL FROM:<sender@mydomain.com> S: 250 Ok C: RCPT TO:<friend@example.com> S: 250 Ok C: DATA S: 354 End data with <CR><LF>.<CR><LF> (354 = start mail input, how to end) C: Subject: test message C: From: sender@mydomain.com C: To: friend@example.com C: C: Hello, C: This is a test. C: Goodbye. C:. C: S: 250 Ok: queued as 12345 C: QUIT S: 221 Bye (221 = service closing) S = server C = client carriage return = ASCII 13 line feet = ASCII 10

Trafikmønstre på nettet Informationen produceres af værten (server) Informationen produceres af klienten Valg af informationen kontrolleres af værten (server) Valg af informationen kontrolleres af klienten Transmission. Radio, aviser, tekst-tv. Pushteknologi, spam Konsultation. WWW. Registrering. tilmeldelse til nyhedsgrupper, Selvangivelser, etc. Konversation. Almindelige samtaler. email. Chat etc.

Hvad er html? Hyper Text Mark-up Language. Standard for de dokumenter WWW består af Består essentielt af en række tekstuelle tags, <xxx> </xxx> der beskriver hvordan skal renderes grafisk og hvordan browseren i øvrigt skal reagerer på tekststumpen. Fra Kursussiden: <h1>information</h1> <p> Her kan findes mine kontaktinformationer og desuden generelle informationer om kurset. </p> <h2>kontakt</h2> <table cellpadding="0px" cellspacing="0px" class="linktabelmargin"> <tr> <td valign="top" width="150px"> <p class="nomargin"> <b>tlf:</b> </p> </td>. Kildekode for hele siden http://vahlstrup.com/itoe07/info.php CSS: http://vahlstrup.com/itoe07/css/styles.css

Øvelse 5 Lav et program der kan udskrive en tabel fra en database som en htmltabel

Egenskaber ved WWW? Det bygger på en grundlæggende rekursiv proces hvor output anvendes som nyt input Klienter og servere kan ikke direkte påvirke hinanden. De bestemmer selv hvordan de vil reagerer på kommunikationen Det er ikke styret af nogen overgribende intentionalitet, Det kan selv medvirke til sin egen reproduktion, udvikling og reparation, Det er dynamisk, og udvikler sig hele tiden. Selv-reference og selv-observation er uundværlige for at denne dynamik ikke opløser sig selv.

Grundlæggende rekursiv proces. HTML URL HTML Klient og server får ikke lov direkte at påvirke hinanden. De bestemmer selv hvordan den modtagne kommunikation skal fortolkes

Det er ikke styret af nogen overgribende intentionalitet W3C Process (The World Wide Web Consortium) The Consortium attempts to find common specifications for the Web so that through dramatic and rapid evolution, many organizations can work in their own fields to exploit and build on top of the global information space which is the web. The technologies involved in the web are changing very rapidly, and so the Consortium must have both efficiency and flexibility in its process, to be able to respond to the needs of the community in a timely manner. At the same time, it must be clear that the Consortium is neutral forum, and no member has a priori a greater say than another.

Det kan selv medvirke til sin egen reproduktion, udvikling og reparation Downloads Udvikling: Man kan ved hjælp af nettet downloade de nye programmer der ændrer nettet Reparation: Man kan abonnere på patches og rettelser, så de kommer automatisk Reparation: Når en klient mangler en ressource for at kunne fortolke en side, kan den automatisk downloades fra nettet. Ofte henviser html-dokumentet til den relevante download side

Specifikationen af HTTP er åben for forandringer Specifikationen af HTTP giver mulighed for fluktuationer for at sikre at protokollen hele tiden vil udvikle sig. Method = "OPTIONS" "GET" "HEAD" "POST" "PUT" "DELETE" "TRACE" extension-method Extension-method, angiver at nye metoder kan komme til. Responsens statuskode Status-Code = "100" ; Continue "101" ; Switching Protocols "200" ; OK [...] "503"; Service Unavailable "504" ; Gateway Time-out "505" ; HTTP Version not supported extension-code http://www.w3.org/protocols/http/1.1/rfc2616bis/dr aft-lafon-rfc2616bis-03.txt

Selv-reference og selv-observation Selv-reference og selv-observation er uundværlige for at denne dynamik ikke opløser sig selv Søgemaskiner producerer hele tiden opdaterede beskrivelser af nettet selv ved hjælp af nettet Alle HTML sider og HTTP protokoller skal angive hvilken version de selv er (dokument og browser) Søgemaskiner fører statistik over de mest populære sider og viser dem først

Eksempel Når I skal sætte Python til at lave dynamiske hjemmesider skal I sørge for to selv-referencer: Hvad er det for en slags dokument? print Content-type: text/html Hvilken version af HTML og hvilket sprog? def printoverskrift(titel): print ''' <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1- strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da">

Netværk Python moduler understøtter netværkskommunikation Moduler httplib, ftplib, poplib, smtplib

httplib import httplib python = httplib.httpconnection('www.python.org') python.request("get", '/index.html') res = python.getresponse() print res.status, res.reason 200 OK page = res.read() python.close() print page <a href="http://www.python.org/moin/localusergroups">user Groups</a> Kør httplib-eksempel

MySQLdb connection = MySQLdb.connect(host = HOST, db=database, user=user, passwd=passwd) Etablerer en forbindelse cursor = connection.cursor() Cursor er en pegepind til databasen cursor.execute(sqlordre) #SELECT * FROM Udfører SQLordren result = cursor.fetchall() Fisker resultatet af ordren frem connection.close() Lukker forbindelsen http://sourceforge.net/projects/mysql-python

Modulet database Sørger for overgangen mellem pythonverdnen og sql-verdnen I: SQL I: Python O: SQL-kommando Select from where R: findrecords('child',['cp r','firstname','lastname'],{'cpr':'1111111111'}) O: Python datastrukturer (lister og dictionaries)

Modulet database 2 print 'find all records in table Child' arow = db.findrecords('child',[]) print arow >>>output<<< find all records in table Child [['1111111111', 'Jeppe Boegh', 'Andersen', 'Thorsgade 20', '8410', 'dreng', '', '86379790', 'Baltica', '1111111112', '1111111113', '1111111114'], ['1111111114', 'Lotte Boegh', 'Andersen', 'Thorsgade 20', '8410', 'pige', '', '86379790', 'Baltica', '1111111112', '1111111113', '1111111114'], ['1111111115', 'Stine', 'Jacobsen ', 'Thorsgade 20', '8410', 'pige', '', '86379790', 'baltica', '', '1111111116', '1111111114']]

Modulet database 3 print 'fetch a row from table Child with cpr = 1111111111' arow = findrecords('child',['cpr','firstname','lastnam e'],{'cpr':'1111111111'}) print arow fetch a row from table Child with cpr = 1111111111 [['1111111111', 'Jeppe Boegh', 'Andersen']]

Modulet database 4 print 'change the first name to Jeppe in record where cpr = 1111111111' updaterecords('child', {'firstname':'jeppe'}, {'cpr':'1111111111'}) arow = findrecords('child',['cpr','firstname','lastname'],{'cpr' :'1111111111'}) print arow change the first name to Jeppe in record where cpr = 1111111111 [['1111111111', 'Jeppe', 'Andersen']]

Modulet database 5 Som beskrevet er det et modul så i skal altså huske at importere det, som vi snakkede om i sidste uge, inden i kan bruge det. import database as db Læg det i den samme mappe som jeres egen kode

Operativsystemer Historie og opbygning

Operativsystemets rolle Operativsystemer (OS) foretager ressourcehåndtering Diskplads, hukommelse, CPU-tid Eksterne ressourcer Netværk, printere, diskdrev osv. Brugerhåndtering Rettigheder, filadgang, prioritering,programafvikling Rettigheder på web-serveren: husk kryds i execute når I ftp er jeres Python filer!

OS historie Første maskiner havde intet OS ENIAC, EDSAC Jobbene (programmerne) kørte direkte på metallet Programmering ved omkonfigurering af kabler

Jobkontrol (JCL) Reservationer af timeslots... maskinerne stod stille eller jobs måtte afbrydes Computeroperatører... aflevere hulkort eller papirstrimmel til operatør, modtage udprint med resultat tilbage Batch jobs Automatisk igangsætning af jobs Skrive program Gentag: aflevere program Vente et par dage Rette fejl

Time sharing Compatible Time Sharing System, 1961 Multics, 1968 Mainframe med tilsluttede dumme terminaler (Client/Server) Det var den måde man arbejdede i 70 erne Første terminaler kom til Århus i 71-72.

Microsoft Udviklede OS til personlig IBM s nye personlige computer DOS (1981) Disk Operating System Enkeltbrugersystem Forsvandt først i Windows XP

Windows udvikling Grafisk som forskel til DOS To forskellige kerner indtil xp.

Operativsystemers struktur Software Application:specifikke opgaver Spreadsheets,tekstbehandling Databaser, spil Utility: supplering til OS: Diskformattering, defragmentering, audio, cdbrænding System: generelle opgaver Shell: brugerinteraktion CMD, Windows Operating system Kernel:funktionalitet File, Memory mamager Device drivers (lydkort, grafikkort)

Ressourcer Hukommelse Fysisk, virtuel swapping/paging Diskplads CPU tid prioritering

Processer, tråde Et program repræsenterer mulige processer Procestilstand = datatilstand plus program pointer En proces har adskilt datatilstand og programpointer fra andre processer En proces får et tidsrum på CPU en Eks. 5 ms - timeslicing Tråde deler data og hukommelse (pseudo-)parallel afvikling af kode Python understøtter både processer og tråde

Øvelse 6 Brug de funktioner i lavede i opgave 5 og udvid jeres program så det nu rent faktisk henter dataene fra den database i lavede i opgave 2 Husk af downloade: http://sourceforge.net/projects/mysqlpython