Betriebssystem



  • UNter Linux haben Threads Ähnlichkeiten mit Prozessen.
    Zumindestens wenn man ins /proc schaut.



  • Ethon_ schrieb:

    UNter Linux haben Threads Ähnlichkeiten mit Prozessen.
    Zumindestens wenn man ins /proc schaut.

    ... und was schaut man sich da genau an?



  • Ist ja echt krass, was hier an Halbwissen herumgeistert 😮

    Ich bin zutiefst schockiert, dass über so einen zentralen und für Entwickler direkt sichtbaren Designaspekt eines jeden Betriebssystems so viel Unwissen herumgeistert.

    Wie SideWinder, zum Glück, sagt lest (alle) mal besser ein Buch über Betriebssysteme. Man kann nicht parallele Programme schreiben, wenn man darüber nicht sehr gut bescheid weiß (exotische Sprachen ausgenommen).



  • Ethon_ schrieb:

    UNter Linux haben Threads Ähnlichkeiten mit Prozessen.
    Zumindestens wenn man ins /proc schaut.

    Linux kennt im ganz strengen Sinne weder das eine noch das andere, sondern Tasks, auf welchen dann Prozesse und Threads modelliert werden.



  • OSler schrieb:

    Ethon_ schrieb:

    UNter Linux haben Threads Ähnlichkeiten mit Prozessen.
    Zumindestens wenn man ins /proc schaut.

    Linux kennt im ganz strengen Sinne weder das eine noch das andere, sondern Tasks, auf welchen dann Prozesse und Threads modelliert werden.

    Magst du ausführen, wie du das meinst?



  • OSler schrieb:

    Ist ja echt krass, was hier an Halbwissen herumgeistert 😮 ...

    .. und wo geistert denn das Vollwissen herum 😕



  • abc.w schrieb:

    OSler schrieb:

    Ist ja echt krass, was hier an Halbwissen herumgeistert 😮 ...

    .. und wo geistert denn das Vollwissen herum 😕

    Hier geistert das Vollwissen herum:
    http://msdn.microsoft.com/en-us/library/ms681917(v=VS.85).aspx



  • Naja, Threads laufen unter Linux doch als Child"prozesse" ?
    Man kann einen Thread doch ganz normal über seine Prozess-ID ansprechen, wie einen "echten" Prozess.



  • fdfdg schrieb:

    OSler schrieb:

    Ethon_ schrieb:

    UNter Linux haben Threads Ähnlichkeiten mit Prozessen.
    Zumindestens wenn man ins /proc schaut.

    Linux kennt im ganz strengen Sinne weder das eine noch das andere, sondern Tasks, auf welchen dann Prozesse und Threads modelliert werden.

    Magst du ausführen, wie du das meinst?

    Ich weiß nicht was ich da ausführen soll. Linux bietet als Abstraktion der Hardware etwas an, dass sie Tasks nennen. Und die POSIX Schnittstelle modelliert auf diesen dann die klassischen Prozesse und die POSIX Threads.

    In Linux erstellst du einen neuen Thread mit dem clone system call und einen neuen Prozess ebenso mit dem clone system call. Es hängt nur davon ab was führ Flags du angibst, die kontrollieren wie viel Zustand die Elter- und Kind-Task teilen.



  • Interessant, danke!



  • Der Kernel sieht Threads nicht im zusammenhang mit dem Prozess dem er gehört. Es gibt Thread Prioritäten , und darauf basierend werden die Threads "dispatched". Spreche ich hier nur von WinNT.

    http://de.wikipedia.org/wiki/Multitasking


Anmelden zum Antworten