Gija yra vienos sekos srautas procese. Siūlai taip pat vadinami lengvaisiais procesais, nes jie turi tam tikrų procesų savybių. Kiekviena gija priklauso tiksliai vienam procesui. Operacinėje sistemoje, kuri palaiko kelių gijų, procesą gali sudaryti daug gijų. Tačiau gijos gali būti veiksmingos tik tuo atveju, jei CPU yra daugiau nei 1, priešingu atveju dvi gijos turi perjungti kontekstą tam vienam CPU.
Kas yra gija operacinėse sistemose?
Procese gija nurodo vieną nuoseklią vykdomą veiklą. ši veikla taip pat žinoma kaip vykdymo gija arba gijų valdymas. Dabar bet kuris operacinės sistemos procesas gali vykdyti giją. galime pasakyti, kad procesas gali turėti kelias gijas.
Kodėl mums reikia siūlų?
- Gijos veikia lygiagrečiai, pagerindamos programos našumą. Kiekviena tokia gija turi savo procesoriaus būseną ir krūvą, tačiau jie dalijasi proceso ir aplinkos adresų erdve.
- Gijos gali dalytis bendrais duomenimis, todėl jų nereikia naudoti tarpprocesinis bendravimas . Kaip ir procesai, gijos taip pat turi būsenas, tokias kaip paruošta, vykdoma, užblokuota ir kt.
- Prioritetas gali būti priskirtas gijomis, kaip ir procesui, ir pirmiausia suplanuojama aukščiausio prioriteto gija.
- Kiekvienas siūlas turi savo Sriegio valdymo blokas (TCB) . Kaip ir procesas, gijos konteksto perjungimas, o registro turinys išsaugomas (TCB). Kadangi gijos turi tą pačią adresų erdvę ir išteklius, sinchronizavimas taip pat reikalingas įvairioms gijos veikloms.
Siūlų komponentai
Tai yra pagrindiniai operacinės sistemos komponentai.
- Stack Space
- Registracijos rinkinys
- Programų skaitiklis
Siūlų tipai operacinėje sistemoje
Siūlai yra dviejų tipų. Jie aprašyti toliau.
- Vartotojo lygio gija
- Branduolio lygio gija

faktorialas java
Siūlai
1. Vartotojo lygio gijos
Vartotojo lygio gija yra gijos tipas, kuris nėra sukurtas naudojant sistemos skambučius. Branduolys neveikia valdydamas vartotojo lygio gijas. Vartotojas gali lengvai įdiegti vartotojo lygio gijas. Tuo atveju, kai vartotojo lygio gijos yra vienos rankos procesai, jas valdo branduolio lygio gija. Pažvelkime į vartotojo lygio gijos privalumus ir trūkumus.
Vartotojo lygio gijų privalumai
- Vartotojo lygio giją įdiegti lengviau nei branduolio lygio giją.
- Konteksto jungiklis Vartotojo lygio gijoje yra mažiau laiko.
- Vartotojo lygio gija yra efektyvesnė nei branduolio lygio gija.
- Kadangi yra tik programos skaitiklis, registrų rinkinys ir dėklo erdvė, jis turi paprastą atvaizdavimą.
Vartotojo lygio gijų trūkumai
- Trūksta Thread ir branduolio koordinavimo.
- Puslapio gedimo atveju visas procesas gali būti užblokuotas.
2. Branduolio lygio gijos
A branduolio lygio gija yra gijos tipas, kuris gali lengvai atpažinti operacinę sistemą. Branduolio lygio gijos turi savo gijų lentelę, kurioje seka sistemą. Operacinės sistemos branduolys padeda tvarkyti gijas. Branduolio gijos turi kažkaip ilgesnį konteksto perjungimo laiką. Branduolys padeda valdyti gijas.
Branduolio lygio gijų privalumai
- Jame yra naujausia informacija apie visas temas.
- Programas, kurios blokuoja dažnį, turi tvarkyti branduolio lygio gijos.
- Kai kuriam nors procesui apdoroti reikia daugiau laiko, branduolio lygio gija suteikia jam daugiau laiko.
Branduolio lygio gijų trūkumai
modemas vs maršrutizatorius
- Branduolio lygio gija yra lėtesnė nei vartotojo lygio gija.
- Šio tipo gijų įgyvendinimas yra šiek tiek sudėtingesnis nei vartotojo lygio gijos.
Norėdami sužinoti daugiau, žr Skirtumas tarp vartotojo lygio gijos ir branduolio lygio gijos .
Skirtumas tarp proceso ir gijos
Pagrindinis skirtumas yra tas, kad to paties proceso gijos veikia bendroje atminties erdvėje, o procesai – atskirose atminties erdvėse. Gijos nėra nepriklausomos viena nuo kitos, kaip ir procesai, todėl gijos dalijasi su kitomis gijomis savo kodo skyriumi, duomenų skyriumi ir OS ištekliais (pvz., atidarytais failais ir signalais). Tačiau, kaip ir procesas, gija turi savo programų skaitiklis (kompiuteris) , registrų rinkinys ir krūvos vieta.
Norėdami sužinoti daugiau, žr Skirtumas tarp proceso ir gijos .
Kas yra daugiasriegis siūlas?
Siūlas taip pat žinomas kaip lengvas procesas. Idėja yra pasiekti lygiagretumą padalijant procesą į kelias gijas. Pavyzdžiui, a naršyklė , keli skirtukai gali būti skirtingos gijos. MS Word naudoja kelias gijas: vieną giją tekstui formatuoti, kitą giją įvestims apdoroti ir tt Daugiau kelių gijų privalumų aptarsime toliau.
Multithreading yra metodas, naudojamas operacinėse sistemose, siekiant pagerinti kompiuterių sistemų našumą ir reagavimą. Kelių gijų naudojimas leidžia kelioms gijomis (t. y. lengviems procesams) dalytis tais pačiais vieno proceso ištekliais, pvz., CPU, atmintis , ir I/O įrenginiai .

Vienos gijos ir kelių gijų procesas
Thread pranašumai operacinėje sistemoje
- Reagavimas : Jei procesas yra padalintas į kelias gijas, jei viena gija užbaigia jo vykdymą, jo išvestis gali būti nedelsiant grąžinta.
- Greitesnis konteksto jungiklis : Konteksto perjungimo laikas tarp gijų yra mažesnis, palyginti su proceso konteksto perjungimu. Proceso konteksto perjungimas reikalauja daugiau CPU.
- Efektyvus kelių procesorių sistemos panaudojimas : Jei viename procese turime kelias gijas, galime suplanuoti kelias gijas keliuose procesoriuose. Tai pagreitins proceso vykdymą.
- Dalijimasis ištekliais : Ištekliai, tokie kaip kodas, duomenys ir failai, gali būti bendrinami su visomis proceso gijomis. Pastaba: krūvos ir registrai negali būti bendrinami tarp gijų. Kiekviena gija turi savo krūvą ir registrus.
- Bendravimas : Ryšys tarp kelių gijų yra lengvesnis, nes gijos turi bendrą adresų erdvę. o proceso metu turime laikytis tam tikrų specifinių komunikacijos metodų, skirtų bendrauti tarp dviejų procesų.
- Padidintas sistemos pralaidumas : Jei procesas yra padalintas į kelias gijas, o kiekviena gijos funkcija laikoma viena užduotimi, tai padidinamas užduočių, atliktų per laiko vienetą, skaičius, taip padidinant sistemos pralaidumą.
Dažnai užduodami klausimai apie operacinės sistemos giją – DUK
Kas yra gijos būsena operacinėje sistemoje?
Yra keturios skirtingos gijos būsenos.
gimp pakeisti spalvą
- naujas
- paleidžiamas
- užblokuotas
- nutraukta
Kodėl siūlai yra geresni už procesą?
Gijos reikalauja mažiau išteklių, o procesas reikalauja daugiau išteklių. todėl siūlas yra geresnis nei procesas.
Kodėl kelių gijų kūrimas yra greitesnis?
Nors kompiuterinės sistemos procesorius vienu metu vykdo tik vieną instrukciją, kai naudojamas kelių gijų keitimas, įvairios gijos iš kelių programų vykdomos taip greitai, kad atrodo, kad programos veikia vienu metu.