Hallo Barbara,
Das ist richtig, ja, aber damit arbeiten und verstehen, warum
das so
ist, sind zwei Paar Schuhe.
Aber so richtig scheint das wohl niemend (hier) zu wissen.
Es gibt halt einfach unterschiedliche Konzepte von unterschiedlichen Leuten. Teilweise ist das Ganze halt auch noch etwas technisch bedingt.
Wenn du bedenkst, dass es Zeiten gab, wo eine CPU 16KiByte Hauptspeicher hatte und daran 16 Terminals angeschlossen waren … da bleiben pro Benutzer noch 1KiByte als Programmspeicher übrig …
Beim Betriebssystem zählt da jedes gesparte Byte !
Praktisch benötigt man ja einen Treiber, welcher den (Disk-)Controller ansteuert. Wenn alle Controller identisch sind, kann man einen Treiber schreiben und diesem übergibt man dann die Adresse des Controllers, welcher angesteuert werden soll.
Daraus ergibt sich dann das Konzept
SELECT DISK(215)
Wenn man mehr Programmspeicher zur Verfügung hat, Kann man beim Starten alle möglichen Controller-Steckplätze durchtesten und eine Liste mit den gefunden Laufwerken erstellen. Da man normalerweise keine 30 Disks an einem Computer hat, bietet es sich an, als Index für diese Tabelle die Buchstaben ‚A‘ bis ‚Z‘ zu verwenden und schon hast du das Konzept mit den Laufwerksbuchstaben.
Weiter ist noch anzumerken, dass das Konzept mit Unterverzeichnissen erst später hinzukam. z.B. RTX, CP/M und MS-DOS 1.0, kannten solche noch gar nicht.
Auch die Speicherplatz-Verwaltung auf der Platte war früher viel einfacher = weniger Code.
Früher konnte eine Datei nur in aufeinanderfolgenden Sektoren abgelegt werden. Sollte eine Datei vergrössert werden musste direkt dahinter genügend freier Speicherplatz vorhanden sein oder die ganze Datei musst in eine Lücke verschoben werden, welche genügend gross war. Beim löschen einer Datei entstand halt einfach eine freie Lücke.
Diese Dateissysteme kannten den Befehl CRUNCH. Damit wurden dann einfach alle Dateien an den Plattenanfang verschoben, sodass der ganze freie Speicherplatz an einem Stück ans Ende der Platte zu liegen kam. Um Platz zum Wachstum einer einzelnen Datei zu schaffen gab es noch die Option alles vor einem Dateieintrag an den Anfang und alles dahinter ans Ende der Platte zu schieben, sodass der freie Speicher hinter der angegeben Datei zu liegen kam.
Da musste man als Benutzer noch einen Teil der Plattenbewirtschaftung selber übernehmen.
Jede Aufgabe, die man vom Benutzer an das Betriebssystem überträgt, bedeutet mehr Programm-Code und der dazu nötige Speicherplatz muss erst einmal vorhanden sein !!
Die Verwaltung von Unterverzeichnissen ergibt mehr erzeugt grössere Programme. Behandelt man auch die Laufwerke wie Unterverzeichnisse, bedeutet das zusätzlichen Rechenaufwand, da ja diese Fälle erst programmtechnisch unterschieden werden müssen. Weiterhin bedeutet das aber auch, dass zusätzlich zum Verzeichnisnamen auch noch weitere Informationen gespeichert werden müssen, man benötigt also auch noch zusätzlichen Speicherplatz für diese Daten.
Wenn ich an mein erstes CP/M-System Denke, hatte das Anfänglich 16KiByte RAM und das „BIOS-ROM“ hatte 32 Byte (ich habe hier kein Ki vergessen !!). Damit konnte man genau den ersten Sektor von Laufwerk „A:“ in den Speicher laden (das waren 128 Byte) und den Code starten. Bei einem Fehler blieb das System einfach stehen. Bei 32 Byte war da einfach kein Platz für einen Fehlertext, geschweige denn für eine Ausgabe-Routine für diesen Text.
Die meisten Rechner in den 60er und auch noch anfangs der 70er, hatten keinerlei BIOS-ROM !!
An der Bedienungskonsole gab es nur für jede Adress- und Datenleitung einen Schalter und einen Taster um diese Einstellung in den Speicher zu schreiben, und noch einen Schalter für RUN der CPU.
Man hat dann das Boot-Programm, Bit für Bit an den Daten- und Adress-Schaltern eingestellt und jedesmal die Speichertaste gedrückt.
Meist bestand das Programm aus einer primitiven Lese-Routine für den Lochstreifen-Leser. Damit hat man dann meist eine ausgefeiltere Routine für den Lochstreifen-Leser eingelesen. Diese konnte man dann meist über das TTY (Fernschreiber, Telex) bedienen und dann damit die Leseroutinen für die Festplatten in den Speicher laden und Starten. Danach konnte man dann die Teile des Betriebssystem von der Platte laden. Ein Kaltstart dauerte da schon mal eine Stunde.
Nicht wie heute, wo man sich schon nervt, wenn das Ganze 2 Minuten dauert 
Als IBM seinen PC auf den Markt brachte, waren maximal 640 KiByte Hauptspeicher vorgesehen. Das war damals so viel, dass sich keiner Vorstellen konnte, dass man je so viel Speicher benötigen würde.
MfG Peter(TOO)