Informatieprocessen
Inleiding - informatieprocessen
In de Informatica hebben we te maken met statische informatie-elementen, bijvoorbeeld programma's, gegevens, machines. En we hebben te maken met processen - dynamische elementen.
Een proces speelt zich af in de tijd. Een proces wordt uitgevoerd door een actor (machine), volgens een script (programma). Bij een proces kan invoer verwerkt worden. Daarnaast levert een proces altijd een resultaat.
In de ICT wordt een proces uitgevoerd door een fysieke machine; voor het uitvoeren van een proces zijn dan resources nodig, zoals "ruimte", tijd, en energie.
Een proces kan een puur informatieproces zijn: externe fysische processen spelen dan geen rol. Een proces kan ook gekoppeld zijn aan een extern fysisch proces. Vanuit het informatieproces kunnen we een fysisch proces waarnemen en eventueel besturen.
Een programma beschrijft een proces, of liever gezegd: een verzameling processen. Deze verzameling is vaak zeer groot: zo groot dat het volstrekt onmogelijk is om deze uitputtend te testen, in een black-box situatie. Dit betekent dat we andere middelen moeten gebruiken als we universele uitspraken over de processen van een programma willen doen.
Voorbeelden uit het dagelijks leven
- een boek is een statisch element. Het lezen van een boek is een proces. Het resultaat hiervan is een verandering in je hersenen.
- je kunt een boek opslaan in een boekenkast.
- je kunt een boek terughalen uit een boekenkast. Dit gaat handiger als het op een systematische manier opgeslagen is - bijvoorbeeld op alfabet.
- opslaan en terughalen zijn verschillende processen. De organisatie die nodig is voor het snel terughalen kun je ook tussentijds uitvoeren.
- er zijn verschillende manieren van organiseren mogelijk: als je het direct terug kunt vinden, zonder te zoeken, spreek je over adressering; in andere gevallen moet je zoeken. Zoals gezegd gaat zoeken handiger als de elementen gesorteerd zijn.
Elementaire informatieprocessen
- dupliceren
- bewaren (opslaan) en terughalen
- transporteren
- interactie
- transformeren (bijv. coderen en decoderen)
- representeren
- interpreteren
- rekenen
- besturen (van fysisch proces; van informatieproces)
- invoer (verwerven van informatie)
- uitvoer
Deze processen kom je in alle lagen tegen.
- dupliceren: van gekoppelde draden tot het kopiëren van bestanden
- opslaan en terughalen: van flipflop tot database
- transporteren: van draad tot internet
- rekenen: van en-poort tot mainframe
Een proces in een hogere laag maakt vaak gebruik van vrijwel alle andere elementaire processen in lagere lagen.
Opbouw van een computer:
- rekeneenheid: ALU
- besturing: program counter, instructiedecodering
- bewaren en terughalen: registers, geheugen
- transporteren: draden
- in- en uitvoer
Het proces van dupliceren gebeurt vaak impliciet, bijvoorbeeld bij het uitlezen van een geheugen. (Vroegere geheugens waren soms destructief: na het uitlezen moest je de inhoud weer herstellen.)
Complexe processen, hoog niveau
- leren
- programmeren(?)
- innoveren(?)
- evolutie