Processen en threads
Daarnaast is ook op lager niveau variatie ontstaan in de precieze implementatie van multiprogramma's. Bekende termen hier zijn processen en threads (zie ook multitasking).
Het gebruik van processen staat bekend als multiprocessing (waarin ieder deelprogramma door het Operating system als een volwaardig programma wordt gezien met eigen blok geheugen en andere middelen). Bij het gebruik van multiprocessing is het mogelijk ieder deelprogramma te voorzien van alle flexibiliteit die een volwaardig programma ook heeft. Dit is echter wel een zware belasting voor een systeem.
Het gebruik van threads heet multithreading. Een thread is een soort van "deelproces" dat draait op de middelen en een stuk van het geheugen van een normaal proces -- waarbij het mogelijk is meerdere threads aan één proces te verbinden. Dit levert een aanzienlijk lagere belasting op het systeem op, maar een thread is wel minder flexibel qua toegang tot het systeem dan een volwaardig proces. Het komt echter vaak genoeg voor dat een parallel programma geen zware systeemtoegang nodig heeft en dus probleemloos met threads uit de voeten kan in plaats van processen.
Externe links
- The Transputer Archive -- Informatie over transputers, een bekende soort computer die geoptimaliseerd is voor parallelle programma's
- The Occam Archive -- Informatie over de Occam taal, die speciaal bedoeld is voor het bouwen van parallelle programma's
- [1] -- De officiële website van Javasoft/Sun Microsystems, makers van de Java taal waarin multithreading ingebouwd is
Andere bronnen
- ISO/IEC standard 9945-1:1996 : De POSIX Threads standaard, een standaard multithreading bibliotheek
- ISO/IEC 9945-1:2002 en ISO/IEC 9945-2:2002 : De POSIX standaard, waarin onder andere een multiprocessing bibliotheek gedefinieerd is