You are on page 1of 9

UniRV Campus - Rio Verde Curso: Engenharia de Software Disciplina: Sistemas Operacionais Docente: Fabian Cardoso Acadmico: Brendo

Rocha Maral 4 Perodo

Threads e Hiper-Threadings

Rio Verde - GO Data 13/09/2013

Sumrio
Introduo.............................................................................................................................. 3 Threads e Hiper-threading ...................................................................................................... 4 Threads .............................................................................................................................. 4 Hiper-threading .................................................................................................................. 6 Concluso .............................................................................................................................. 8 Bibliografia ............................................................................................................................ 9

Introduo

O conceito de threads surgiu na dcada de 60, sendo introduzido pelo projeto Multics. Os threads so mdulos do processo criadas para realizar uma tarefa especifica. Por meio delas consegue se executar diversos aplicativos sem perda considervel de velocidade. A palavra Thread refere-se a uma sequncia de instrues, um fluxo de dados que so executados linha por linha. Quando se tem mais de um thread em um processo, tem se uma multithreading, ou seja, diversos threads executando em um nico processo. Com o conceito de threads, a empresa Intel desenvolveu uma forma de threads melhorados, os hiper-threadings. Esta tecnologia consegue simular em um nico processador fsico dois processadores lgicos. Fazendo com que o paralelismo seja cada vez mais real. Este artigo objetiva a comparao no uso e no avano dos processadores com threads para os que possuem hiper-threadings. As pessoas tendem a confundir os processadores que usam threads com os que possuem a hiper-threadings, desconhecendo assim suas vantagens. Este artigo vem informar e apresentar estes fatos a todos. Cr-se que a eficincia da hiper-threading supera imensamente os threads. Tendo isso em vista busca-se provar que os threads comuns esto sendo e sero substitudos por esse novo tipo de thread, o hiper-threading

Threads e Hiper-threading

Threads

Threads so mdulos que cada processo do sistema operacional possui, uma parte do processo principal que foi criada para realizar um servio. Devido complexidade das novas aplicaes os threads se tornaram a forma mais rpida de se atender ao usurio, pois, em uma nica aplicao podem existir diversos mdulos de processos necessrios para se usar a aplicao, e para que estes sejam executados em tempo real, foi necessrio um mdulo que cuidasse de realizar estes subprocessos das aplicaes, com este conceito surgiram os threads. Os processos tradicionais so formados por diversos tipos de dados, mas possuem um nico thread. Por exemplo, em um formigueiro h quatro classes distintas, formigas operrias, sentinelas, enfermeiras e a rainha, elas trabalham em conjunto cada uma realizando sua tarefa especifica para o bem do formigueiro, este seria o processo com os threads. Agora imagine o mesmo formigueiro com apenas uma das classes tentando realizar todas as atividades, assim seria o processo sem threads. As principais vantagens na utilizao do thread sua velocidade de criao e destruio, pois, no existe nenhum tipo de dado adjunto a eles.

Cada thread possui itens especficos, que so: contador de programa, que controla qual ser a prxima instruo a ser executada, registradores, onde esto guardadas as variveis que 4

esto sendo utilizadas, pilha, que apresenta tudo o que foi executado por ela, e estado, que representa o estado de como ela se encontra, bloqueada e executando. Cada thread possui sua pilha de dados, distinta das outras, esta contem uma estrutura para cada mtodo executado. Contendo as variveis locais do mtodo e o caminho de retorno, se assemelhando a uma estrutura encadeada com ponteiros. Na multithread pode haver diversos threads em um nico processo. Os processos comumente iniciam com um nico thread, a execuo de mltiplos threads ocorre, pois, a thread principal cria outras threads em seu prprio endereamento para que estas realizem determinadas tarefas referentes ao processo. Os threads muitas vezes so confundidos com os processos, pois, eles possuem algumas de suas propriedades, sendo assim conhecidos por muitos como processos leves (lightweight). Os threads tendem a obedecer a filas at serem executados. Seu tempo de espera at a execuo de nanosegundos, ficando imperceptvel ao usurio, o que da uma falsa impresso de paralelismo. Isso acontece, pois, a CPU realiza uma alterao ente os threads em velocidade quase que imperceptvel. Como j foi dito, os threads dividem o mesmo endereamento na memria, sendo assim compartilham tambm suas variveis globais. Mas isso se torna uma grande desvantagem, j que os threads tambm podero ler, gravar e apagar qualquer informao de outro thread. Essa falta de segurana algo impossvel de corrigir. O melhoramento dos sistemas operacionais aps o uso de threads notvel, eles passaram a executar diversos aplicativos com o maior aproveitamento possvel dos threads. Fazendo com que o usurio pense que todos os processos no computador executem ao mesmo tempo, e tornando o computador popular como forma de lazer.

Hiper-threading

Sabendo o conceito de threads e como so utilizados, podemos seguir para os hiperthreadings. Criados pela empresa Intel (famosa por seus processadores de qualidade, se tornou referencia na fabricao destes), a tecnologia dos hiper-threadings seria como ter dois processadores trabalhando em uma nica mquina. Ela simula em um nico processador fsico dois processadores lgicos. Fazendo com que cada processador lgico receba suas instrues especficas, ou seja, cada um tem seu controlador, registradores, cache de memria, unidade de execuo, unidade lgica e aritmtica, unidade de ponto flutuante e barramentos. A hiper-threading permite a execuo de multithreadins em cada ncleo do seu processador fsico. Eles no dividem o mesmo espao de endereamento entre si, mesmo obedecendo a um processador pai que foi quem os criou. Para a utilizao deste, alem do suporte que o hardware deve ter, tambm necessrio que o software suporte o uso de mltiplos processadores para melhor usabilidade da tecnologia HT. O software trata as hiper-threadings como algo comum, ele manda os dados normalmente como se estivesse enviando os dados para o processador fsico. A organizao e ordenao dos dados a serem executados pelos processadores lgicos feita pelo processador fsico. Ele realiza a diviso das tarefas entre esses threads e cria o que h de mais prximo do paralelismo. Pois, ainda quando um thread est em execuo o outro comea a executar outro dado, e desta forma seguem o fluxo de dados. A empresa fabricante da HT, diz que, A Tecnologia Intel HT est disponvel nos processadores Intel Core de gerao anterior, 4 gerao da famlia de processadores Intel Core e famlia de processadores Intel Xeon. Ao combinar um desses processadores e chipsets Intel com um SO e BIOS compatveis com a Tecnologia Intel HT, possvel. As principais vantagens do usa das Hiper threadings so: 6

A execuo de vrios aplicativos sofisticados, como o pacote CSS6 e o CorelDraw, ao mesmo tempo sem perda de desempenho. O aumento da velocidade total do sistema operacional e de todos os seus aplicativos. Os grficos que por muitas vezes so prejudicados e distorcidos, passam a ser fiis aos originais e pode-se execut-los junto a demais sistemas sem perda de qualidade. A tecnologia HT possui a capacidade de aperfeioar a velocidade do processador em 30%, sendo assim recomendada para empresas e servios cujo tempo de resposta de um aplicativo pode salvar a vida de pessoas, por exemplo, em uma empresa de controle de voos, a velocidade com que a resposta do controlador chega ao piloto pode evitar acidentes. Ao comparar o uso dos threads tradicionais ou mesmo das multithreads com as HT vemos que, o conceito entre elas no se altera durante o decorrer de todo o processo do sistema. Os threads ou as multithreads so mais acessveis ao pblico em geral, pois esto hoje em todo hardware ou software, e mesmo com o desconhecimento da maioria da populao dos threads, estes facilitam o uso da mquina e a tornam popular. A tecnologia HT possui um custo mais elevado, pois necessrio um conjunto de outros componentes, como Chipset e Bios, para que se consiga seu verdadeiro aperfeioamento. E talvez ainda no seja to utilizada e conhecida pelas pessoas, sendo realmente utilizada por empresas com necessidades reais do sistema. A hiper-threading mais veloz, e eficiente que as threads, pois ela o que mais se aproxima do que chamamos de paralelismo. Para o melhor entendimento da tecnologia HT a empresa Intel disponibiliza um pequeno vdeo descrevendo o uso destes. http://www.intel.com/content/www/br/pt/architecture-and-technology/hyperthreading/hyper-threading-technology-video.html

Concluso

Por meio de todos os dados apresentados e comparados, foi conclusivo que os threads influenciaram muito no avano da velocidade e da qualidade dos aplicativos. Mas com a tecnologia das hiper-threadings elas se tornam apenas auxiliares importantes a essa nova tecnologia. As hipteses criadas por este foram preenchidas ao decorre do texto, pois comparada com a HT as threads so necessrias, pois seu trabalho ainda e insubstituvel, em curto prazo, mas so personagens secundrios quando comparadas as hiper-threadings. Novas tecnologias e meios de tornar cada vez mais rpido o processamento dos dados tendem a surgir nostalgicamente. Futuramente espera-se que haja um modo de processar os dados ainda mais rpido.

Bibliografia

Sistemas operacionais modernos / Andrew S. Tanenbaum; traduo Ronaldo A.L.Gonalves, Lus A. Consularo, Luciana do Amaral Teixeira; reviso tcnica Raphael Y. de Camargo. --3.ed.--So Paulo: Pearson Prentice Hall, 2010. Sistemas operacionais / Rmulo Silva de Oliveira, Alexandre da Silva Carissimi e Simo Sirineo Toscani. 2 edio Porto Alegre: Instituto de Informtica da UFRGS: Sagra Luzzatto, 2001. http://www.intel.com/content/www/br/pt/architecture-and-technology/hyperthreading/hyper-threading-technology.html http://www.tecmundo.com.br/9669-o-que-sao-threads-em-um-processador-.htm http://www.techterms.com/definition/hyperthreading http://www.clubedohardware.com.br/artigos/163 http://professor.unisinos.br/barbosa/grefe/atividades/at3/leonardo_3.pdf

You might also like