Besturingssystemen (OS) kunnen een breed scala aan taken uitvoeren die verband houden met het beheer van hardware- en softwarebronnen. Er zijn echter verschillende dingen die ze doorgaans *niet* rechtstreeks afhandelen:
* Specifieke applicatielogica: Het besturingssysteem biedt de omgeving waarin applicaties kunnen worden uitgevoerd, maar bevat niet de code die de specifieke taken van die applicaties uitvoert (bijvoorbeeld tekstverwerking, beeldbewerking, surfen op het web). Dat is de verantwoordelijkheid van de individuele applicaties zelf.
* Solliciteergegevens op hoog niveau: Het besturingssysteem beheert de bestandsopslag en -toegang, maar begrijpt niet inherent de betekenis of structuur van de gegevens in de bestanden die door toepassingen zijn gemaakt. Het .docx-bestand van een tekstverwerker is slechts een verzameling bytes voor het besturingssysteem; de applicatie interpreteert die gegevens zelf.
* Ontwerp van gebruikersinterface (buiten het basisvensterbeheer): Hoewel het besturingssysteem een venstersysteem en basiselementen van de gebruikersinterface biedt, worden het specifieke uiterlijk en de complexiteit van de gebruikersinterface van applicaties afgehandeld door de applicaties zelf.
* Gespecialiseerde hardwarestuurprogramma's (soms): Hoewel het besturingssysteem de apparaatstuurprogramma's beheert, kan het zijn dat voor sommige zeer gespecialiseerde of laagwaardige hardware stuurprogramma's afzonderlijk zijn geschreven en onderhouden, buiten de kerncomponenten van het besturingssysteem. Dit komt nu minder vaak voor dan vroeger.
* Netwerkprotocolimplementatie (op het laagste niveau): Hoewel het besturingssysteem de netwerkconnectiviteit beheert, is de daadwerkelijke implementatie van netwerkprotocollen (zoals TCP/IP) vaak afhankelijk van bibliotheken en componenten die mogelijk worden geleverd door externe ontwikkelaars of die deel uitmaken van een bredere netwerkstack die samenwerkt met het besturingssysteem.
* Specifiek gebruikersbeveiligingsbeleid dat verder gaat dan basistoegangscontrole: Het besturingssysteem biedt basistoegangscontrolemechanismen (zoals machtigingen), maar zeer gedetailleerd of zeer gespecialiseerd beveiligingsbeleid (zoals preventie van gegevensverlies of geavanceerde inbraakdetectie) wordt meestal afgehandeld door afzonderlijke beveiligingssoftware die *bovenop* het besturingssysteem draait.
* Gegevenscodering/decodering (in rust en onderweg, in het algemeen): Hoewel een besturingssysteem encryptiediensten kan bieden, wordt de geavanceerde encryptie en decryptie van specifieke gegevensbestanden of communicatiestromen vaak beheerd door speciale encryptiesoftware of bibliotheken.
* Antivirus-/antimalwarefunctionaliteit: Dit is een beveiligingsmaatregel die naast het besturingssysteem wordt uitgevoerd, en niet als een integraal onderdeel ervan.
Kortom, het besturingssysteem biedt de basis, de tools en de omgeving. De specifieke applicatiefunctionaliteit en veel geavanceerde taken worden overgelaten aan de applicaties en gespecialiseerde software die *binnen* die omgeving draaien. |