Het idee van Jip en Janneke-taal was niet dat je dingen beweert die niet waar zijn. De windows explorer sorteert anders en zet directories bovenaan. De meeste filemanagers in unix-varianten doen dat niet. Dat is een keus die gemaakt is door mensen. Meer niet, minder niet. Geen bijzondere reden, en zeker niet gefundeerd in blabla over systeemarchitectuur.
In FAT-filesystems is een directory een sector of meerdere sectors gevuld met namen, attributen en de begin-cluster van een file. De File Allocation Table geeft aan welke clusters nog meer bij die begin-cluster horen, totdat er een EOF-cluster volgt en je de hele file hebt.
Een NTFS directory bevat entries in de MFT. Iedere entry bevat naam, attributen en de rest van de entry is gevuld met data voor de file. Mocht een file groter zijn dan de vrije ruimte in de MFT-entry, dan wordt de rest in 'extents' weggeschreven, en in de MFT bitmap wordt bijgehouden welke extents bij welke directory-entry horen.
In ffs/ufs/ext2 bevat een directory entries met daarin de naam, attributen en begin-inode van de data van de file. Als een file groter is dan de sectors die bij een inode horen dan wordt in een inode-map bijgehouden welke inodes gebruikt zijn voor de rest van de file.
Voor alle drie geldt dat files en bestanden na elkaar en door elkaar geschreven worden. Als jij twee files, een directory, een file, vijf directories en een file na elkaar aanmaakt in een lege subdirectory heb je in alle gevallen iets als dit in je subdirectory staan:
code:
1
2
3
4
5
6
7
8
9
10
| file1
file2
dir1
file3
dir2
dir3
dir4
dir5
dir6
file4 |
De data staat fysiek gezien gewoon in chronologische volgorde in de subdirectory. Dat is ook logisch. Anders moet je alle file-entries herschrijven op het moment dat je één directory toevoegt. In een FAT-directory met 100.000 files is dat een serieuze hoeveelheid werk en als je dat zou doen zit je gebruiker minutenlang te wachten op het filesystem nadat 'ie een directory aanmaakt. Hoe de inhoud van een directory door een filemanager gerepresenteerd wordt is een keuze van die filemanager, en hangt niet af van welk system je gebruik maakt. Er is geen enkele reden om dat soort dingen in Roodkapje-en-de-grote-boze-Wolf-taal (sprookjes dus) uit te leggen.
AT&T rechtszaak
Die was in 1992, slechts
vijftien jaar na de eerste BSD-release (1BSD). Naar aanleiding van die rechtszaak moest een
commercieel bedrijf (BSDi) wat 1/Net naar i386 portte 3 files verwijderen en 70 files van aangepaste copyrights voorzien. 18.000 files bleven onaangetast. Geen van de huidige BSD-varianten is gebaseerd op BSD/OS, het product van BSDi. Alle huidige BSD-derivaten stammen af van 4.4BSD-Lite en dat is vrij van AT&T-code.
Het is zelfs erger. Windows zit vol met 4.4BSD-Lite-code, en is volgens jouw definitie ook een BSD-afgeleide.
BSD is vooral een uiting van frustratie. Berkeley had een van de eerste VAX-machines, en die kon hardwarematig overweg met virtueel geheugen. Alleen duurde het onnodig lang voordat DEC met een OS kwam wat ook echt virtueel geheugen gebruikte. Studenten schreven dat zelf, brachten het uit als 3BSD, en de rest is geschiedenis. DARPA koos BSD als basis voor CSRG, de groep achter ARPA-net (en dat is grotendeels de basis van wat we nu internet noemen). Veel van de door AT&T geschreven utilities (dingen als awk, sed, grep enzovoort) zijn uit de originele AT&T-sources opnieuw gecompileert onder 3BSD en latere varianten. Daardoor is door AT&T geschreven source terecht gekomen in BSD-binaries op specifieke machines. De BSD source heeft nooit AT&T-code bevat (met uitzondering van BSD/OS). Om een werkende BSD installatie te krijgen moest je dus zowel UNIX als BSD hebben. GNU (GNU is Not Unix) was een succesvolle poging om al die dingen te herschrijven zonder AT&T-code, zodat het zelfstandig gebruikt kon worden. Dus GNU/BSD is altijd vrij geweest van UNIX. De naam zegt het al. GNU/BSD is een niet-UNIX die geheel vrij van UNIX-code is.
GNU/BSD (4.4BSD-lite of later) is geen port, geen afgeleide, geen variant. Het is gewoon een zelfstandig OS wat in het dagelijks gebruik heel veel op UNIX lijkt en voor een groot deel op dezelfde hardware gebruikt kan worden.
De BSD-licentie staat toe dat je delen van BSD in je eigen product gebruikt zonder dat je licentierechten betaalt. Zowel Apple als Microsoft hebben dat gedaan. Darwin en NT gebruiken beiden in wisselende mate BSD-code zonder dat daar een BSD-kernel onder zit. Als dat OS-X tot een UNIX-variant maakt, gaat dat net zo hard op voor Windows.
I don't like facts. They have a liberal bias.