ubuntuusers.de

userspace Kernelspace

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

Moonar

Anmeldungsdatum:
28. Januar 2012

Beiträge: Zähle...

Hallo,

Ich wusste einfach nicht in welchem bereich ich posten soll. Falls das der falsche Bereich ist, bitte verschiben. Trotz google und durchlesen von wikis, blick ich das ganze nicht wirklich.

so habe ich es bis jetzt verstanden, aber ich bin mir nicht sicher, ob das auch wirklich richtig ist.

über den Userspace starte ich im algemeinen anwendungen die per → API (Syscalls) an den Kern/Kernelspace übermittelt werden, und vom Kernelspace dann sozudagen auf die Hardware. Oder?

User und Kernelspace werden beim booten beide in den Hauptspeichergeladen geladen. Im Kernelspace befindet sich dann auch das VFS. Über ein Terminal das sich "wo befindet, im userspace oder?" kann man auf das VFS zugreifen.

Also Programme liegen im VFS (im kernelspace). Und über den Userspace kann ich diese Programme mit einer Shell ausführen, die dann zu einem prozess werden.

Der User und Kernelspace wird beim booten in den Hauptspeicher geladen, und somit auch das VFS. Wie geschieht dann das speichern auf der Festplatte, wie hängt das VFS mit der Festplatte zusammen ?

Über Antworten würde ich micht freuen.

der_alex1980

Anmeldungsdatum:
7. November 2007

Beiträge: 112

Du hast da glaub ich was nicht verstanden.

über den Userspace starte ich im algemeinen anwendungen die per → API (Syscalls) an den Kern/Kernelspace übermittelt werden, und vom Kernelspace dann sozudagen auf die Hardware. Oder?

Nein, es werden keine "Anwendungen übermittelt" und das ganze hat auch nichts mit dem Starten von Anwendungen zu tun.

Ich versuche, das mal zu erklären. Der Betriebssystem-Kernel läuft in einer höheren Berechtigungsstufe als Userland Prozesse. Damit meine ich nicht das Linux-Berechtigungskonzept, sondern CPU-Ringe. Der Kernel läuft in Ring 0 und hat den vollständigen Befehlssatz der CPU zur Verfügung und hat auch Zugriff auf die Hardware. Ein Benutzerprogramm hat nur einen eingeschränkten Befehlssatz der CPU zur Verfügung und kann nicht direkt auf Hardware zugreifen (selbst wenn es mit root Rechten läuft).

Wenn ein Programm nun Zugriff auf die Hardware benötigt, um zum Beispiel eine Datei zu öffnen oder irgendwas über's Netzwerk zu senden, wird vom Programm ein sogenannter Syscall an den Kernel abgesetzt. Der Kernel hält daraufhin das Prgramm an, bearbeitet den Syscall und lädt beispielsweise die angeforderte Datei in den Arbeitsspeicher, und führt danach das Programm ab der angehaltenen Stelle wieder fort - sehr vereinfacht dargestellt. So wird sichergestellt, dass nur der Kernel direkten Zugriff auf die Hardware hat. Das Anhalten und Übergeben der Kontrolle an den Kernel nennt man Kontextwechsel.

Also Programme liegen im VFS (im kernelspace).

Nein. VFS steht für Virtual Filesystem und ist Teil des Kernels. Es bietet einfach nur eine einheitliche Zugriffsschnittstelle auf unterschiedliche Dateisysteme (ext4, FAT, NFS, usw).

pitt-admin

Anmeldungsdatum:
11. Juli 2010

Beiträge: 1875

Antworten |