Software

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

Software of programmatuur is een gangbaar woord voor computerprogramma's. Naast toepassingen voor de mainframes, pc's en spelcomputers, bevatten ook apparaten als televisies, telefoons, telefooncentrales, auto's, machines sinds de jaren zeventig van de vorige eeuw steeds vaker software.

Software kan worden ingedeeld naar toepassingsgebied of gebruikersgroep.

Het begrip "software" komt uit het Engels, en is de tegenhanger van hardware (apparatuur), waarmee alle "tastbare" apparatuur wordt bedoeld.

Het onderscheid tussen hardware en software bestond al voordat de computer bestond, al worden de termen in die zin niet vaak gebruikt. Een radiotoestel is hardware, het radioprogramma is software. Een grammofoon is hardware, de grammofoonplaat bevat software. Dit illustreert dat de hardware onbruikbaar is zonder software.[bron?]

Privésoftware[bewerken]

Thuis op de pc of spelcomputer:

Kantoorsoftware[bewerken]

Kantoorsoftwarepakketten bestaan vaak uit

Kantoorsoftware draait meestal op een computer. Bekende toepassingen zijn Microsoft Office en LibreOffice. Er kan ook een CAD-systeem in een kantoorpakket zitten.

Bedrijfssoftware[bewerken]

Bedrijfssoftware zijn grotere softwarepakketten, vaak voor meerdere gebruikers. Voorbeelden zijn:

Systeemsoftware[bewerken]

Systeemsoftware wordt ook wel een besturingssysteem genoemd, met als bekende voorbeelden Windows, Macintosh en Unix. Dit zijn alle programma's die nodig zijn voor het functioneren van het systeem, bijvoorbeeld programma's om bestanden te kopiëren (cp of copy), te verwijderen (rm of del), mappen aan te maken en de inhoud van een bestandssysteem zichtbaar te maken (ls of dir). Typische onderdelen zijn BIOS, device drivers, interrupt service routines. Deze laag wordt ook wel low level software genoemd.

  1. De kernel: deze implementeert alle diensten die voor het hele systeem beschikbaar (moeten) zijn zoals multitasking, geheugenbeheer en semaforen.
  2. Programmabibliotheken met specifieke functionaliteit, zoals netwerkabstracties (bv. TCP/IP), implementaties van specifieke bestandssystemen, grafische routines en basisbibliotheken voor specifieke computertalen (libc, bijvoorbeeld).
  3. Daemons, processen die weliswaar niet bij de kernel horen, maar wel noodzakelijk zijn voor het functioneren van het systeem zoals programmamanagers, printermanagers, windowmanagers en cronachtige programma's. Daemons worden (in de regel) door het systeem zelf gestart en zijn voortdurend actief.
  • Netwerkprogrammatuur (bijvoorbeeld voor internet), FTP, NNTP- en IRC-servers en -cliënten.
  • Om te kunnen werken hebben computers ten minste firmware nodig, bijvoorbeeld het BIOS van een pc, maar in de regel bevat een computer een grote verscheidenheid aan software. De uitzondering hierop is een embedded system, dat over het algemeen uitsluitend op firmware berust.

Hardwareplatform[bewerken]

De ontwikkeling van software is naarmate die dichter bij de hardware staat, nauwer verweven met het platform waarop het werkt. Op het allerlaagste niveau dient de ontwikkelaar van dit soort software op de hoogte te zijn van de werking van de hardware, terwijl het op het hoogste niveau vaak mogelijk is software zo te schrijven dat die op een groot aantal verschillende platforms kan worden gebruikt, door handig gebruik te maken van verschillende abstractielagen. Goede voorbeelden hiervan zijn Qt van Nokia en de POSIX-standaard.

Realtimesoftware[bewerken]

Realtimesoftware geldt als een speciaal geval, waarin niet alleen het uiteindelijke resultaat, maar ook scherpe tijdsrestricties gelden. Voor alle software is van enig belang hoe snel de resultaten beschikbaar komen; in een tekstverwerker een paar minuten moeten wachten om naar een een volgende pagina te bladeren, zou niet aanvaardbaar zijn. Zakelijke en administratieve software, alsook simulatie van wiskundige modellen worden echter niet als realtime beschouwd. Er is geen directe relatie met processen buiten het softwaresysteem. Over het algemeen wordt een onderscheid gemaakt tussen

  • Soft real time, waarbij alleen een maximumresponstijd geldt, die afhankelijk is van de eisen; een voorbeeld is de navigatie- en doelzoeksoftware voor geleide wapens.
  • Hard real time, waarbij het systeem 'deterministisch' moet zijn.

Hoewel vele realtimetoepassingen eveneens embedded zijn, zijn de twee begrippen geenszins equivalent.

Ingebouwde software[bewerken]

Ingebouwde oftewel Embedded software is software die is ingebouwd in apparaten, zoals auto's, (antiblokkeersysteem) thermostaten, televisies, camera's, mobiele telefoons, Active Suspension, navigatiesystemen, dataloggers, gps-cliënten, remote sensors, satellieten.

Zie ook[bewerken]