Anzeige:
Ergebnis 1 bis 7 von 7

Thema: kernel-level threads

  1. #1
    Registrierter Benutzer
    Registriert seit
    20.06.2005
    Beiträge
    40

    kernel-level threads

    Hallo zusammen,

    gerade beschäftigt mich eine Frage, die ich trotz nachlesen in "Betriebsysteme" von Stallings und auf Wikipedia /Threads nicht beantwortet bekomme:

    Welcher Teil / Welche Teile eines Betriebsystems (Unix/Windows) kümmert sich um die Verwaltung von Threads?
    Ist es der gleiche Scheduler, der auch die Prozesse verwaltet? Oder bekommt jeder Thread vom Betriebsystem eine Art Scheduler zugeteilt, denn man bei User-Level Threads ja selbst implementiert.

    Besten Dank und Gruß

  2. #2
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    377
    Schau dir dazu mal die Folien hier an:
    http://www.dps.uibk.ac.at/~tf/lehre/ss06/bs/folien.html
    Auf Linux/Unix-Threads ist die VL zwar nicht wirklich eingegangen, aber der Gastvortrag vom Windows-Typ und vom Solaris-Typ waren recht interessant.
    Amilo D - 2,8 Ghz - ATI Radeon 9000
    Debian GNU/Linux 3.1 (Sarge)

  3. #3
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Zum Thema wie das in Linux realisiert ist steht im NPTL-Artikel der Wikipedia noch so einiges: http://en.wikipedia.org/wiki/NPTL

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  4. #4
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    377
    Da hab ich dann auch noch ne Frage: Wenn man POSIX-Threads benutzt sind das dann Threads im Userspache, oder?
    Weil ein Bekannter von mir ist voll der Meinung dass die Threads von POSIX auf Kernel-Threads abgebildet werden.
    Amilo D - 2,8 Ghz - ATI Radeon 9000
    Debian GNU/Linux 3.1 (Sarge)

  5. #5
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Es gibt beides soviel ich weiss.

    "Posix Threads" ist ja nur eine Interface-Spezifikation. Dann gibts halt verschiedene Implementierungen. Unter Linux gibts LinuxThreads im UserSpace und z.B. die NPTL (New Posix Thread Library) im Kernel. Das ist so nicht wirklich fix vorgeschrieben. Implementierungsabhängig halt.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  6. #6
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Soweit ich weiß ist das immer zu einem Teil im Kernel, es unterscheidet sich nur, wie es abgebildet wird. Die "alten" Linux Threads waren eine bestimmte Art von Prozess.

    Threads auf jeder halbwegs aktuellen Plattform sind Kernelangelegenheit, weil es sonst ziemlich schwierig wird, atomare Operationen zu garantieren, besonders bei mehreren Exekutionseinheiten (Multit CPU, Dual Code, Hypthreading, etc)

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  7. #7
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    377
    Also unterm 2.4er Kernel gab es ja noch keine echten Threads, das stimmt.

    Ich finde eigentlich User-Threads besser als Kernel-Threads - nur so vom Gefuehl - hab da noch nicht so viel mit gemacht.

    Ich meine um zwischen Kernel-Threads zu wechseln muss ja immer der Kernel aktiv werden. Das heisst dann aber auch dass der Context Switch relativ lange dauert, da erst wieder der Kernel gelanden werden muss, dann der Scheduler entscheidet und dann der Thread geladen und ausgefuehrt wird.
    Wenn das alles im Userspace passiert kann das alles viel schneller passieren.

    Von der Vorlesung her (siehe post weiter oben) hatt mir die Solaris-Loesung ziehmlich gut gefallen.

    Aber wie gesagt, das ist ja nur die Meinung eines unbedeutenden Studenten.
    Amilo D - 2,8 Ghz - ATI Radeon 9000
    Debian GNU/Linux 3.1 (Sarge)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •