En tråd er en enkelt sekvensstrøm i en proces. Tråde kaldes også letvægtsprocesser, da de besidder nogle af processernes egenskaber. Hver tråd tilhører præcis én proces. I et operativsystem, der understøtter multithreading, kan processen bestå af mange tråde. Men tråde kan kun være effektive, hvis CPU'en er mere end 1, ellers skal to tråde skifte kontekst for den enkelte CPU.
Hvad er tråd i operativsystemer?
I en proces refererer en tråd til en enkelt sekventiel aktivitet, der udføres. disse aktiviteter er også kendt som thread of execution eller thread control. Nu kan enhver operativsystemproces udføre en tråd. vi kan sige, at en proces kan have flere tråde.
Hvorfor har vi brug for tråd?
- Tråde kører parallelt og forbedrer applikationens ydeevne. Hver sådan tråd har sin egen CPU-tilstand og stack, men de deler processens og miljøets adresserum.
- Tråde kan dele fælles data, så de ikke skal bruges kommunikation mellem processer . Ligesom processerne har tråde også tilstande som klar, eksekvering, blokeret osv.
- Prioritet kan tildeles trådene ligesom processen, og den højest prioriterede tråd planlægges først.
- Hver tråd har sin egen Trådkontrolblok (TCB) . Ligesom processen sker der et kontekstskifte for tråden, og registerindholdet gemmes i (TCB). Da tråde deler det samme adresserum og ressourcer, er synkronisering også påkrævet for de forskellige aktiviteter i tråden.
Komponenter af tråde
Disse er de grundlæggende komponenter i operativsystemet.
- Stack Space
- Registrer Sæt
- Program tæller
Typer af tråde i operativsystemet
Tråde er af to typer. Disse er beskrevet nedenfor.
- Tråd på brugerniveau
- Tråd i kerneniveau

unix topkommando
Tråde
1. Tråde på brugerniveau
Tråd på brugerniveau er en type tråd, der ikke oprettes ved hjælp af systemkald. Kernen har intet arbejde i administrationen af tråde på brugerniveau. Tråde på brugerniveau kan nemt implementeres af brugeren. I tilfælde hvor tråde på brugerniveau er enhåndsprocesser, administrerer tråd på kerneniveau dem. Lad os se på fordele og ulemper ved tråd på brugerniveau.
Fordele ved tråde på brugerniveau
lav et sh-script eksekverbart
- Implementering af tråden på brugerniveau er nemmere end tråden på kerneniveau.
- Kontekstskift Tiden er mindre i brugerniveautråden.
- Tråd på brugerniveau er mere effektiv end tråd på kerneniveau.
- På grund af tilstedeværelsen af kun programtæller, registersæt og stakplads, har den en enkel repræsentation.
Ulemper ved tråde på brugerniveau
- Der mangler koordinering mellem tråd og kerne.
- I tilfælde af en sidefejl kan hele processen blokeres.
2. Tråde i kerneniveau
EN kernel niveau tråd er en type tråd, der let kan genkende operativsystemet. Kernel Level Threads har sin egen trådtabel, hvor den holder styr på systemet. Operativsystemkernen hjælper med at administrere tråde. Kernel Threads har på en eller anden måde længere kontekstskiftetid. Kernel hjælper med håndteringen af tråde.
Fordele ved tråde på kernelniveau
- Den har opdateret information om alle tråde.
- Applikationer, der blokerer frekvensen, skal håndteres af kernel-level-trådene.
- Når en proces kræver mere tid at behandle, giver kernel-niveau tråd mere tid til det.
Ulemper ved Kernel-Level tråde
- Tråd på kerneniveau er langsommere end tråd på brugerniveau.
- Implementering af denne type tråd er lidt mere kompleks end en tråd på brugerniveau.
For mere henvises til Forskellen mellem tråd på brugerniveau og tråd på kerneniveau .
Forskellen mellem proces og tråd
Den primære forskel er, at tråde inden for den samme proces kører i et delt hukommelsesrum, mens processer kører i separate hukommelsesrum. Tråde er ikke uafhængige af hinanden, som processer er, og som et resultat deler tråde deres kodesektion, datasektion og OS-ressourcer (såsom åbne filer og signaler) med andre tråde. Men ligesom en proces har en tråd sin egen programtæller (PC) , registersæt og stakplads.
For mere, se Forskellen mellem proces og tråd .
alfabet til tal
Hvad er Multi-Threading?
En tråd er også kendt som en letvægtsproces. Ideen er at opnå parallelitet ved at opdele en proces i flere tråde. For eksempel i en browser , kan flere faner være forskellige tråde. MS Word bruger flere tråde: en tråd til at formatere teksten, en anden tråd til at behandle input osv. Flere fordele ved multithreading er beskrevet nedenfor.
Multithreading er en teknik, der bruges i operativsystemer til at forbedre computersystemernes ydeevne og reaktionsevne. Multithreading gør det muligt for flere tråde (dvs. letvægtsprocesser) at dele de samme ressourcer i en enkelt proces, såsom CPU'en, hukommelse , og I/O-enheder .

Enkelt gevind vs flertrådet proces
Fordele ved tråd i operativsystemet
- Lydhørhed : Hvis processen er opdelt i flere tråde, hvis én tråd fuldfører sin udførelse, kan dens output straks returneres.
- Hurtigere kontekstskift : Kontekstskiftetid mellem tråde er lavere sammenlignet med proceskontekstskift. Skift af proceskontekst kræver mere overhead fra CPU'en.
- Effektiv udnyttelse af multiprocessorsystem : Hvis vi har flere tråde i en enkelt proces, så kan vi planlægge flere tråde på flere processorer. Dette vil gøre processens udførelse hurtigere.
- Ressourcedeling : Ressourcer som kode, data og filer kan deles mellem alle tråde i en proces. Bemærk: Stabler og registre kan ikke deles mellem trådene. Hver tråd har sin egen stak og registre.
- Meddelelse : Kommunikation mellem flere tråde er nemmere, da trådene deler et fælles adresseområde. mens vi i processen skal følge nogle specifikke kommunikationsteknikker til kommunikation mellem de to processer.
- Forbedret gennemløb af systemet : Hvis en proces er opdelt i flere tråde, og hver trådfunktion betragtes som ét job, øges antallet af udførte job pr. tidsenhed, hvilket øger systemets gennemstrømning.
Ofte stillede spørgsmål om tråd i operativsystemet – ofte stillede spørgsmål
Hvad er trådtilstand i operativsystemet?
Der er fire forskellige tilstande i en tråd.
- ny
- kørebar
- blokeret
- opsagt
Hvorfor er tråd bedre end proces?
Tråde kræver færre ressourcer, hvorimod proces kræver flere ressourcer. det er derfor tråd er bedre end proces.
Hvorfor er multithreading hurtigere?
Mens computersystemets processor kun udfører én instruktion ad gangen, når der bruges multithreading, udføres forskellige tråde fra flere applikationer så hurtigt, at det ser ud som om programmerne kører samtidigt.