Citiți elementele de bază de programare online în linux, ce este un fir și descărcați fb2 fără să vă înregistrați

Ce este un flux?

Fire multiple de execuție într-un program sunt numite fire. Mai exact, fluxul este o secvență sau o buclă de control în proces. Toate programele pe care le-ați văzut până acum, singurul proces realizat, cu toate că, la fel ca multe alte sisteme de operare, sistemul de operare Linux este pe deplin capabil să execute mai multe procese simultan. De fapt, toate procesele au cel puțin un fir de execuție. Toate procesele pe care le-ați întâlnit până acum în această carte au avut doar un fir de execuție.







Este important să înțelegeți diferența dintre apelul sistemului furcii și crearea de noi fire. Atunci când un proces face o furculiță apel sistem, o nouă copie a procesului cu propriile sale variabile și propriul său PID. Timpul de execuție al acestui nou proces este planificat independent și este realizat (în cea mai mare parte) indiferent de procesul care la creat. Când vom crea un nou fir în acest fir de execuție, spre deosebire de noul proces devine propriul său stivă (și variabile, prin urmare, locale), dar folosește în legătură cu procesul creat de variabile globale, descriptori de fișiere, stivuitoare de semnal și poziția directorului curent.







Alte proiecte se uita la posibilitatea îmbunătățirii suportului pentru firul Linux, nu numai în ceea ce privește eliminarea diferențelor slabe cu standardul POSIX, și pentru a îmbunătăți performanța și a elimina orice restricții inutile. Lucrarea principală a urmărit să găsească modalități de afișare a firelor de nivel utilizator la firele la nivel de kernel ale sistemului. Două proiecte majore au fost nouă generație POSIX Fire (NGPT, fluxuri de noi POSIX generație) și bibliotecă de Native POSIX (nptl, fire de bibliotecă adevărat POSIX). Ambele proiecte au trebuit să facă modificări ale kernel-ului Linux, oferind suport pentru biblioteci noi, și ambele oferă o îmbunătățire semnificativă asupra performanței implementării firului anterior pe Linux.







Articole similare

Trimiteți-le prietenilor: