In Hoofdstuk 4 Een hiërarchie van open protocollen, zag je dat internetsoftware op verschillende abstractieniveaus is gerangschikt, met applicatieprogramma's (zoals je e-mailprogramma) op het hoogste niveau en netwerkprotocollen zoals WiFi en Ethernet op het laagste niveau. De hogere abstractieniveaus staan dichter bij de manier waarop mensen denken en lagere niveaus dichter bij de manier waarop machines werken.
Net zoals internet heeft de manier waarop een computer werkt ook abstractieniveaus.
In deze les, ga je leren over de verschillende abstractieniveaus in computersoftware en -hardware.
Op deze pagina, ga je leren over drie groepen (domeinen) van de abstractieniveaus.
Er zijn talloze abstractieniveaus waarmee computers werken. Hieronder zijn ze georganiseerd in drie overkoepelende domeinen:
De programma's die je schrijft en gebruikt zijn software, maar onder deze programma's bevindt zich meer software die hen helpt te werken. In deze les kijken we naar vier abstractielagen binnen het softwaredomein:
Software is een abstractie : een manier van denken over de computer zonder na te hoeven denken over hoe de computer zelf werkt.
In het softwaredomein is elk abstractieniveau een ander stuk software, maar de abstractieniveaus in het digitale domein zijn verschillende manieren om over hetzelfde fysieke object na te denken. Het circuit in een computer is ingewikkeld en om het bouwen ervan mogelijk te maken, denken ingenieurs er op verschillende abstractieniveaus over na:
Logische poorten, zijn het laagste abstractieniveau van het digitale domein zijn. Zij werken met enen en nullen. In de realiteit zijn die logische poorten opgebouwd uit transistors , een soort circuitcomponenten. Transitors lijken een beetje op lichtschakelaars die aan of uit staan, maar ze hebben een nadeel. Ze kunnen ook tussenliggende waarden hebben (zoals "slechts 23% aan"), maar dit is niet gewenst. Het liefst willen we dat een transistor alleen maar aan of uit kan staan. Elektrotechnici moeten dus nadenken over de wetten van de elektronica om digitale schakelingen te ontwerpen zodat er niet zulke tussenliggende waarden uitkomen.
Digitaal en analoog zijn tegengestelden. Digitaal betekent informatie die wordt weergegeven als enen en nullen . Analoog betekent informatie die wordt weergegeven door signalen die continu variëren. (Dat wil zeggen inclusief waarden tussen 0 en 1 in.)