Joël Smit | 4V.in1
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
1
, Joël Smit | 4V.in1
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
, Joël Smit | 4V.in1
• 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
, Joël Smit | 4V.in1
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