Professional Documents
Culture Documents
SUPERVISIONADAS
Cincia da Computao
4. Srie
Arquitetura de Computadores
Favorecer a aprendizagem.
Estimular a corresponsabilidade do aluno pelo aprendizado eficiente e
eficaz.
AUTORIA:
Fernando Bryan Frizzarin
Falculdade Anhanguera de Limeira
Pg. 2 de 13
COMPETNCIAS E HABILIDADES
Ao concluir as etapas propostas neste desafio, voc ter desenvolvido as competncias
e habilidades que constam, nas Diretrizes Curriculares Nacionais, descritas a seguir.
Identificar, analisar, documentar e solucionar problemas e necessidades passveis de
soluo via computao.
Compreender a inter-relao de cooperao e dependncia entre as disciplinas do
curso de Cincia da Computao.
Analisar, organizar, abstrair e relacionar dados e informaes.
Saber conciliar teoria e prtica.
Produo Acadmica
Relatrios parciais, com os resultados das pesquisas realizadas nas etapas de 1 a 4:
Participao
Esta atividade ser, em parte, desenvolvida individualmente pelo aluno e, em parte,
pelo grupo. Portanto, os alunos devero:
Padronizao
O material escrito solicitado nesta atividade deve ser produzido de acordo com as
normas da ABNT1, com o seguinte padro:
se houver citaes com mais de trs linhas, devem ser em fonte tamanho 10, com
um recuo de 4cm da margem esquerda e espaamento simples entre linhas;
Disponvel
em:
Pg. 3 de 13
DESAFIO
No incio do que chamamos de era dos computadores, em meados da dcada de 1940,
os computadores nada mais eram do que grandes e desajeitadas mquinas calculadoras,
capazes de realizar clculos diferenciais em uma velocidade incrivelmente maior do que os
seres humanos. Tambm no eram capazes de armazenar dados, nem mesmo os resultados
dos clculos realizados que precisavam ser anotados a partir de painis luminosos
ininteligveis para pessoas comuns.
Na dcada de 1950 essa realidade comeou a ser alterada pela ideia de que os
computadores deveriam ser dotados de uma unidade central de processamento (UCP ou
CPU Central Processing Unit) com funcionalidades bsicas como registradores, operandos
imediatos e alguma deteco de operandos invlidos. Dessa forma comeou-se a caminhar
em direo de computadores que poderiam ser utilizados para tarefas diversas, no apenas
para aquela especfica para que fora projetado.
Na dcada de 1960 a IBM (International Business Machines) comeou a projetar uma
famlia de computadores que poderiam executar o mesmo software, mas com poder de
processamento diferente. Esse foi um marco para o mercado de computadores a poca, pois
computadores poderiam ser adquiridos por preos variados, de forma que o cliente poderia
optar pela velocidade que desejava executar seus softwares (MANEY, HAMM, OBRIEN,
2011, p.102-121). Modelo que perdura at hoje. Nesse nterim a IBM criou o computador
chamado System/360, sendo a primeira famlia de computadores a separar a arquitetura da
implementao.
Com o passar dos anos, desde ento, a busca foi sempre por
aumentar a capacidade dos computadores, tanto em processamento
quanto em armazenamento, de forma a ter cada vez mais
velocidade de processamento e volume de dados. Crculo virtuoso
que passou a ser o mantra cientfico e comercial da computao.
Em 1965, Gordon Moore2, postulou que o nmero de
transistores em um chip dobrariam a cada 18 meses, sem acrscimos
ao custo da sua concepo. Tal postulado ficou conhecido como a
Lei de Moore que era realidade at que na dcada de 2000 os
transistores eram to pequenos que j no era mais possvel
diminu-los, tornado quase impossvel o aumento do clock dos
processadores, por diversos fatores fsicos relacionados
miniaturizao. A soluo foi utilizar mais de um processador em
Figura 01 - Gordon E. Moore,
uma mesma arquitetura, sendo que esses processadores mltiplos
co-fundador da Intel Co.
Disponvel em:
puderam ser construdos dentro do mesmo encapsulamento, dando
<http://www.intel.com/pressr
origem aos processadores multicore, cuja ideia baseia-se no fato de oom/kits/events/moores_law_
40th/>. Acesso em: 14 abr.
que dois processadores de 1,5 Ghz, por exemplo, tm o mesmo
2013.
desempenho de um processador de 3,0 Ghz. Para que os
processadores multicore sejam eficientes preciso utilizar um conjunto de instrues e
tcnicas especiais para que ocorra paralelismo.
Nesse mesmo conceito esto os Cluster de Alto Desempenho, em que diversos
processadores, memrias e mecanismos de armazenamentos esto disponveis em
localidades geograficamente dispersas.
2
em:
Pg. 4 de 13
Objetivo do Desafio
Elaborar um conjunto de relatrios tcnicos que demonstrem a ligao da arquitetura
de computadores com a escolha de um sistema operacional e com o desenvolvimento de
software para computadores.
PASSOS
Passo 1 (Equipe)
Fazer as atividades apresentadas a seguir.
1. Pesquisar e descrever uma famlia de processadores de nico ncleo e compar-la com
uma famlia de processadores de mltiplos ncleos (multicore). Por exemplo, Intel Pentium
e Intel Core i (i3, i5 e i7). Acessar os links:
INTEL. Especificao do processador i3 de terceira gerao. 2013. Disponvel em:
<https://docs.google.com/file/d/0Bw8h5gjcgv3ITThYOEVveDdMdjQ/edit?usp=sh
aring>. Acesso em: 09 abr. 2013.
INTEL. Especificao do processador i5 de terceira gerao. 2013. Disponvel em:
<https://docs.google.com/file/d/0Bw8h5gjcgv3IN25GZGE5cjFhTFU/edit?usp=shar
ing>. Acesso em 09 abr. 2013.
INTEL. Especificao do processador i7 de terceira gerao. 2013. Disponvel em:
<https://docs.google.com/file/d/0Bw8h5gjcgv3IM05fZ0xRdjBBTmM/edit?usp=shar
ing>. Acesso em 09 abr. 2013.
Estes documentos contm dados dos fabricantes desses processadores para efetuar sua
pesquisa.
Fernando Bryan Frizzarin
Pg. 5 de 13
2.
Escolher pelo menos dois processadores de cada famlia e produzir um relatrio com os
detalhes de miniaturizao, clock, cache, consumo energtico, conjunto de instrues de
microarquitetura e capacidade dos controladores de memria principal (Random Access
Memory RAM) de cada um dos processadores escolhidos.
Passo 2 (Equipe)
Fazer as atividades apresentadas a seguir.
1. Acessar o link: MICROSOFT, Requisitos do sistema do Windows 8, 2013. Disponvel em:
<https://docs.google.com/file/d/0Bw8h5gjcgv3IUTVOLVhWZmQ4NWM/edit?usp=sharing>.
Acesso em 09 abr. 2013.
2. Pesquisar o suporte a processadores e requisitos mminos para o Sistema Operacional
Windows 8.
3. Escolher uma distribuio Linux com ambiente grfico GNOME e fazer a mesma pesquisa
sobre suporte a processadores e requisitos mnimos.
4. Recorrer ao livro texto da disciplina de Sistemas Operacionais no captulo "Arquitetura de
Sistemas Operacionais" para descrever em profundidade o funcionamento dos sistemas
operacionais selecionados.
5. Elaborar uma tabela comparativa, conforme modelo abaixo, entre o Sistema Operacional
Windows e a distribuio Linux escolhida.
Tabela 01 - Comparao entre sistemas operacionais.
Requisitos
Processador
Memria RAM
Espao no disco rgido
Placa grfica
Resoluo de tela
Windows 8
Linux
Fonte: Autor.
Passo 3 (Equipe)
Fazer as atividades apresentadas a seguir.
1. Acessar o link TOKARNIA, Alice M., Pipeline: conceitos bsicos e mais. 2013. Disponvel em:
<https://docs.google.com/file/d/0Bw8h5gjcgv3IZTBSZXgzeFc2UzQ/edit?usp=sharing>.
Acesso em 09 abr. 2013.
2. Fazer uma pesquisa sobre processadores pipelined, ou processadores que fazem uso da
tcnica chamada pipeline.
3. Elaborar um relatrio que descreva as vantagens e desvantagens dessa tcnica.
Passo 4 (Equipe)
Elaborar um nico relatrio e entregar ao professor o relatrio parcial de cinco a quinze
pginas com o nome: Relatrio 01 Comparativo entre processadores e comparativo entre
sistemas operacionais, processadores pipelined contendo as informaes obtidas nos passos
anteriores.
Pg. 6 de 13
PASSOS
Passo 1 (Equipe)
Fazer as atividades apresentadas a seguir.
1. Realizar testes com o programa do cdigo apresentado abaixo cronometrando a execuo
de alguns comandos internos do sistema operacional, tais como DIR, TREE, MD, RD
criando um relatrio que apresente o resultado das investidas em formato de tabela
conforme exemplo apresentado a seguir.
Tabela 02 Tempo de execuo de comandos internos do sistema operacional.
Sistema operacional:
Comando
DIR
TREE
MD
RD
Fonte: Autor.
2. Considerar que um dos meios mais fceis e simples para anlise de desempenho
(benchmark) cronometrar a execuo de um programa em um determinado sistema
computacional. Para sistemas computacionais baseado em sistema operacional Windows
necessrio desenvolver uma ferramenta para isso, pode-se utilizar o cdigo escrito em
linguagem C mostrado a seguir.
Pg. 7 de 13
#include <windows.h>
#include <stdio.h>
char *skip_arg(char *line)
{
while (*line != '\0' && *line != ' ' && *line != '\t')
line++;
while (*line == ' ' || *line == '\t')
line++;
return line;
}
int main(void)
{
STARTUPINFO stup;
PROCESS_INFORMATION pinfo;
LONGLONG ct, et, kt, ut, elapse;
SYSTEMTIME sct, set;
char *call;
call = GetCommandLine(); // string com a linha de comando
call = skip_arg(call); // salta o 1.o argumento
GetStartupInfo(&stup); // necessrio para a criao de um novo processo
CreateProcess(NULL, call, NULL, NULL, TRUE, NORMAL_PRIORITY_CLASS, NULL,
NULL,&stup, &pinfo); // cria novo processo com parmetros de chamada
WaitForSingleObject(pinfo.hProcess, INFINITE); // espera que termine
GetProcessTimes(pinfo.hProcess, (FILETIME *)&ct, (FILETIME *)&et,(FILETIME
*)&kt, (FILETIME *)&ut);
CloseHandle(pinfo.hProcess); // fecha handle do processo terminado
CloseHandle(pinfo.hThread); // fecha handle do thread terminado
elapse = et - ct;
FileTimeToSystemTime((FILETIME *)&ct, &sct);
FileTimeToSystemTime((FILETIME *)&et, &set);
printf("\n\nStart
time:
%02d:%02d:%02d.%03d\n",
sct.wHour,
sct.wMinute,sct.wSecond, sct.wMilliseconds);
printf("End
time:
%02d:%02d:%02d.%03d\n",
set.wHour,
set.wMinute,set.wSecond, set.wMilliseconds);
printf("Elapsed: %.3f ms\n", (double)elapse/10000);
printf("Kernel: %.3f ms\n", (double)kt/10000);
printf("User: %.3f ms\n", (double)ut/10000);
return 0;
}
Fonte: Autor.
Pg. 8 de 13
Pg. 9 de 13
Passo 2 (Equipe)
Fazer as atividades apresentadas a seguir:
1. Realizar os mesmos testes do passo anterior nos computadores dos integrantes do grupo e
no maior nmero de computadores possveis da faculdade, sendo que obrigatoriamente
devero ser em pelo menos dois sistemas operacionais diferentes, os comandos devero
ser os mesmos para efeito de comparao.
2. Relatar os resultados encontrados no formato de tabela conforme o descrito no passo
anterior e gerar um grfico de linhas para comparao de todos os resultados, conforme
exemplo apresentado na figura 4 a seguir.
Passo 3 (Equipe)
Ler o artigo: PEDROSA, Paulo H. C. e NOGUEIRA, Tiago. Computao em Nuvem. 2013.
Disponvel
em:
<https://docs.google.com/file/d/0Bw8h5gjcgv3IX1NJZG5QWVBUNjA/edit?usp=sharing>.
Acesso em 09 abr. 2013. Em seguida, elaborar um resumo para integrar o relatrio parcial
desta etapa.
Passo 4 (Equipe)
Elaborar e entregar ao professor relatrio parcial de 10 a 20 pginas com o nome Relatrio 02
Benchmark, Cluster e Cloud contendo as informaes obtidas nos passos anteriores. Este
relatrio dever conter as tabelas criadas no passo 01 e passo 02, alm do grfico obtido com
os valores dessas tabelas e tambm o resumo sobre o artigo Computao em Nuvem
realizado para o passo 03.
Pg. 10 de 13
PASSOS
Passo 1 (Equipe)
Pesquisar e organizar em forma de tabela, conforme o exemplo abaixo, pelo menos 5
caractersticas dos clusters de alto desempenho, cluster de alta disponibilidade e cluster para
balanceamento de carga.
Tabela 03 Descrio dos sistemas de cluster.
Cluster
Alto Desempenho
Alta Disponibilidade
Balanceamento de Carga
Caractersticas
Fonte: Autor.
Bibliografia Complementar
SANTOS, Rafael. Introduo Programao Orientada a Objetos usando Java. PLT. 1 ed.
Rio de Janeiro: Elsevier, 2008.
DEITEL, Paul J. (org.). Sistemas Operacionais. 3 ed. So Paulo: Pearson Prentice Hall,
2008.
Passo 2 (Equipe)
Fazer as atividades apresentadas a seguir.
1. Pesquisar sistemas de Cluster para Alto Desempenho (HPC - High Performance Cluster)
disponvel para sistemas operacionais Linux. Os sistemas de cluster devem ser
obrigatoriamente, open-source e gratuitos.
2. Escrever relatrio que contenha o nome do sistema de Cluster HPC encontrado, em qual
verso se encontra, qual o desenvolvedor e se aplicado apenas para alguma distribuio
Linux especfica.
Passo 3 (Aluno)
Acessar o link BACELLAR, Hilrio Viana. Cluster: Computao de Alto Desempenho. 2013.
Disponvel
em:
<https://docs.google.com/file/d/0Bw8h5gjcgv3IRXdxZGxfYkZfbUU/edit?usp=sharing>.
Acesso em: 09 abr. 2013. Em seguida, resumir as vantagens de desvantagens apresentadas
pelo autor.
Pg. 11 de 13
Passo 4 (Aluno)
Elaborar e entregar ao professor relatrio parcial de 10 a 20 pginas com o Relatrio 03
Teoria dos Clusters contendo as informaes obtidas nos passos anteriores. Este relatrio
dever conter a tabela criada no passo 01 e a lista de sistemas de Cluster HPC feita para o
passo 02, alm do resumo do artigo lido para o passo 03.
PASSOS
Passo 1 (Equipe)
Fazer as atividades apresentadas a seguir.
1. Utilizar uma distribuio Linux a escolha do grupo e implementar um cluster de alto
desempenho, conforme os encontrados e estudados na etapa anterior, com pelo menos
dois computadores. No ser preciso a utilizao de computadores exclusivos para essa
tarefa sendo que a implementao pode ser feita por meio de mdias do tipo live (sem a
necessidade de instalao definitiva do sistema operacional no computador), por meio de
boot utilizado pendrives ou mquina virtual.
2. Descrever a instalao em relatrio que contenha todas as telas de todos os passos da
instalao seguidas dos respectivos comandos utilizados para que todo o processo seja
concludo.
Passo 2 (Equipe)
Fazer as atividades apresentadas a seguir.
1. Acessar:
ORACLE.
Fork/Join.
2013.
Disponvel
em:
<https://docs.google.com/file/d/0Bw8h5gjcgv3IZzZtSEtzN0FMS28/edit?usp=sharing>.
Acesso em: 09 abr. 2013. Entender as tcnicas e comandos utilizados para programar
tarefas em ambientes de paralelismo e multicore em linguagem JAVA.
2. Descrever os comandos e tcnicas em relatrio de no mximo trs pginas.
Passo 3 (Equipe)
Fazer as atividades apresentadas a seguir.
1. Alterar ao programa abaixo, que mostra todos os nmeros primos entre 1 e 100.000 para
que possa ser executado de forma concorrente, baseando-se no artigo lido no passo
anterior.
Pg. 12 de 13
Pg. 13 de 13
Referncias Bibliogrficas:
MANEY, Kevin, HAMM, Steve, OBRIEN, Jeffrey M. Tornando um mundo melhor: ideias que
moldaram um sculo e uma empresa. So Paulo: IBM Press Pearson PLC, 2011.