Joël Smit | 4V.in1
1
Informatica – E: Architectuur – E1 Hard- en software
E1.1 Drielagenmodel E1.1.1 Inleiding App gebruikt camera niet rechtstreeks → Alleen besturingssysteem (bv. Android) kan camera aansturen → Apps gebruiken camera via besturingssysteem → Besturingssystemen zijn ander soort software dan apps die je hebt geïnstalleerd Naast software heeft smartphone ook hardware, bv. camera, scherm, processor, chips Apparaten met hard- en software zijn heel verschillend → Wel overeenkomst in manier waarop hard- en software van die apparaten met elkaar samenwerken
E1.1.2 Drie lagen Er zijn 3 gestapelde lagen in manier waarop hard- en software van apparaat samenwerken
→ Bv. in smartphone:
• Fysieke laag = Bestaat uit hardware die in apparaat zit → Bv. accu, touchscreen etc.• Logische laag = Bestaat uit software die hardware aanstuurt → Deze software maakt mogelijk om toepassingen (bv. apps) op apparaat uit te voeren → Bij smartphone bestaat logische laag voornamelijk uit besturingssysteem (bv. Android of iOS) → We noemen dit besturingssysteem omdat het hardware bestuurt, ook bepaalt het bv. wat apps mogen doen
• Toepassingenlaag = Bestaat uit allerlei software:
toepassingen of applicaties → Op smartphone zijn dit apps die kunnen worden geïnstalleerd Software uit toepassingenlaag kan alleen contact maken met fysieke laag via logische laag →
App kan dus niet zelf hardware aansturen → Voordelen:
• Besturingssysteem kan controle houden over wat apps doen → Besturingssysteem kan bv. locatiegegevens weigeren door te geven aan app, als gebruiker daarvoor kiest • App hoeft alleen maar ontwikkeld te worden voor besturingssysteem → Als er geen
besturingssysteem was:
▪ App zou voor alle verschillende soorten hardware in alle apparaten geschikt moeten worden gemaakt ▪ Bij introductie van elke nieuwe smartphone zou dan ook update van app moeten worden gemaakt ▪ App-ontwikkelaar zou ook hardware-specialist moeten zijn → Door logische laag heeft app-ontwikkelaar alleen met besturingssysteem te maken
- / 4
Joël Smit | 4V.in1
2 Als je app aan het maken bent en daarin knop wilt hebben, heb je 2 dingen nodig: • Noteren van alle eigenschappen van knop → Bv. waar knop moet komen en hoe deze eruit ziet → Knop is al beschikbaar in Android, Android regelt hoe het getekend moet worden en wanneer het wel of niet zichtbaar is • Schrijven van Event Handler = Stuk code dat een gebeurtenis (Event) verwerkt → Voorbeelden hiervan zijn swipe, press en zoom → Event Handler daarvoor is stuk code dat wordt uitgevoerd als er op knop wordt gedrukt → Android houdt bij wat gebruiker doet → Detecteert bv. of er op touchscreen wordt gedrukt, geswipet of gezoomd → Als je bv. op knop drukt, stuurt Android bericht naar app dat er op knop is gedrukt en vervolgens wordt bijbehorende Event Handler uitgevoerd
E1.1.3 Interfaces Interfaces = Verbindingen tussen de verschillende lagen en tussen onderdelen in die lagen → Maken communicatie mogelijk tussen lagen en onderdelen daarop → Verschillende soorten
interfaces, bv:
• Hardware-interfaces • Software-interfaces • Userinterfaces
Hardware-interfaces Hardware-interfaces = Elektronische verbindingen tussen de fysieke onderdelen → Bv. verbinding van geheugen met processor Deze verbindingen zijn meestal geïntegreerd in printplaat → Onderdelen die zeer snelle onderlinge verbinding nodig hebben, worden ook wel geïntegreerd in een chip Connectoren zijn ook voorbeelden van hardware-interfaces → Zorgen meestal voor bekabelde verbindingen tussen verschillende apparaten → USB is bekendste soort Drivers zijn voorbeelden van interfaces tussen hard- en software → Driver is speciale software die besturingssysteem alle informatie geeft die nodig is om hardware-onderdeel aan te sturen
Software-interfaces Software-interfaces zijn voor communicatie tussen verschillende software-onderdelen → Worden ook wel Application Programming Interfaces = API’s genoemd → Bv. besturingssystemen hebben API’s → Zijn
interface tussen logische laag en toepassingenlaag:
• App is meestal opgebouwd uit elementen die afkomstig zijn van API → Bv. knoppen en tekstvelden → API zorgt ervoor dat alle apps op vergelijkbare manier werken → Zo ontstaat consistentie in gebruik van apparaat 2 / 4
Joël Smit | 4V.in1
3 • Naast grafische elementen stelt API ook allerlei andere functies beschikbaar voor app → Bv. verbinding maken met internet doet app altijd via API van besturingssysteem Meeste apps halen data op via internet om te kunnen functioneren, bv. socialmedia-app of buienradar → Gebeurt vaak via web-API = Interface tussen app en database waarin alle gegevens zijn opgeslagen
Userinterfaces Bekendste soort interface is userinterface = Communicatie tussen apparaat en gebruiker: • Graphical User Interface = GUI (goewie) = Grafische verbinding tussen gebruiker en apparaat → Bv. touchscreen/beeldscherm zijn voorbeelden van GUI-onderdelen ▪ GUI geeft informatie via knoppen, pictogrammen, teksten, afbeeldingen en video’s ▪ Userinterface zorgt ook voor communicatie van gebruiker naar apparaat (bv.touchscreen, toetsenbord, muis) → Alle handelingen van gebruikers worden door besturingssysteem vertaald naar events → Events worden vervolgens door Event Handlers van applicaties verwerkt • Voice User Interface = VUI → Maakt stembediening van apparaat mogelijk, bv. Siri • Command Line user Interface = CLI → Hierin is alleen tekst te zien → Door typen van commando’s kan server worden bestuurd
Servers worden vaak op afstand aangestuurd = Remote → Beheerder kan bv. vanaf eigen pc alle servers bedienen waarvoor die verantwoordelijk is → Aansturing gebeurt vaak via command line interface (CLI) → Alleen tekst te zien, door typen van commando’s kan server worden bestuurd → Via CLI kan server remote worden bediend Vrijwel alle besturingssystemen voor servers, desktop-pc’s en laptops zijn ook te bedienen via CLI → Vooral besturingssysteem Linux kan heel efficiënt worden aangestuurd via CLI, omdat deze extra veel mogelijkheden biedt boven GUI
E1.2 Het lagenmodel herkennen E1.2.1 Inleiding In bijna alle ICT-producten kun je 3 lagen onderscheiden → Bij laptops en desktop-pc’s is indeling vergelijkbaar met die van smartphone Ook in werking van internet kun je 3 lagen herkennen
E1.2.2 Netwerken
Communicatie tussen computers verloopt via allerlei netwerken, bv:
• Local Area Network = LAN = Netwerk binnen gebouw dat draadloos via wifi of bedraad via netwerkkabel beschikbaar is • Mobiele communicatienetwerk voor gegevensuitwisseling op grote afstand → Bv.internet via 4G, communicatie tussen schepen, gegevensoverdracht vanaf meetstations voor bepaling van weer 3 / 4
Joël Smit | 4V.in1
4 Internet zelf is groot wereldwijd netwerk
Fysieke laag Ook bij internet is het nuttig om 3 lagen te onderscheiden → Fysieke laag van netwerk
bestaat uit allerlei hardware, bv:
• Kabels → Netwerkkabels binnen gebouwen, telefoonkabels en glasvezelkabels • Signaalomvormers → Modems, zenders en ontvangers van draadloze communicatie zoals 4G-zendmasten en wifi-accesspoints • Apparaten die datastroom regelen → Routers, switches • Servers → Apparaten waarop netwerkservice draait → Bv. webserver waar website opstaat of DNS-server die bijhoudt waar websites te vinden zijn • Clients → Apparaten van netwerkgebruikers
Logische laag Om data te kunnen transporteren over netwerk is allerlei software nodig → Software
behoort tot logische laag van netwerk → Op router staat bv:
• Software die werkt als soort verkeersregelaar → Stuurt binnenkomende data juiste kant op in netwerk • Beveiligingssoftware → Bv. firewall die netwerk beschermt tegen ongewenste indringers Belangrijk onderdeel van logische laag zijn netwerkprotocollen = Afspraken over manier waarop data getransporteerd moet worden en hoe apparaten binnen netwerk te vinden zijn,
bv:
• Internet Protocol = IP = Beschrijft onder andere hoe elk apparaat in netwerk een adres krijgt, zodat het bereikbaar is → Adres wordt IP-adres genoemd • HyperText Transfer Protocol = HTTP = Gaat onder andere over manier waarop websites via internet kunnen worden bezocht Protocollen voor e-mail zijn bv. IMAP, POP3 en SMTP
Toepassingenlaag Alle websites en (web)applicaties die gebruikmaken van internet of lokaal netwerk behoren tot toepassingen van netwerken → Hieronder vallen vrijwel alle apps op smartphone, e- mailapplicaties, online tekstverwerker (bv. Google Docs), streamingmediatoepassingen (bv.YouTube) etc
E1.2.3 Websites en webapplicaties Ook bij websites en webapplicaties kun je 3 lagen onderscheiden → Bij elk van deze lagen zijn meerdere apparaten betrokken, omdat er bij website of -app clients en servers actief
zijn:
• Clients = Klanten → Gebruikers van site of app
- / 4