O Threads e Multithreads
Por: Junior Paçoca • 2/5/2023 • Pesquisas Acadêmicas • 4.070 Palavras (17 Páginas) • 78 Visualizações
6
THREAD
6.1 Introdu~ o
Ate 0 tinal da dCcada de 1970, sistemas operacionais. como Tops-IO (DEC). MVS (IBM) e Unix (Bell Labs). suporta vam apenas processos com urn unico thread (mo nothreadl, ou scja. um proccsso com arenas um unico programu fazcndo parte do seu contexto. Em 1979. durante 0 desenvolvimcnto do sistema operacional Toth. fO! introduzido 0 conceito de processos lightwe ight (peso level, andc 0 cspu\o de endc rCl;amcnlo de um processo era compartilhado pu. varios programas. Apcsar do con ccita rc"olucionario. a idCia mio roi ulilizada comercialmente. c somenlc em meado:- de 1980. com 0 dcscnvolvimento do sistema opcracional Mach na Uni\ er~idadc de Carnegie Mellon. ticau clara a scpara~ao entre 0 conccito de pro(:es~o e thread.
A p<"l11ir do conccito de multiplos threads (multithread) e possin:1 projct.."lr e implementar aplicm;Ocs coneorrcntes de lonna elicientl'. poi~ tim processo po(k ter panes difercntcs do SCli c6digo scndo eX(.."Clitaws etll pamldo. r0tll lllll menor 0\ erhead do que lIIilizando mlll· tiplos pfOC.--essos. Como os threads de lllll meslllo proccsso companillmm 0 mcsmo cspa!fQ de endcn.~al1lento. a cOlllunic;t(,:<io cntn: threads mio c11volvc mccanislllos lentos de interco
muniea(,:iio entre procCSSO!.. aumcnlando. conseqiientemente. 0 dcsempenho da aplica~ao.
o desenvolvimcnlo de programa~ que- exploram os beneficios da programa~ao mul· tithread mio e simples. A prcscn~a do paralelismo introduz urn novo conjunlo de pro· ,-f blcmas como a comunica~:io c in cro ni za~ao de threads. Existem ditcrentcs modeJos para a implemema(,:8o de threads em um sistema operaciona1. onde dcsempenho. fle· xibilidade e custo develll scr avaliados.
Atualmentc. 0 conceito dl.! multithread pode ser encontrado em diversos stema~ operac ionais. como no Sun Solaris e Microsoft Windows 2000. A uti liza(,:3o comer· eial de sistemas operaeionais multithread e ercscente em fun~iio do allmento de po· plilaridadc dos sistemas com multiplos processadorcs. do modelo cliente-scrvidor e dos sistemas distribuidos.
6.2 Ambiente Monothread
Um programa e uma seqUencia de instru(,:oes. composta por dcsv ios. repetic;ocs ..: chamadas a procedimcntos e fU Il(,:ocs. Em Utll (/I/Ibiellle mOl/olhread, um proceSS(l
84 I Arquitetura de Sistemas Operacionais
supona apenas urn programa no seu espar;o de nd ere~ame nto . Neste ambiente . apli ca~ocs concorrentes sao implementadas apenas com 0 usa de multiplos processos in dependentes ou subprocessos.
A utilizar;ao de processos indepcndentes e subprocessos pcnnite dividir uma apliea- ~ao em pan es que podem trabalh<tr de fonna concorrcnte. Urn excmplo do uso de concorrencia pode ser encomrado nas aplicat;Oes com imerface grMica . ~omo em urn software de gcrcnciamento de e-mails. Neste ambicntc. urn usuario pod\! estar lendo suas men .. agens antigas. ao mesmo tempo que pode estar en" iando e-mails c rece bcndo novas mensagcns. Com 0 uso de multi plos processos. cada funcional idade do software impiicaria a ria~a o de urn novo processo para atendc-la. aumentando 0 de sempenho da aplica~ao (Fig. 6.1).
...