Basiscursus Informatica, College 3, H 3 1 Basiscursus Informatica 98/991 Basiscursus Informatica College 3, Operating Systems and Networks Brookshear H3 Richard Benjamins
Basiscursus Informatica, College 3, H 3 2 Basiscursus Informatica 98/992 Hardware / Software n Eerste twee hoofdstukken gingen over hardware n H 3-6: software ä operating systems en netwerken ä algoritmes ä programmeertalen ä software engineering
Basiscursus Informatica, College 3, H 3 3 Basiscursus Informatica 98/993 Overzicht college 3 n Ontwikkeling van operating systemen n Architectuur van OS (besturingsysteem) n Coordinatie van activiteiten van machine n Netwerken n Netwerk protocollen
Basiscursus Informatica, College 3, H 3 4 Basiscursus Informatica 98/994 Waarom OS? n Op een computer draaien veel processen “tegelijk” (eigenlijk achter elkaar) ä aantal terminals op zelfde machine ä een gebruiker verschillende activiteiten n OS coordineert het geheel ä is software ä MSDOS, Unix, Windows, MacOS, LINUX, OS2, etc.
Basiscursus Informatica, College 3, H 3 5 Basiscursus Informatica 98/995 Ontwikkeling OS job queue job execution Machine domein Gebruikers domein Jobs: program, data en aanwijzingen resultaten Batch job execution Machine domein Gebruikers domein Jobs: program, data, aanwijzingen en resultaten Interactief
Basiscursus Informatica, College 3, H 3 6 Basiscursus Informatica 98/996 Batch-processing n Begin job, maak helemaal af, geef resultaat ä job queue ä first-in, first-out (FIFO) ä Bv. salaris-systeem n Niet goed voor ä computer games, reserveringssytemen, tekst- verwerkers
Basiscursus Informatica, College 3, H 3 7 Basiscursus Informatica 98/997 Interactief verwerken n Programma-executie verweven met gebruikers-input ä ander OS nodig n Real-time verwerken ä systeem interacteert met omgeving (in vliegtuig) n Real-time met meerdere gebruikers ä complexere coordinatie nodig
Basiscursus Informatica, College 3, H 3 8 Basiscursus Informatica 98/998 OS technieken n Time-sharing ä tijd opdelen in stukjes (time-slices) en elke job krijgt 1 slice per keer ä creeert illusie van simultane executie n Multitasking ä time-sharing voor 1 gebruiker n Jobs in de queue hebben de indruk constant behandeld te worden n Winst komt uit het benutten van wachttijd
Basiscursus Informatica, College 3, H 3 9 Basiscursus Informatica 98/999 Multiprocessor systemen n Tot nu toe, single-processor systemen n Network van computers: multi-processor ä gebruikers delen: printers, software, opslag, etc. ä coordinatie van computers in network – netwerk OS ä Internet
Basiscursus Informatica, College 3, H 3 10 Basiscursus Informatica 98/9910 Overzicht college 3 n Ontwikkeling van operating systemen n Architectuur van OS n Coordinatie van activiteiten van machine n Netwerken n Netwerk protocollen
Basiscursus Informatica, College 3, H 3 11 Basiscursus Informatica 98/9911 Typen software software application software system software OS kernel operating system system utilities formating modem shell spreadsheets games GUI memory manager
Basiscursus Informatica, College 3, H 3 12 Basiscursus Informatica 98/9912 Shell Operating system User Shell
Basiscursus Informatica, College 3, H 3 13 Basiscursus Informatica 98/9913 User shell n Verschillende shells op zelfde OS ä eeste Windows versie voor MSDOS ä Borne shell, C-shell, T-shell, OpenWindows, Xwindows voor UNIX n Zelfde shell op verschillende OS ä Windows op UNIX OS n Toekomst: uniforme GUI op alle OS
Basiscursus Informatica, College 3, H 3 14 Basiscursus Informatica 98/9914 OS Kernel n File manager ä coordinatie van mass storage faciliteiten –file lokatie (directory/folder, pad) –permissie per gebruiker –vrij geheugen n Drivers ä software voor de controlers voor randapparatuur
Basiscursus Informatica, College 3, H 3 15 Basiscursus Informatica 98/9915 OS Kernel, vervolg n Memory manager ä coordinatie gebruik centraal geheugen ä belangrijk voor multi-user en multi-tasking ä virtual memory (swap) n Scheduler: coordinatie van processen n Dispatcher: executie van processen
Basiscursus Informatica, College 3, H 3 16 Basiscursus Informatica 98/9916 Hoe wordt OS gestart n Booting ä elke keer als machine opgestart wordt ä OS bevindt zich op harde schijf ä programmateller wijst naar adres: ROM –permanent geheugen –bevat programma: bootstrap –laad OS van disk in centraal geheugen
Basiscursus Informatica, College 3, H 3 17 Basiscursus Informatica 98/9917 Booting proces operating system Disk storage Main memory Bootstrap program ROM Vluchtig geheugen operating system
Basiscursus Informatica, College 3, H 3 18 Basiscursus Informatica 98/9918 Overzicht college 3 n Ontwikkeling van operating systemen n Architectuur van OS n Coordinatie van activiteiten van machine n Netwerken n Netwerk protocollen
Basiscursus Informatica, College 3, H 3 19 Basiscursus Informatica 98/9919 Kernel activiteiten OS n Programma = statische aanwijzingen n Programma executie = dynamish process ä proces-toestand: momentopname van proces n Processen worden over de resources verdeeld ä procestabel (in centraal geheugen) ä prioriteiten ä scheduler, dispatcher ä belangrijk bij time-sharing
Basiscursus Informatica, College 3, H 3 20 Basiscursus Informatica 98/9920 Scheduler n Ready: proces kan doorgaan n Waiting: proces wacht op externe gebeurtenis n Scheduler: welk process actief, prioriteiten, procestabel updaten, etc.
Basiscursus Informatica, College 3, H 3 21 Basiscursus Informatica 98/9921 Dispatcher n Dispatcher: proces krijgt bepaalde hoeveelheid tijd, daarna process switch n Time slice (50 milliseconden) n Aan end time slice, dispatcher geeft interrupt ä CPU maakt huidige fetch-decode-execute cyclus af (1 complete machine-instructie) ä bewaart proces-toestand ä controle gaat naar scheduler
Basiscursus Informatica, College 3, H 3 22 Basiscursus Informatica 98/9922 Time sharing Proces B Interrupt Process switch Proces A Process switch Interrupt Proces B Interrupt Process switch Proces A Process switch Interrupt Tijdlijn
Basiscursus Informatica, College 3, H 3 23 Basiscursus Informatica 98/9923 Communicatie n De kernel activiteiten van OS ä processen die uitgevoerd worden in time-slices ä communiceren met elkaar –scheduler vraagt memory manager op welk geheugenadres nieuw proces opgeslagen wordt n Communicatie via Client-server model ä leidt tot uniformiteit in communicatie ä binnen een machine en tussen machines
Basiscursus Informatica, College 3, H 3 24 Basiscursus Informatica 98/9924 Client-server architectuur n Server verschaft een dienst ä geheugenadres voor proces in procestabel ä toegang tot een data bank n Clients vragen informatie van een server n Meerdere clients kunnen een server aanspreken
Basiscursus Informatica, College 3, H 3 25 Basiscursus Informatica 98/9925 Proces synchronisatie n Concurrerende processen ä File manager: geeft toegang tot files en vrij geheugen ä Memory manager: wijst geheugen ruimte toe ä Scheduler: wijst ruimte in proces-tabel toe ä Dispatcher: wijst time-slices toe n OS moet ze coordineren en synchroniseren
Basiscursus Informatica, College 3, H 3 26 Basiscursus Informatica 98/9926 Synchronisatie n Semaforen: seinpalen om critische operaties te beschermen (bijvoorbeeld: het wegschrijven van een file) n Deadlock: meerdere programma’s hebben dezelfde “resource” nodig en zijn van elkaar afhankelijk ä competitie voor niet-deelbare resources ä resources gevraagd op deel-basis (later meer) ä als resource toegewezen, niet meer terugkrijgen n Spooling: het tijdelijk opslaan en “queuing” van jobs (maakt niet-deelbare resource deelbaar)
Basiscursus Informatica, College 3, H 3 27 Basiscursus Informatica 98/9927 Overzicht college 3 n Ontwikkeling van operating systemen n Architectuur van OS n Coordinatie van activiteiten van machine n Netwerken n Netwerk protocollen
Basiscursus Informatica, College 3, H 3 28 Basiscursus Informatica 98/9928 Typen netwerken n Local area networks (LAN) ä binnen een gebouw: swi practicum ruimte n Wide area networks (WAN) ä over grote afstanden n Verschil: technologie voor communicatie ä kabels ä satelieten
Basiscursus Informatica, College 3, H 3 29 Basiscursus Informatica 98/9929 Typen netwerken (vervolg) n Gesloten netwerken ä een leverancier, binnen 1 organisatie (LAN) n Open netwerken ä verschillende leveranciers, meerdere organisaties (WAN) n Open refereert naar publiek bekend zijn van specs van componenten n Internet maakt gebruik van open standaard ä TCP/IP
Basiscursus Informatica, College 3, H 3 30 Basiscursus Informatica 98/9930 Topologie n Ring n Bus n Ster n Onregelmatig n LAN: ring, bus n WAN: onregelmatig
Basiscursus Informatica, College 3, H 3 31 Basiscursus Informatica 98/9931 Internet n Begonnen in 1973 door DARPA n Doel: verbinden van computer-netwerken tot 1 betrouwbaar netwerk n Combinatie van LANs en WANs n Netwerken worden met elkaar verbonden door routers: vast aangewezen computers n Verzameling van netwerkclusters: domains
Basiscursus Informatica, College 3, H 3 32 Basiscursus Informatica 98/9932 Internet adressering n Domein gedeelte en host gedeelte ä host adres: 32 bits in “dotted decimale” notatie ä 16 bits: = (2+8).(32+128) n Domein-gedeelte is: network identifier ä Internet Network Information Center (InterNIC) = identifier van Addison Wesley = adres van specifieke machine: host (133)
Basiscursus Informatica, College 3, H 3 33 Basiscursus Informatica 98/9933 Domeinnaam n Unieke adressen in 32 bit-patroon n Mensvriendelijker adres: domeinnaam ä tijdens registratie bij InterNIC = mozart.aw.com n Classificatiesysteem (com, edu, org, gov, landen) n Lokale organisatie: subdomeinen ä psy.uva.nl
Basiscursus Informatica, College 3, H 3 34 Basiscursus Informatica 98/9934 Name server n Elk domein onderhoudt database ä relatie 32 bitstring - leesbaar adres versturen: ä host “swi” in subdomein “psy” in domein “uva.nl” handelt af voor gebruiker “richard” n Individuele personen krijgen toegang tot Internet door “providers”
Basiscursus Informatica, College 3, H 3 35 Basiscursus Informatica 98/9935 World-Wide Web n Communicatie via hypertext documenten n Documenten kunnen zich op verschillende machines bevinden overal op de wereld n WWW “lezers” software ä clients (browsers): Netscape, Mosaic, Opera ä servers (bevatten de docs) n Niet alleen maar hypertext, maar hypermedia
Basiscursus Informatica, College 3, H 3 36 Basiscursus Informatica 98/9936 “Linken” van docs n Adres van doc: URL ä Uniform Resource Locater ä informatica/98.99/bc-home.html informatica/98.99/bc-home.html ä http: hypertext transfer protocol n Hypertext document in ASCII + markeerders n HTML: hypertext markup language ä SGML, XML
Basiscursus Informatica, College 3, H 3 37 Basiscursus Informatica 98/9937 HTML voorbeeld Titel in de browser This Page is under construction But this page not Kleine demo
Basiscursus Informatica, College 3, H 3 38 Basiscursus Informatica 98/9938 Actieve “documenten” n Browsers interpreteren de data die ze binnen krijgen. Er is dus geen sprake van executie van programma’s die worden overgestuurd. n JAVA applets zijn programma’s, uitgevoerd door de browser (client) n CGI scripts draaien op de server en niet op de client (common gateway interface)
Basiscursus Informatica, College 3, H 3 39 Basiscursus Informatica 98/9939 Overzicht college 3 n Ontwikkeling van operating systemen n Architectuur van OS n Coordinatie van activiteiten van machine n Netwerken n Netwerk protocollen
Basiscursus Informatica, College 3, H 3 40 Basiscursus Informatica 98/9940 Protocollen n Bepalen communicatie tussen componenten ä adresseren van berichten ä recht van bericht verzenden ä verzendklaar maken van berichten ä uitpakken van berichten n Wie mag een bericht verzenden? ä token ring protocol (tegen klok in + token) ä CSMA/CD (bus): carrier sense multiple access with collision detection
Basiscursus Informatica, College 3, H 3 41 Basiscursus Informatica 98/9941 Gelaagde protocollen n Analogie: pakketje (aangetekend) met post versturen sender ontvangerPTTNSPTTNS pakketje postzak trein
Basiscursus Informatica, College 3, H 3 42 Basiscursus Informatica 98/9942 Voordelen gelaagdheid n Hierarchisch ä complexe taak opdelen in hanteerbare subtaken ä tussen verschillende lagen standaard interfaces
Basiscursus Informatica, College 3, H 3 43 Basiscursus Informatica 98/9943 Internet software hierarcy applicationtransportnetworklinkapplicationtransportnetworklink n 4 lagen n naar beneden: inpakken (wrap) n naar boven: uitpakken (unwrap)
Basiscursus Informatica, College 3, H 3 44 Basiscursus Informatica 98/9944 Sender: applic, transport n Application layer ä software voor specifieke applicatie. Bv. programma ä taak: geeft bericht + adres aan transport-laag. Adres moet compatible zijn met transport-laag n Transport layer ä taak: deelt bericht op in kleinere delen + nummering voor latere assemblage ä geeft elk pakketje het adres ä geeft geheel aan network layer
Basiscursus Informatica, College 3, H 3 45 Basiscursus Informatica 98/9945 Sender: network en link n Network layer ä stuurt ontvangen pakketjes door in de richting van eindbestemming ä plakt tussenadres op elk pakketje –als eindbestemming in network, dan copie –anders: adres van router in huidige netwerk n Link layer ä regelt met communicatie locale netwerken (ring) ä vertaalt internet adressen in lokale adressen
Basiscursus Informatica, College 3, H 3 46 Basiscursus Informatica 98/9946 Ontvanger: link en network n Link layer ä haalt lokale adres weg, en geeft pakketje aan network layer n Network layer ä haalt tussenadres eraf en bekijkt eindbestemming –als zelfde, dan geeft pakketje aan transport –als verschillend, plakt nieuw tussenadres (van router) op pakketje en geeft het door aan link layer
Basiscursus Informatica, College 3, H 3 47 Basiscursus Informatica 98/9947 Hoppen over het Internet applicationtransportnetworklinkapplicationtransportnetworklinknetworklinknetworklink
Basiscursus Informatica, College 3, H 3 48 Basiscursus Informatica 98/9948 Ontvanger: transport, appl n Transport layer ä reconstrueert oorspronkelijk bericht (nummering) ä als bericht compleet, geeft door aan: n Application layer
Basiscursus Informatica, College 3, H 3 49 Basiscursus Informatica 98/9949 TCP/IP n 4 lagen protocol is bekend als TCP/IP ä Transmission Control Protocol (TCP) –protocol voor transport layer (connection, reliable) ä Internet Protocol (IP) –protocol voor network layer –hop count (elke keer doorsturen = 1 hop) –Max 64 hops om eindbestemming te bereiken n 7 lagen protocol: Open System Interconnection (OSI) van ISO
Basiscursus Informatica, College 3, H 3 50 Basiscursus Informatica 98/9950 Opdracht n Beschrijf wat er gebeurt als je een stuurt van naar n De inhoud van de is: “hello.” n De mail gaat langs routers in twee andere domeinen: ä eu.be ä elisee.fr n Geef antwoord in termen van het TCP/IP protocol