Wat is een OS?
Toen ik begon op een MSX-2 homecomputer, wist ik niet eens dat er zoiets als een OS bestond. Later, wanneer er een auto voor de deur stopte met een pa die een grote doos in zijn handen had, begon ik in te zien dat er zoiets als [1] een programma bestaat om programma’s mee te starten. In die doos zat een heuse Escom 486 met 4 echte megabytes aan geheugen, waar windows 3.11 tevreden mee was.

Een pentium 3 was het vervolg, deze computer zat óók in een doos, en ging ook direct aan na de kabels te hebben geprikt. Vervolgens, een paar minuten wachten weiter, ging óók deze computer trouw wachten op invoer van iemand, met een mooi blauw scherm met overall kleine plaatjes. Ik wist inmiddels heel erg goed dat je zoiets als programma’s hebt, want ik kon toen programmeren in basic, quaken, whacky wheels spelen, typen in word en internetten met het blauwe e-plaatje.
Dat kon op één of andere manier door iets wat windows heet. Maar ik had geen interesse noch noodzaak om te weten te komen hóé en wáárom nou precies “windows”.
Nu, jaren later, heb ik die interesse wel. Echter, ik kan de vraag: “wat is een OS” alleen nog steeds niet 100% zelfverzekerd goed beantwoorden. Een hoop antwoorden die ik heb bedacht, zijn niet de goede antwoorden. Enerzijds omdat een OS veranderd, anderzijds omdat mijn begrip steeds beter wordt.
[2] Een OS is een set veelgebruikte functies voor programma’s, zodat functies niet vaker hoeven worden geimplementeerd.
Dat is wat ik tot voor kort dacht.
Tot een vriend van me op dit verhaal attendeerde, geschreven door Neil Stephensonoverigens makkelijk te vinden op het web met creatief googelen. Ik heb het gelezen, nogmaals gelezen, en nogmaals goed gelezen. Hoewel geschreven in 1998, misschien wel nú op het hoogtepunt van de actualiteit met Mac OS 10.6, Windows 7 en Ubuntu Jacky Jackalope.
Wát een verhaal.
Er worden hier rake klappen uitgedeeld aan mijn perceptie van wat nu precies een OS is. Ééntje die lekker aankwam:
Het verhaal (niet deze quote) maakt niet alleen duidelijk wat een OS precies is, maar het geeft ook een onbetaalbare blik op hoe nu precies de operating system markt in elkaar steekt. Neem nu deze:
We gaan even verder op [3] “Een OS is een set API’s”. Dat is zo, maar niet helemaal volledig denk ik. Er mist nog iets bij van de GUI, en de gebundelde programma’s. Van de GUI kunnen we stellen dat dit bij de API’s hoort. Van een configuratiescherm om je lokale instellingen te doen, tot het vrijgeven van een API die de standaard windows tekent, zoals een simpele messagebox en de bekende balk met minimize, maximize en close. De gebundelde programma’s zijn in feite ook niet meer dan veruit gegeneraliseerde programma’s, voor de meest voorkomende taken. Zoals bijvoorbeeld wordpad, paint, notepad, defraggen, vul maar in. In feite past dat ook in het “Een OS is een set API’s”. Een iets eloquentere poging: [4] “Een OS is een set veelgebruikte functionaliteit voor developers en eindgebuikers”. Maar ik twijfel er niet aan of ook deze poging gaat óók ooit voor de leeuwen. Misschien wel door jouw.

Als toetje wil ik jullie graag nog deze meegeven uit het verhaal.

Een pentium 3 was het vervolg, deze computer zat óók in een doos, en ging ook direct aan na de kabels te hebben geprikt. Vervolgens, een paar minuten wachten weiter, ging óók deze computer trouw wachten op invoer van iemand, met een mooi blauw scherm met overall kleine plaatjes. Ik wist inmiddels heel erg goed dat je zoiets als programma’s hebt, want ik kon toen programmeren in basic, quaken, whacky wheels spelen, typen in word en internetten met het blauwe e-plaatje.
Dat kon op één of andere manier door iets wat windows heet. Maar ik had geen interesse noch noodzaak om te weten te komen hóé en wáárom nou precies “windows”.
Nu, jaren later, heb ik die interesse wel. Echter, ik kan de vraag: “wat is een OS” alleen nog steeds niet 100% zelfverzekerd goed beantwoorden. Een hoop antwoorden die ik heb bedacht, zijn niet de goede antwoorden. Enerzijds omdat een OS veranderd, anderzijds omdat mijn begrip steeds beter wordt.
[2] Een OS is een set veelgebruikte functies voor programma’s, zodat functies niet vaker hoeven worden geimplementeerd.
Dat is wat ik tot voor kort dacht.
Tot een vriend van me op dit verhaal attendeerde, geschreven door Neil Stephensonoverigens makkelijk te vinden op het web met creatief googelen. Ik heb het gelezen, nogmaals gelezen, en nogmaals goed gelezen. Hoewel geschreven in 1998, misschien wel nú op het hoogtepunt van de actualiteit met Mac OS 10.6, Windows 7 en Ubuntu Jacky Jackalope.
Wát een verhaal.
Er worden hier rake klappen uitgedeeld aan mijn perceptie van wat nu precies een OS is. Ééntje die lekker aankwam:
“Most people who shop for OSes (if they bother to shop at all) are comparing not the underlying functions but the superficial look and feel. The average buyer of an OS is not really paying for, and is not especially interested in, the low-level code that allocates memory or writes bytes onto the disk. What we're really buying is a system of metaphors. And--much more important--what we're buying into is the underlying assumption that metaphors are a good way to deal with the world.”

Het verhaal (niet deze quote) maakt niet alleen duidelijk wat een OS precies is, maar het geeft ook een onbetaalbare blik op hoe nu precies de operating system markt in elkaar steekt. Neem nu deze:
Om het simpel te stellen: Een OS is een set API’s (functionaliteit). Functionaliteit die developers (van linus op z’n zolderkamer, tot Big Corp. met een leger aan devvers) willen uitbreiden. Daaruit volgt dat het idioterie is om deze API’s proprietair te houden (lees: closed source). Windows en Mac OS (of ieder ander OS) closed houden is daarom per definitie een designfout. Omdat het veelgebruikte functionaliteit betreft die, geve het tijd, tóch wel open worden geimplementeerd, en, niet onbelangrijk: de developers moeten het kunnen uitbreiden, wat bij een gesloten systeem near-impossible is. Getuige de vele OSS OS projecten.“Why, then, do I say that Microsoft is not such a great operating systems company? Because the very nature of operating systems is such that it is senseless for them to be developed and owned by a specific company. It's a thankless job to begin with. Applications create possibilities for millions of credulous users, whereas OSes impose limitations on thousands of grumpy coders, and so OS-makers will forever be on the shit-list of anyone who counts for anything in the high-tech world. Applications get used by people whose big problem is understanding all of their features, whereas OSes get hacked by coders who are annoyed by their limitations. The OS business has been good to Microsoft only insofar as it has given them the money they needed to launch a really good applications software business and to hire a lot of smart researchers. Now it really ought to be jettisoned, like a spent booster stage from a rocket. The big question is whether Microsoft is capable of doing this. Or is it addicted to OS sales in the same way as Apple is to selling hardware?”
We gaan even verder op [3] “Een OS is een set API’s”. Dat is zo, maar niet helemaal volledig denk ik. Er mist nog iets bij van de GUI, en de gebundelde programma’s. Van de GUI kunnen we stellen dat dit bij de API’s hoort. Van een configuratiescherm om je lokale instellingen te doen, tot het vrijgeven van een API die de standaard windows tekent, zoals een simpele messagebox en de bekende balk met minimize, maximize en close. De gebundelde programma’s zijn in feite ook niet meer dan veruit gegeneraliseerde programma’s, voor de meest voorkomende taken. Zoals bijvoorbeeld wordpad, paint, notepad, defraggen, vul maar in. In feite past dat ook in het “Een OS is een set API’s”. Een iets eloquentere poging: [4] “Een OS is een set veelgebruikte functionaliteit voor developers en eindgebuikers”. Maar ik twijfel er niet aan of ook deze poging gaat óók ooit voor de leeuwen. Misschien wel door jouw.

Als toetje wil ik jullie graag nog deze meegeven uit het verhaal.
“There are only two ways to sell a product: price and features. When OSes are free, OS companies cannot compete on price, and so they compete on features. This means that they are always trying to outdo each other writing code that, until recently, was not considered to be part of an OS at all: stuff like GUIs. This explains a lot about how these companies behave.
It explains why Microsoft added a browser to their OS, for example. It is easy to get free browsers, just as to get free OSes. If browsers are free, and OSes are free, it would seem that there is no way to make money from browsers or OSes. But if you can integrate a browser into the OS and thereby imbue both of them with new features, you have a salable product.
Setting aside, for the moment, the fact that this makes government anti-trust lawyers really mad, this strategy makes sense. At least, it makes sense if you assume (as Microsoft's management appears to) that the OS has to be protected at all costs. The real question is whether every new technological trend that comes down the pike ought to be used as a crutch to maintain the OS's dominant position. Confronted with the Web phenomenon, Microsoft had to develop a really good web browser, and they did. But then they had a choice: they could have made that browser work on many different OSes, which would give Microsoft a strong position in the Internet world no matter what happened to their OS market share. Or they could make the browser one with the OS, gambling that this would make the OS look so modern and sexy that it would help to preserve their dominance in that market. The problem is that when Microsoft's OS position begins to erode (and since it is currently at something like ninety percent, it can't go anywhere but down) it will drag everything else down with it.”
06-'09 Thinkpads dethroned
05-'09 Usability award
Reacties
Dat linkse PC'tje uit bovenste plaatje heb ik nog gehad, maar dan met een 133MHz processor.
Wat heb ik een plezier beleeft aan dat ding.
Tja, het begrip OS is imho ook steeds meer veranderd in de afgelopen jaren.
Waar het vroeger echt alleen het onderliggende systeem ( jouw set van API's + enkele uitbreidingen ) was, is het nu uitgegroeid tot een multimediale set programma's.
Zoals je laatste quote al aangeeft bevat Windows "tegenwoordig" een browser, maar het bevat ook een ftp-client en een tekenprogramma en een tekstverwerkingsprogramma en een muziek speler en een video speler en .. en...
Is dit allemaal onderdeel van het OS? Voor de hard-core tweaker misschien niet, maar de gemiddelde huismoeder kan zonder IE geen internet op haar nieuwe pc met het nieuwste OS krijgen.
In wezen net zoiets als dat linux officieel alleen de kernel is, maar bijna iedereen gebruikt een distributie.
Waar een echt OS vroeger volstond als lader van de programma's + enkele API's wordt er tegenwoordig gewoon veel meer van verwacht, en is het OS dan de oude definitie of de huidige?
Waar het vroeger echt alleen het onderliggende systeem ( jouw set van API's + enkele uitbreidingen ) was, is het nu uitgegroeid tot een multimediale set programma's.
Zoals je laatste quote al aangeeft bevat Windows "tegenwoordig" een browser, maar het bevat ook een ftp-client en een tekenprogramma en een tekstverwerkingsprogramma en een muziek speler en een video speler en .. en...
Is dit allemaal onderdeel van het OS? Voor de hard-core tweaker misschien niet, maar de gemiddelde huismoeder kan zonder IE geen internet op haar nieuwe pc met het nieuwste OS krijgen.
In wezen net zoiets als dat linux officieel alleen de kernel is, maar bijna iedereen gebruikt een distributie.
Waar een echt OS vroeger volstond als lader van de programma's + enkele API's wordt er tegenwoordig gewoon veel meer van verwacht, en is het OS dan de oude definitie of de huidige?
Mooi verhaal. Vooral die quotes zijn geweldig
niemand die beveiliging deel van het OS ziet?
Het begrip 'operating system' is altijd al hetzelfde geweest: de interface tussen de gebruiker en de computerhardware. Simpel, of niet? 
Nee, want elk willekeurig programma draaiend op een OS kan die functie net zo goed vervullen, een interface zijn tussen de gebruiker en de hardware.Mike-RaWare
Het begrip 'operating system' is altijd al hetzelfde geweest: de interface tussen de gebruiker en de computerhardware. Simpel, of niet?
[Reactie gewijzigd op dinsdag 12 mei 2009 20:53]
Het toetje vind ik nergens op slaan, dat 'modern' en 'sexy' is iets van de afgelopen jaren, in die tijd (circa Windows 98) was het waarschijnlijk meer een poging om het besturingssysteem te voorzien van functionaliteit die meer overeenkwam met de werking van het Internet (op een gegeven moment was het bijvoorbeeld mogelijk om 'Windows Verkenner' als browser te gebruiken, inclusief bestandsnamen als hyperlinks). Dat is toen een beetje doorgeslagen, getuige het gezeik rondom Microsoft.
Trouwens, 'modern' en 'sexy' is wat Windows (voor mij) min of meer de nek heeft omgedraaid vanaf XP; een wildgroei aan verschillende paradigma, indelingen en thema's voor programma's. Microsoft probeert het met Vista en met name met 7 weer terug te draaien, maar de schade is gedaan vrees ik (Steam, iTunes, Norton AV, dat soort applicaties hebben alleen een eigen (G)UI). Mac OS heeft dat soort dingen altijd redelijk in de hand gehouden, en de ontwikkelaars achter de vele Linux varianten boeit het duidelijk niet echt (mijn inziens de reden dat het met Linux voorlopig nog niet veel zal worden).
En er kan nog wel een kritiek bij; 'they are always trying to outdo each other writing code that, until recently, was not considered to be part of an OS at all: stuff like GUIs'. Onzin. Dit illustreert des te meer wat en hoe deze auteur daadwerkelijk denkt; een GUI is immers geen code. Natuurlijk evolueert het idee achter een OS (zie bijvoorbeeld de iPhone), maar een GUI is altijd een integraal deel geweest van het OS, in sommige meer dan andere.
Ik denk dat ook zoiets als MS-DOS ook niet echt als besturingssysteem meer kan worden gezien in de huidige zin van het woord; meer een booter. Zaken als hardware, afgezien van de low-level functies, moesten toen ook nog door applicaties zelf kunnen worden aangesproken. Drivers e.d. waren er slechts voor de low-level apperaten (zoals een muis of een cd-rom speler).
Trouwens, 'modern' en 'sexy' is wat Windows (voor mij) min of meer de nek heeft omgedraaid vanaf XP; een wildgroei aan verschillende paradigma, indelingen en thema's voor programma's. Microsoft probeert het met Vista en met name met 7 weer terug te draaien, maar de schade is gedaan vrees ik (Steam, iTunes, Norton AV, dat soort applicaties hebben alleen een eigen (G)UI). Mac OS heeft dat soort dingen altijd redelijk in de hand gehouden, en de ontwikkelaars achter de vele Linux varianten boeit het duidelijk niet echt (mijn inziens de reden dat het met Linux voorlopig nog niet veel zal worden).
En er kan nog wel een kritiek bij; 'they are always trying to outdo each other writing code that, until recently, was not considered to be part of an OS at all: stuff like GUIs'. Onzin. Dit illustreert des te meer wat en hoe deze auteur daadwerkelijk denkt; een GUI is immers geen code. Natuurlijk evolueert het idee achter een OS (zie bijvoorbeeld de iPhone), maar een GUI is altijd een integraal deel geweest van het OS, in sommige meer dan andere.
Ik denk dat ook zoiets als MS-DOS ook niet echt als besturingssysteem meer kan worden gezien in de huidige zin van het woord; meer een booter. Zaken als hardware, afgezien van de low-level functies, moesten toen ook nog door applicaties zelf kunnen worden aangesproken. Drivers e.d. waren er slechts voor de low-level apperaten (zoals een muis of een cd-rom speler).
Mjah. Het is een beetje flauw dat ik een klein deeltje van je betoog pak en die feitelijk onjuist verklaar bij deze, maar dat is eigenlijk wat je zelf ook doet. Neal Stephenson heeft wel degelijk een heel groot punt te pakken. En ik heb het idee dat hij het zeer goed begrepen heeft. Ik raadt je aan om het verhaal eens goed te lezen:Bart Brinkman
[...]een GUI is altijd een integraal deel geweest van het OS, in sommige meer dan andere.
"In the beginning, there was a command prompt"
Dat zeggen is hetzelfde dat elk willekeurig wiel de functie van een auto net zo goed zou kunnen vervullen: het transporteren van personen van A naar B. Ik ben van mening dat een programma eigenlijk maar een extensie van het besturingssysteem is.Nee, want elk willekeurig programma draaiend op een OS kan die functie net zo goed vervullen, een interface zijn tussen de gebruiker en de hardware.
Ik vind het altijd jammer dat als er dan een discussie ontstaat, dat er dan niet vanuit wordt gegaan dat je 2 standpunten kan hebben.
Getuige het 'weet je wat, lees anders het verhaal nog eens'.
Dat zijn slechte argumenten. Bart heeft gelijk, als in dat GUI voorzien in een behoefte. Immers je kan geen dingen tekenen en teksten editen in een command prompt. Dat alles in command prompt dan begint, ok, maar beste Neil typt ook gewoon in een tekstverwerker, zelfs in 1998.
Dat jij weer gelijk hebt dat het met een command prompt begon, ok, maar dat doet niks af aan het argument van Bart en men zou ter goede trouw moeten zijn en er van uit gaan dat wie reageert ook geïnteresseerd is in wat je zegt, en dus ook heus wel leest wat je geeft in je link.
Sorry dat het misschien wat streng klinkt maar het komt een beetje krom op mij over. 'Nee wacht je snapt mijn punt niet, lees anders mijn bron nog eens, want hij snapt het wel'.
Getuige het 'weet je wat, lees anders het verhaal nog eens'.
Dat zijn slechte argumenten. Bart heeft gelijk, als in dat GUI voorzien in een behoefte. Immers je kan geen dingen tekenen en teksten editen in een command prompt. Dat alles in command prompt dan begint, ok, maar beste Neil typt ook gewoon in een tekstverwerker, zelfs in 1998.
Dat jij weer gelijk hebt dat het met een command prompt begon, ok, maar dat doet niks af aan het argument van Bart en men zou ter goede trouw moeten zijn en er van uit gaan dat wie reageert ook geïnteresseerd is in wat je zegt, en dus ook heus wel leest wat je geeft in je link.
Sorry dat het misschien wat streng klinkt maar het komt een beetje krom op mij over. 'Nee wacht je snapt mijn punt niet, lees anders mijn bron nog eens, want hij snapt het wel'.
Interessant. Dus op gegeven moment, jááren later van nu, komt er dus een punt waarbij een OS niet meer hoeft uitgebreid te worden? Want de open implementatie van generale functionaliteit gebeurd in een OS. Op gegeven moment zal er dus een punt komen waarbij alleen voor zeer specifieke functionaliteit het OS moet worden uitgebreid.Mike-RaWare
Ik ben van mening dat een programma eigenlijk maar een extensie van het besturingssysteem is.
Hoe zit het dan bijvoorbeeld met een web browser?
Ik heb de neiging dingen soms scherp te stellen, zonder hierbij de intentie te hebben mijn gelijk te halen of anderen onderuit te halen. Bloggen en reageren is een nuance die ik na bijna tien jaar nog steeds niet goed onder de knie heb, maar het begint te komen, hoop ik.EnzoMatrix
Dat jij weer gelijk hebt dat het met een command prompt begon, ok, maar dat doet niks af aan het argument van Bart en men zou ter goede trouw moeten zijn en er van uit gaan dat wie reageert ook geïnteresseerd is in wat je zegt, en dus ook heus wel leest wat je geeft in je link.
Ik wilde Bart slechts een spiegel voorhouden. Mijn verwoording is misschien wat kortaf en lijkt op de man gericht. In mijn ogen is een discussie slechts een discussie als je samen tot iets nieuws komt.
In dit geval was de quote een quote: een uit zijn verband gerukt gedeelte die slechts tot een goed begrip gelezen kan worden als je de gehele context erbij pakt. Ik gebruik die quote om mijn punt te verstevigen in mijn post.
[Reactie gewijzigd op dinsdag 12 mei 2009 21:41]
De interface tussen de hardware en de software, te besturen middels een UI.Het begrip 'operating system' is altijd al hetzelfde geweest: de interface tussen de gebruiker en de computerhardware. Simpel, of niet?
Klinkt dat niet tof?
Een OS is het basis systeem welke alle functies beschikbaar maakt aan de applicaties.
Werkt het OS met een GUI, dan zijn de (meest basale) functies van die GUI deel van het OS.
Ik heb snel even gelezen wat die man schreef, maar als hij gaat vergelijken met auto's, dan ben ik er helemaal klaar mee.
Wie kent niet die grap; als computers auto's zouden zijn, dan maakte MS een auto die .... en Linux een auto die .... en Apple een auto die ...
Computer zijn geen auto's en het vergelijken ervan slaat op kaas. (en hij gaat helemaal met die MS bashing mee
)
En waarom zouden OSsen gratis moeten zijn
Mogen de bedrijven die ze maken dan geen geld verdienen? Waarom mogen autofabrikanten dat dan wel?
Wat wij nu leren is dat we in een snel veranderende wereld leven. Dingen blijven niet hetzelfde, OSsen ook niet. Ik vermoed dat niemand dat tegen die man verteld heeft
Werkt het OS met een GUI, dan zijn de (meest basale) functies van die GUI deel van het OS.
Ik heb snel even gelezen wat die man schreef, maar als hij gaat vergelijken met auto's, dan ben ik er helemaal klaar mee.
Computer zijn geen auto's en het vergelijken ervan slaat op kaas. (en hij gaat helemaal met die MS bashing mee
En waarom zouden OSsen gratis moeten zijn
Als alles gratis is, waarom zou er dan nog competitie zijn“There are only two ways to sell a product: price and features. When OSes are free, OS companies cannot compete on price, and so they compete on features.
Wat wij nu leren is dat we in een snel veranderende wereld leven. Dingen blijven niet hetzelfde, OSsen ook niet. Ik vermoed dat niemand dat tegen die man verteld heeft
Ook ik heb getracht het verhaal van Neal Stephenson te lezen, maar wat hij, nog meer dan kennis, lijkt te ontberen is een goeie schrijfstijl.
Ik ben gekomen tot, wat je zou kunnen noemen, 15 pagina's. Op een gegeven moment ben ik maar gestopt met het tellen van de fouten. Om even een korte opsomming te maken van de meest duidelijke:
Al bij regel 4 gaat het mis. "Bill Gates and Paul Allen came up with an idea even stranger and more fantastical: selling computer operating systems." Daar blijkt al dat zijn kennis niet veel verder gaat dan zijn ervaring. Hij laat hier doorschemeren dat hij denkt dat MS-DOS het eerste OS was dat verkocht werd. Dat slaat natuurlijk nergens op. Al in de 60-er jaren werden er OSsen verkocht. Helaas blijkt Niel's ervaring niet zo ver te reiken.
Moving on, even later verteld hij over de frequentie waarmee OSsen in kranten genoemd worden. Om vervolgens een voorbeeld te geven van een vrouw die een e-mail 'relatie' had afgebroken omdat: "he started going all PC-versus-Mac on me.". Alles leuk en aardig, maar met een OS heeft het vrijwel niets te maken. Alsof e-mail's sturen een taak is die het OS vervult en alsof de MAC vs PC discussie over een OS gaat. Macintosh vs Windows wel natuurlijk, maar dat is iets anders. Op een MAC konden (toen ook al) meerdere OSsen. Op een PC ook.
Vervolgens vertelt hij, in zijn absurde vergelijking met autodealers, dat Windows 95 uitkwam. Dan: "A little later, they also came out with a hulking off-road vehicle intended for industrial users (Windows NT ) which was no more beautiful than the station wagon, and only a little more reliable." Dit toont alweer aan hoe goed Stephenson zijn feiten op orde heeft. Zoals de gemiddelde Tweaker wel weet kwam 95 natuurlijk na NT
Vervolgens begint hij over het begin van computers. "humans, quite naturally, communicated with them by simply grafting them on to the already-existing technologies for translating letters into bits and vice versa: teletypes and punch card machines.". Hieruit blijkt ook weer zijn gebrek aan gedegen research. De getrainde Tweaker zal snel zien wat er mis gaat in de buurt van het woord 'bits'.
Natuurlijk zijn dit enkel wat feiten die hij fout heeft. Maar ook zijn verhaal klopt (voor zover ik het gelezen heb) van geen kanten. Zo ook al de quote die jij geeft: "In the beginning, there was a command prompt". Die was er in het begin helemaal niet. Toen hij met computers (of OSsen, hoe je het ook wilt) begon te praten was d'r een command prompt ja. Maar die luxe hadden zijn voorgangers niet.
Om even terug te komen op de daadwerkelijke punten die je wilt bespreken hier:
Ik ben er persoonlijk van overtuigd dat jouw stellingname, namelijk: "Een OS is een set API’s (met/with GUI)" nergens op slaat. Een API is, de naam zegt het al, een interface. Het is juist wat daaronder gebeurt wat een OS zo complex maakt. Een aantal eigenschappen die de meeste OSsen bezitten en jij hiermee negeert zijn:
- Scheduling
- File system (management)
- Memory management
- Device management
- Processor management
- Bootstrapping
Hoewel ik mij eigenlijk niet aan een definitie van een OS wil wagen, vind ik zelf deze definitie (gevonden met een snelle google search) meer in de buurt komen:
Software designed to control the hardware of a specific data-processing system in order to allow users and application programs to make use of it.
Persoonlijk ben ik overigens van mening dat een GUI niet deel maakt van een OS. Hoewel soms onlosmakelijk verbonden, kan een OS nog altijd zijn taken vervullen zonder de GUI.
Ik ben gekomen tot, wat je zou kunnen noemen, 15 pagina's. Op een gegeven moment ben ik maar gestopt met het tellen van de fouten. Om even een korte opsomming te maken van de meest duidelijke:
Al bij regel 4 gaat het mis. "Bill Gates and Paul Allen came up with an idea even stranger and more fantastical: selling computer operating systems." Daar blijkt al dat zijn kennis niet veel verder gaat dan zijn ervaring. Hij laat hier doorschemeren dat hij denkt dat MS-DOS het eerste OS was dat verkocht werd. Dat slaat natuurlijk nergens op. Al in de 60-er jaren werden er OSsen verkocht. Helaas blijkt Niel's ervaring niet zo ver te reiken.
Moving on, even later verteld hij over de frequentie waarmee OSsen in kranten genoemd worden. Om vervolgens een voorbeeld te geven van een vrouw die een e-mail 'relatie' had afgebroken omdat: "he started going all PC-versus-Mac on me.". Alles leuk en aardig, maar met een OS heeft het vrijwel niets te maken. Alsof e-mail's sturen een taak is die het OS vervult en alsof de MAC vs PC discussie over een OS gaat. Macintosh vs Windows wel natuurlijk, maar dat is iets anders. Op een MAC konden (toen ook al) meerdere OSsen. Op een PC ook.
Vervolgens vertelt hij, in zijn absurde vergelijking met autodealers, dat Windows 95 uitkwam. Dan: "A little later, they also came out with a hulking off-road vehicle intended for industrial users (Windows NT ) which was no more beautiful than the station wagon, and only a little more reliable." Dit toont alweer aan hoe goed Stephenson zijn feiten op orde heeft. Zoals de gemiddelde Tweaker wel weet kwam 95 natuurlijk na NT
Vervolgens begint hij over het begin van computers. "humans, quite naturally, communicated with them by simply grafting them on to the already-existing technologies for translating letters into bits and vice versa: teletypes and punch card machines.". Hieruit blijkt ook weer zijn gebrek aan gedegen research. De getrainde Tweaker zal snel zien wat er mis gaat in de buurt van het woord 'bits'.
Natuurlijk zijn dit enkel wat feiten die hij fout heeft. Maar ook zijn verhaal klopt (voor zover ik het gelezen heb) van geen kanten. Zo ook al de quote die jij geeft: "In the beginning, there was a command prompt". Die was er in het begin helemaal niet. Toen hij met computers (of OSsen, hoe je het ook wilt) begon te praten was d'r een command prompt ja. Maar die luxe hadden zijn voorgangers niet.
Om even terug te komen op de daadwerkelijke punten die je wilt bespreken hier:
Ik ben er persoonlijk van overtuigd dat jouw stellingname, namelijk: "Een OS is een set API’s (met/with GUI)" nergens op slaat. Een API is, de naam zegt het al, een interface. Het is juist wat daaronder gebeurt wat een OS zo complex maakt. Een aantal eigenschappen die de meeste OSsen bezitten en jij hiermee negeert zijn:
- Scheduling
- File system (management)
- Memory management
- Device management
- Processor management
- Bootstrapping
Hoewel ik mij eigenlijk niet aan een definitie van een OS wil wagen, vind ik zelf deze definitie (gevonden met een snelle google search) meer in de buurt komen:
Software designed to control the hardware of a specific data-processing system in order to allow users and application programs to make use of it.
Persoonlijk ben ik overigens van mening dat een GUI niet deel maakt van een OS. Hoewel soms onlosmakelijk verbonden, kan een OS nog altijd zijn taken vervullen zonder de GUI.
[quote=SPee]Als alles gratis is, waarom zou er dan nog competitie zijn
[/qoute]
Omdat de mens nu eenmaal competitief ingesteld is, of er nu geld of geen geld is.
Omdat de mens nu eenmaal competitief ingesteld is, of er nu geld of geen geld is.
* ViperNL84 moddert nijntje op +2 
Strikt genomen heb je denk ik gelijk. Maar die feiten die onjuist op de letter zijn, zijn eigenlijk irrelevant voor zijn betoog. Feiten die hij noemt die onjuist zijn, die zijn betoog onderuit halen vind ik eerlijk gezegd veel interresanter. Of NT nu vóór of na 95 kwam, tsjah. Je hebt wel een punt als je zegt dat hij beter vooronderzoek had moeten doen.Nijn
Gooit feiten gesteld door Neil omver
Ik ben wel meer dingen tegengekomen die hij noemt die dubieus zijn. Maar zijn vergelijkingen vind ik juist erg goed. Het helpt voor mij ontzettend om nu precies te begrijpen wat er aan de hand is in OS-land.
Volgens mij is een API juist een set aan functionaliteiten die veel gebruikt zijn, en daarom in een API van een OS thuishoren. Kijk, technisch gezien is het een interface. De interface is een noodzakelijk contract tussen de ontwerper en de consument (software of ontwikkelaars). Dus die interface is er slechts om het technisch mogelijk te kunnen maken de functionaliteit te delen. Scheduling, FS, MM, device management, bootstrapping vallen technisch gezien misschien niet onder de definitie. Maar ze zijn noodzakelijk om de generale functionaliteit aan te bieden voor ontwikkelaars en eindgebruikers.
De definitie die jij geeft bekijkt het ook vanuit een behoorlijk technisch perspectief. Dát is juist hetgene wat volgens mij -technisch gezien- klopt. Maar een OS is er niet voor de techniek, uiteindelijk is een OS gemaakt voor mensen, om functies te kunnen doen. De definitie neerzetten vanuit technisch oogpunt lijkt mij dan ook geen juiste.
Overigens is de GUI iets wat dit hele verhaal best lastig maakt. In veel discussies was de GUI ook regelmatig een struikelblok gebleken. Overigens ben ik het niet eens met je laatste zin. Er zijn denk ik veel functies, zeker in Windows en Mac OS die je niet uit kan voeren louter vanuit de command prompt.
[Reactie gewijzigd op dinsdag 12 mei 2009 23:16]
Dus als ik het goed begrijp probeer je van een stuk software, wat puur technisch is, een niet-technische definitie te vinden die technisch wel klopt? Ik geef het je te doen. Vergeet daarbij niet dat de oorsprong van OSsen helemaal niet in de consumer market ligt. Hell, niet eens in het makkelijker maken van de dagelijkse bediening.
Daarnaast, wat doet het er toe?
Wat betreft de GUI, Natuurlijk zijn er functies die je niet kunt uitvoeren zonder de GUI. Maar dat neemt niet weg dat het OS zelf prima kan functioneren zonder. Het betekend enkel dat de shell die jij gebruikt ontoereikend is. Maar een shell is geen onderdeel van het OS maar een van de programma's die op het OS draaien.
Let wel, ik heb het hier over het OS. In Windows en OSX zitten er talloze andere frutsels omheen. Zo zie ik het task manager scherm van Windows niet als onderdeel van het OS. Immers, alles wat dat scherm doet is gebruik maken van functies van het OS. Andere programma's zouden dat ook kunnen doen.
Kortweg zie ik in Windows, Linux en MacOSX geen functies die niet bereikbaar gemaakt zouden kunnen worden in een alternatieve shell. (functies die direct betrekking hebben op de GUI daargelaten natuurlijk). Immers, de standaard shell (in de volksmond de GUI) maakt ook gewoon gebruik van de API's.
Dat betekend dus dat een GUI geen deel uitmaakt van het OS.
Als je het op deze (strikte) manier bekijkt, heeft het OS vrijwel niets te maken met de gebruikerservaring (direct dan). en kun je een OS ook gewoon zien als een stukje techniek dat op technische wijze gedefinieerd kan worden.
Daarnaast, wat doet het er toe?
Wat betreft de GUI, Natuurlijk zijn er functies die je niet kunt uitvoeren zonder de GUI. Maar dat neemt niet weg dat het OS zelf prima kan functioneren zonder. Het betekend enkel dat de shell die jij gebruikt ontoereikend is. Maar een shell is geen onderdeel van het OS maar een van de programma's die op het OS draaien.
Let wel, ik heb het hier over het OS. In Windows en OSX zitten er talloze andere frutsels omheen. Zo zie ik het task manager scherm van Windows niet als onderdeel van het OS. Immers, alles wat dat scherm doet is gebruik maken van functies van het OS. Andere programma's zouden dat ook kunnen doen.
Kortweg zie ik in Windows, Linux en MacOSX geen functies die niet bereikbaar gemaakt zouden kunnen worden in een alternatieve shell. (functies die direct betrekking hebben op de GUI daargelaten natuurlijk). Immers, de standaard shell (in de volksmond de GUI) maakt ook gewoon gebruik van de API's.
Dat betekend dus dat een GUI geen deel uitmaakt van het OS.
Als je het op deze (strikte) manier bekijkt, heeft het OS vrijwel niets te maken met de gebruikerservaring (direct dan). en kun je een OS ook gewoon zien als een stukje techniek dat op technische wijze gedefinieerd kan worden.
[Reactie gewijzigd op woensdag 13 mei 2009 03:22]
Hmm, maar een OS tegenwoordig nog reduceren tot een (simpel maar complex) stukje techniek vind ik niet echt handig. Het is in de meest ruime zin een paradigma; dit zie je overal terug; in het ontwerp van de kernel, het bestandssysteem, geheugenbeheer, etc. En dus ook in de interface met de gebruiker. En ik denk dat de gebruiker onlosmakelijk is verbonden met een besturingssysteem, aangezien de hele functie van het besturingssysteem uiteindelijk het toegankelijk maken en benuttigen van hardware, voor ons (zelfs voor de meest slimme programmeur) over het algemeen volledig nutteloos zonder fatsoenlijk OS. De GUI, of shell, of prompt, hoort daar gewoon bij.
Overigens, zelfs in vele strikte (technische) definities wordt de set programma's genoemd die (gelaagd) deel uit maken van het besturingssysteem. Een OS is dus zonder deze nog steeds een OS, maar incompleet, en laten we wel wezen, praktisch onbruikbaar.
Overigens, zelfs in vele strikte (technische) definities wordt de set programma's genoemd die (gelaagd) deel uit maken van het besturingssysteem. Een OS is dus zonder deze nog steeds een OS, maar incompleet, en laten we wel wezen, praktisch onbruikbaar.
Volgens mij zijn OS'en er altijd op gericht geweest de bediening te vereenvoudigen. Vanaf het moment dat er met louter bits werd gewerkt in de eerste computers in de jaren 50 van de vorige eeuw. Toen was er nog geen OS, het ontwikkelen ging pijnlijk, en een OS werd onder andere ontworpen om functionaliteit voor de gebruiker ter beschikking te stellen.Vergeet daarbij niet dat de oorsprong van OSsen helemaal niet in de consumer market ligt. Hell, niet eens in het makkelijker maken van de dagelijkse bediening.
Ik denk ook niet dat een stukje software puur technisch is. Er komt een hoop organisatie, zakenkennis, psychologie, grafisch ontwerp, documentatie en meer bij kijken wat niet zozeer technisch is. Als je over software spreekt in de zuivere technische gedaante dan mis je denk ik een hoop essentiële onderdelen waardoor de software niet goed kan functioneren.
In alle moderne OS'sen worden GUI's meegeleverd. Windows, Linux, Mac OS, Windows Mobile, Unix, BeOS, Stellen dat de GUI geen deel uitmaakt van het OS vind ik dan ook moeilijk te begrijpen. Overigens zijn er ook programma's die taken overnemen die jij kerntaken noemt, zoals memory management, file system management. Dat gebeurde overigens vooral jaren geleden, toen OS'en nog niet die functionaliteit genoeg uitontwikkeld hadden.
Dit is ongeveer wat Neil zegt, en wat voor mij dus een hele eye-opener was. Neil stelt het zelfs nog extremer: een set metaforen. Óók dat zie je vervolgens terug in OS'en: 'paging', 'folders', 'files', 'window', 'memory', en zo kan je een hele tijd door blijven gaan.Bart Brinkman
Het is in de meest ruime zin een paradigma; dit zie je overal terug; in het ontwerp van de kernel, het bestandssysteem, geheugenbeheer, etc. En dus ook in de interface met de gebruiker.
Ach, los vertaald is dat wat een paradigma is. Je ziet ook dat dit sterk verschilt per OS, en ook meestal bepaald wat mensen prettig vinden werken. Grappig genoeg zie je ook dat dit paradigma ook gelijk definieert hoe een besturingssysteem daadwerkelijk in elkaar steekt; in welke context je de term OS kunt zien. Zo is Mac OS (t/m 9) altijd vrij gesloten geweest, en is de GUI onlosmakelijk verbonden met de rest van het OS (zelfs als ontwikkelaar zul je dit moeten erkennen; deze valt immers niet te vervangen, en taken uitvoeren zonder gaat al helemaal niet lukken). Komen we echter bij OS X, dan zien we dat het speelveld is opengebroken, en we zelfs KDE of Gnome kunnen gaan gebruiken. Min of meer dan. En vergeet natuurlijk de shells niet; tezamen met Applescript kunnen we veel grafische taken bijvoorbeeld ook in scripts vastleggen. Toch behoort de GUI, Aqua, nog steeds tot het OS, volgens Apple dan. Kijk bijvoorbeeld naar al die Core services. Of dingen als spellingscontrole of Spotlight; standaard (gegarandeerd) beschikbaar voor alle OS X applicaties.Neil stelt het zelfs nog extremer: een set metaforen.
Linux is natuurlijk het andere uiterste; vraag een 'Linux-programmeur' wat een besturingssysteem is, en hij zal stellen dat het de kernel is. De verzameling GNU applicaties die eromheen hangt zijn slechts de kerstballen, maar maken feitelijk geen deel uit van wat het Linux OS is. Linux heeft ook makkelijk praten, alles wat nodig is zit in de kernel, 'slechts' 100,000 regels code (zoiets is het toch?) Dat is wel iets anders als je de Mach microkernel van OS X of iPhone OS (Darwin dus) neemt.
Bij sommige zaken moet je gewoon het volgende overwegen als je een sluitende definitie zoekt; 'ligt eraan'.
[Reactie gewijzigd op woensdag 13 mei 2009 18:18]