E1: Hard- en software

Drielagenmodel

Het drielagenmodel is een manier om apparaten te bouwen. De drie lagen werken samen om een goed functionerend systeem te creëren.

De lagen kunnen alleen met hun directe “buren” praten. Apps kunnen dus alleen via het besturingssysteem gebruikmaken van de hardware. Dit zorgt voor extra beveiliging.

De onderdelen waaruit de lagen zijn opgebouwd en waarmee ze met elkaar verbonden zijn noemen we interfaces. Soorten interfaces:

Voorbeeld: internet

Voorbeeld: websites

Soorten computers

Mainframes en supercomputers doen MPP: massive parallel processing.

Von Neumann architectuur

Een computer bestaat uit kernapparatuur (de CPU en het interne geheugen). De computer ontvangt input, verwerkt die en produceert output.

De processor (= CPU) bevat een register (besturingsorgaan) en een ALU (rekenorgaan).

De meeste computers hebben één CPU. De snelheid meet je in mips (millions of instructions/min) of GHz (klokfrequentie). Een instructie duurt meestal meerdere clockcycles, dus meestal geldt: mips =< GHz.

Manieren om een CPU sneller te maken:

Computeronderdelen

Bij een system-on-a-chip (SOC) zitten alle onderdelen (CPU, RAM, GPU, wifi, bluethoot, IO) op één chip. Dit is veel compacter (en wordt dus veel in embedded systems en smartphones/smartwatches gebruikt), maar je kan ook minder makkelijk onderdelen vervangen/upgraden, dan moet je een hele nieuwe chip (en meestal een heel nieuw device) kopen.

Connectoren

Connectoren zijn de bedraade verbindingen tussen apparaten. Belangrijke connectoren die je moet kennen:

Fysieke kabels zijn in sommige opzichten beter dan draadloze verbindingen:

Actuatoren en sensoren

Sensoren registreren data en zetten die om in een digitaal signaal. Sensoren bieden input.

Voorbeelden:

Actuatoren ontvangen een digitaal signaal en doen daar dan iets mee. Actuatoren geven output.

Voorbeelden:

Software

Soorten software

Besturingssystemen

Een besturingssysteem heeft drie belangrijke taken:

Je hebt verschillende besturingssystemen voor verschillende doeleindes:

Emuleren

Met een emulator kan je een ander apparaat na doen. Emulators worden veel gebruikt om bijv. software voor andere apparaten te testen tijdens het ontwikkelen en om oude games mee te spelen (retro-gaming).

Virtual machines

Je kan ook je computer in meerdere computers opsplitsen met virtual machines. Het verschil met emulators is dat virtual machines ook echt toegang hebben tot (een stukje van) de fysieke hardware.

Virtual machines worden veel gebruikt als je servers in de cloud wil huren. Er staan dan meerdere virtual machines op één server.

Hierbij heb je ook een drielagenmodel:

Maar bovenop deze toepassingenlaag zit nog een toepassingenlaag: de website zelf. Daarom kan je het ook zo indelen:

Licenties

De voordelen van commerciële hierboven zijn echt totale bullshit. De open-source alternatieven voor mainstream software zoals Word of Photoshop zijn even goed al dan niet beter dan de commerciële variant. Commerciële software heeft ook veel nadelen: de ontwikkelaar kan stoppen met de software te updaten (geen support) of je licentie ongeldig maken. De enige reden om commerciële software te gebruiken is vanwege backwards-compatibility in bedrijven en meer addons/hulpmiddelen online.

Binair en hexadecimaal rekenen