logo

Onderwerp in besturingssysteem

Een thread is een stroom met één reeks binnen een proces. Draden worden ook wel lichtgewichtprocessen genoemd, omdat ze enkele eigenschappen van processen bezitten. Elke thread behoort tot precies één proces. In een besturingssysteem dat multithreading ondersteunt, kan het proces uit veel threads bestaan. Maar threads kunnen alleen effectief zijn als de CPU meer dan 1 is, anders moeten twee threads van context wisselen voor die ene CPU.

Wat is Thread in besturingssystemen?

In een proces verwijst een thread naar een enkele opeenvolgende activiteit die wordt uitgevoerd. deze activiteiten worden ook wel thread-of-execution of thread-control genoemd. Nu kan elk besturingssysteemproces een thread uitvoeren. we kunnen zeggen dat een proces meerdere threads kan hebben.



Waarom hebben we draad nodig?

  • Threads lopen parallel en verbeteren de applicatieprestaties. Elke thread heeft zijn eigen CPU-status en stapel, maar ze delen de adresruimte van het proces en de omgeving.
  • Threads kunnen gemeenschappelijke gegevens delen, zodat ze deze niet hoeven te gebruiken communicatie tussen processen . Net als de processen hebben threads ook statussen als gereed, uitvoerend, geblokkeerd, enz.
  • Er kan prioriteit worden toegewezen aan de threads, net als bij het proces, en de thread met de hoogste prioriteit wordt als eerste gepland.
  • Elke draad heeft zijn eigen draad Draadcontroleblok (TCB) . Net als bij het proces vindt er een contextwisseling plaats voor de thread en wordt de registerinhoud opgeslagen in (TCB). Omdat threads dezelfde adresruimte en bronnen delen, is synchronisatie ook vereist voor de verschillende activiteiten van de thread.

Componenten van draden

Dit zijn de basiscomponenten van het besturingssysteem.

  • Stapelruimte
  • Registreren ingesteld
  • Programmateller

Soorten threads in het besturingssysteem

Er zijn twee soorten draden. Deze worden hieronder beschreven.

  • Discussie op gebruikersniveau
  • Kernelniveau-thread

Draden



computer uitgevonden jaar

Draden

1. Discussies op gebruikersniveau

Thread op gebruikersniveau is een type thread dat niet wordt gemaakt met behulp van systeemaanroepen. De kernel heeft geen werk in het beheer van threads op gebruikersniveau. Threads op gebruikersniveau kunnen eenvoudig door de gebruiker worden geïmplementeerd. In het geval dat threads op gebruikersniveau processen met één hand zijn, worden deze op kernelniveau beheerd. Laten we eens kijken naar de voor- en nadelen van Thread op gebruikersniveau.

Voordelen van threads op gebruikersniveau



  • Implementatie van de thread op gebruikersniveau is eenvoudiger dan thread op kernelniveau.
  • Ander onderwerp De tijd is korter in threads op gebruikersniveau.
  • Thread op gebruikersniveau is efficiënter dan Thread op kernelniveau.
  • Vanwege de aanwezigheid van alleen Program Counter, Register Set en Stack Space heeft het een eenvoudige weergave.

Nadelen van threads op gebruikersniveau

  • Er is een gebrek aan coördinatie tussen Thread en Kernel.
  • In het geval van een paginafout kan het hele proces worden geblokkeerd.

2. Threads op kernelniveau

A kernelniveau-thread is een type thread dat het besturingssysteem gemakkelijk kan herkennen. Kernel Level Threads heeft een eigen threadtabel waarin het systeem wordt bijgehouden. De kernel van het besturingssysteem helpt bij het beheren van threads. Kernelthreads hebben op de een of andere manier een langere contextschakeltijd. Kernel helpt bij het beheer van threads.

Voordelen van threads op kernelniveau

  • Het bevat actuele informatie over alle onderwerpen.
  • Applicaties die de frequentie blokkeren, moeten worden afgehandeld door de Threads op kernelniveau.
  • Wanneer een proces meer tijd nodig heeft om te verwerken, biedt Kernel-Level Thread er meer tijd aan.

Nadelen van threads op kernelniveau

  • Thread op kernelniveau is langzamer dan Thread op gebruikersniveau.
  • De implementatie van dit type thread is iets complexer dan een thread op gebruikersniveau.

Voor meer informatie, zie de Verschil tussen thread op gebruikersniveau en thread op kernelniveau .

Verschil tussen proces en draad

Het belangrijkste verschil is dat threads binnen hetzelfde proces in een gedeelde geheugenruimte worden uitgevoerd, terwijl processen in afzonderlijke geheugenruimten worden uitgevoerd. Threads zijn niet onafhankelijk van elkaar zoals processen dat wel zijn, en als gevolg daarvan delen threads hun codesectie, datasectie en OS-bronnen (zoals geopende bestanden en signalen) met andere threads. Maar net als een proces heeft ook een draad zijn eigen draad programmateller (PC) , registerset en stapelruimte.

hoeveel toetsen hebben toetsenborden

Voor meer informatie, zie Verschil tussen proces en draad .

Wat is multithreading?

Een draad wordt ook wel een lichtgewicht proces genoemd. Het idee is om parallellisme te bereiken door een proces in meerdere threads te verdelen. Bijvoorbeeld in een browser , meerdere tabbladen kunnen verschillende threads zijn. MS Word gebruikt meerdere threads: één thread om de tekst op te maken, een andere thread om invoer te verwerken, enz. Meer voordelen van multithreading worden hieronder besproken.

Multithreading is een techniek die in besturingssystemen wordt gebruikt om de prestaties en het reactievermogen van computersystemen te verbeteren. Met multithreading kunnen meerdere threads (dat wil zeggen lichtgewicht processen) dezelfde bronnen van een enkel proces delen, zoals de CPU, geheugen , En I/O-apparaten .

Single Threaded versus Multi-threaded proces

Single Threaded versus Multi-threaded proces

Voordelen van Thread in besturingssysteem

  • Ontvankelijkheid : Als het proces in meerdere threads is verdeeld en één thread de uitvoering ervan voltooit, kan de uitvoer ervan onmiddellijk worden geretourneerd.
  • Snellere contextwisseling : De contextwisseltijd tussen threads is lager vergeleken met de procescontextwisseling. Het wisselen van procescontext vereist meer overhead van de CPU.
  • Effectief gebruik van een multiprocessorsysteem : Als we meerdere threads in één proces hebben, kunnen we meerdere threads op meerdere processors plannen. Hierdoor zal de uitvoering van processen sneller verlopen.
  • Bron delen : Bronnen zoals code, gegevens en bestanden kunnen worden gedeeld tussen alle threads binnen een proces. Opmerking: Stapels en registers kunnen niet tussen de threads worden gedeeld. Elke thread heeft zijn eigen stapel en registers.
  • Communicatie : Communicatie tussen meerdere threads is eenvoudiger, omdat de threads een gemeenschappelijke adresruimte delen. terwijl we tijdens het proces enkele specifieke communicatietechnieken moeten volgen voor de communicatie tussen de twee processen.
  • Verbeterde doorvoer van het systeem : Als een proces in meerdere threads is verdeeld en elke threadfunctie als één taak wordt beschouwd, wordt het aantal voltooide taken per tijdseenheid verhoogd, waardoor de doorvoer van het systeem toeneemt.

Veelgestelde vragen over threads in het besturingssysteem – Veelgestelde vragen

Wat is de threadstatus in het besturingssysteem?

Er zijn vier verschillende toestanden van een thread.

  • nieuw
  • uitvoerbaar
  • geblokkeerd
  • beëindigd

Waarom draad beter is dan proces?

Threads vereisen minder bronnen, terwijl processen meer bronnen vereisen. daarom is draad beter dan proces.

Waarom is multithreading sneller?

Terwijl de processor van het computersysteem slechts één instructie tegelijk uitvoert wanneer multithreading wordt gebruikt, worden verschillende threads van verschillende applicaties zo snel uitgevoerd dat het lijkt alsof de programma's tegelijkertijd draaien.

nummer het alfabet