Lätta kärntrådar

Light Weight Kernel Threads ( LWKT ) är en datavetenskaplig term och från DragonFlyBSD i synnerhet. LWKT:er skiljer sig från normala kärntrådar genom att de kan föregripa normala kärntrådar . Enligt Matt Dillon , DragonFlyBSD-skapare:

LWKT-schemaläggaren är ansvarig för att faktiskt köra en tråd. Den använder ett schema med fast prioritet, men de fasta prioriteringarna skiljer stora delsystem , inte användarprocesser. Till exempel har hårdvaruavbrottstrådar högsta prioritet, följt av programvaruavbrott, trådar endast för kärnan och slutligen användartrådar. En användartråd körs antingen med användarkärnans prioritet (när den faktiskt körs i kärnan, t.ex. kör ett syscall på uppdrag av användarlandet), eller så körs en användartråd med användarprioritet.

DragonFly föregriper, den gör det bara väldigt noggrant och bara under särskilda omständigheter. En LWKT-avbrottstråd kan förebygga de flesta andra trådar, till exempel. Detta efterliknar vad FreeBSD-4.x redan gjorde med sin spl/run-interrupt-in-context-of-current-process-mekanism. Vad DragonFly *INTE* gör är att tillåta en icke-avbrott kärntråd att föregripa en annan icke-avbrott kärntråd.

stordator z/OS stöder en liknande mekanism, kallad SRB (Service Request Block).

SRB representerar förfrågningar att exekvera en systemservicerutin. SRB:er skapas vanligtvis när ett adressutrymme upptäcker en händelse som påverkar ett annat adressutrymme; de tillhandahåller en av flera mekanismer för asynkron kommunikation mellan adressutrymmen för program som körs på z/OS.

En SRB liknar ett Process Control Block (PCB), genom att den identifierar en arbetsenhet för systemet. Till skillnad från en PCB kan en SRB inte "äga" lagringsutrymmen. I en multiprocessormiljö kan SRB-rutinen, efter att ha schemalagts, skickas till en annan processor och kan köras samtidigt med schemaläggningsprogrammet. Schemaläggningsprogrammet kan fortsätta att göra annan bearbetning parallellt med SRB-rutinen. Endast program som körs i kärnläge kan skapa en SRB.

Windows operativsystem känner till en liknande lätt trådmekanism som heter "fibrer". Fibrer schemaläggs av ett applikationsprogram. Porten av CICS Transaction Server till Windows-plattformen använder fibrer, något analogt med användningen av "enklaver" under z/OS.

I UNIX har "kärntrådar" två trådar, en är kärntråden, en är användartråden.

Se även

Källor

  • Matt Dillons inlägg om LWKT-schemaläggaren
  • Kerner, Sean Michael (2006-01-10), "New DragonFly Released For BSD Users" , InternetNews , hämtad 2011-11-20
  • Biancuzzi, Federico (2004-07-08), "Behind DragonFly BSD" , O'Reilly Media , hämtad 2011-11-20
  • Loli-Queru, Eugenia (2004-03-13), "Intervju med Matthew Dillon från DragonFly BSD" , OSNews
  • Luciani, Robert (2009-05-24), M:N trådning i DragonflyBSD (PDF) , BSDCon, arkiverad från originalet (PDF) 2010-12-23
  • Andrews, Jeremy (2007-08-06), "Intervju: Matthew Dillon" , KernelTrap , arkiverad från originalet 2011-05-15 , hämtad 2011-11-20
  • Vervloesem, Koen (2010-04-21), "DragonFly BSD 2.6: toward a free clustering operating system" , LWN.net , hämtad 2011-11-19
  • Kerner, Sean Michael (2006-07-25), "DragonFly BSD 1.6 Cuts the Cord" , InternetNews , hämtad 2011-11-20
  • Townsend, Trent (2006-01-18), "A Quick Review of DragonFly BSD 1.4" , OSNews , hämtad 2011-11-16
  • Interjú Matthew Dillionnal en DragonFly BSD alapítójával , 2003-10-10 , hämtad 2011-11-20