<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-12676946</id><updated>2011-12-01T05:40:46.560-02:00</updated><title type='text'>Blog do Henrique</title><subtitle type='html'>ola, meu nome é Henrique</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>67</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-12676946.post-6051971273948906400</id><published>2011-06-21T20:30:00.000-03:00</published><updated>2011-06-21T20:30:07.914-03:00</updated><title type='text'>Notas Publicadas de Estruturas de Dados</title><content type='html'>As notas foram publicadas. Quem não teve sua nota publicada deve procurar com urgência os órgãos competentes na FACIMA e descobrir porque seus nomes não parecem na minha listagem, que é o caso de alguns de vocês.&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Ninguém será prejudicado, mas é dever de vocês verificar porque seus nomes não aparecem na minha lista (somente os que não aparecem, é claro). Tão logo esteja tudo resolvido, me avisem para eu publicar as notas.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-6051971273948906400?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/6051971273948906400/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=6051971273948906400' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/6051971273948906400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/6051971273948906400'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2011/06/notas-publicadas-de-estruturas-de-dados.html' title='Notas Publicadas de Estruturas de Dados'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-2697553020354518666</id><published>2011-06-16T16:29:00.002-03:00</published><updated>2011-06-21T20:18:25.153-03:00</updated><title type='text'>Exames Finais de Sistemas Operacionais</title><content type='html'>Mais sobre os exames finais.&lt;br /&gt;
&lt;br /&gt;
O exame final de Estrutura de Dados será realmente na terça-feira, dia 28 de Junho, visto que foi decretado feriado no dia 27 na FACIMA, e em Alagoas em geral.&lt;br /&gt;
&lt;br /&gt;
Exame Final: 28 de Junho, 19:15, sala de aula.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Os alunos de Sistemas Operacionais, turma da NOITE, que quiserem, podem fazer o exame final na TERÇA-FEIRA de noite, junto da turma de Estruturas de Dados.&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
As notas de Estruturas de Dados estão chegando ao site FACIMA agora, por favor alguns alunos confirmem que a nota está lá.&lt;br /&gt;
&lt;br /&gt;
Para quem precisa fazer exame final de sistemas operacionais:&lt;br /&gt;
&lt;br /&gt;
Turma da manhã: Dia 28 de Junho&lt;br /&gt;
Turma da Noite: Dia 30 de Junho (de noite, dããããã !).&lt;br /&gt;
&lt;br /&gt;
Provas objetivas, de toda a matéria, com conteúdos balanceados, e que estão nas listas.&lt;br /&gt;
&lt;br /&gt;
A média para passar é 5.0. Deve-se somar sua média, até agora, com a nota do exame, e dividir por 2. como é de praxe na FACIMA.&lt;br /&gt;
&lt;br /&gt;
Até mais&lt;br /&gt;
&lt;br /&gt;
P.S. Alguns de vocês confirmem por email que as notas estão aparecendo corretamente no site. Eu mesmo adicionei estas notas por volta de 15:30 até 16:30 do dia 16 de Junho.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-2697553020354518666?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/2697553020354518666/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=2697553020354518666' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/2697553020354518666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/2697553020354518666'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2011/06/exames-finais-de-sistemas-operacionais.html' title='Exames Finais de Sistemas Operacionais'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-3298803871709340472</id><published>2011-05-16T21:04:00.002-03:00</published><updated>2011-05-16T21:04:16.666-03:00</updated><title type='text'>main.c</title><content type='html'>&lt;br /&gt;
#include "lista.h"&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Lista* L;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;L = inicializa();&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;L = insere(L,12);&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;L = insere(L,8);&lt;br /&gt;
}&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-3298803871709340472?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/3298803871709340472/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=3298803871709340472' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/3298803871709340472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/3298803871709340472'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2011/05/mainc.html' title='main.c'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-9135411782256141415</id><published>2011-05-16T21:03:00.004-03:00</published><updated>2011-05-16T21:03:56.488-03:00</updated><title type='text'>lista.h</title><content type='html'>&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
struct lista&lt;br /&gt;
{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int n;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;struct lista* prox;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
typedef struct lista Lista;&lt;br /&gt;
&lt;br /&gt;
Lista* inicializa(void);&lt;br /&gt;
Lista* insere(Lista* L, int v);&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-9135411782256141415?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/9135411782256141415/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=9135411782256141415' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/9135411782256141415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/9135411782256141415'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2011/05/listah.html' title='lista.h'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-5415757914037725669</id><published>2011-05-16T21:03:00.001-03:00</published><updated>2011-05-16T21:03:20.736-03:00</updated><title type='text'>lista.c</title><content type='html'>&lt;br /&gt;
#include "lista.h"&lt;br /&gt;
&lt;br /&gt;
Lista* inicializa(void)&lt;br /&gt;
{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return NULL;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Lista* insere(Lista* L, int v)&lt;br /&gt;
{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Lista* novo;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;novo = malloc(sizeof(Lista));&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;novo-&amp;gt;n = v;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;novo-&amp;gt;prox = L;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return novo;&lt;br /&gt;
}&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-5415757914037725669?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/5415757914037725669/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=5415757914037725669' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/5415757914037725669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/5415757914037725669'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2011/05/listac.html' title='lista.c'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-2951504913521117144</id><published>2011-05-16T17:58:00.001-03:00</published><updated>2011-05-16T18:02:13.235-03:00</updated><title type='text'>provas finais de todas as disciplinas</title><content type='html'>As provas finais (NP2) ocorrerão nos seguintes dias:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Estrutura de Dados NP2 dia 06/06/2011&lt;/li&gt;
&lt;li&gt;Sistemas Distribuídos Último dia de AULA: 1/6&lt;/li&gt;
&lt;li&gt;Sistemas operacionais, NOITE: NP2 dia 2/6&lt;/li&gt;
&lt;li&gt;Sistemas Distribuídos MANHÃ: NP2 dia 7/6&lt;/li&gt;
&lt;li&gt;Provas Substitutivas ocorrerão de 8/6 até 14/6&lt;/li&gt;
&lt;li&gt;Exames, do dia 16/6 até 28/6&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Fiquem atentos a estas datas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-2951504913521117144?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/2951504913521117144/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=2951504913521117144' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/2951504913521117144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/2951504913521117144'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2011/05/provas-finais-de-todas-as-disciplinas.html' title='provas finais de todas as disciplinas'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-1014630261212046536</id><published>2011-05-09T15:27:00.000-03:00</published><updated>2011-05-09T15:27:45.566-03:00</updated><title type='text'>Estruturas de Dados</title><content type='html'>Nova lista de Estruturas de Dados.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;

&lt;a href="https://docs.google.com/viewer?a=v&amp;pid=explorer&amp;chrome=true&amp;srcid=0BwDRZxpK0ziPMmM0OWEzZGMtNGZhYS00ZTc1LWE2ZDAtODM2MmU3ZTZjMzJi&amp;hl=pt_BR&amp;authkey=COG25asE"&gt;Lista 8&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-1014630261212046536?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/1014630261212046536/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=1014630261212046536' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/1014630261212046536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/1014630261212046536'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2011/05/estruturas-de-dados.html' title='Estruturas de Dados'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-1389376087039710938</id><published>2011-05-03T21:22:00.000-03:00</published><updated>2011-05-03T21:22:00.055-03:00</updated><title type='text'>Estrutura de Dados</title><content type='html'>Conforme pedido por vocês, o livro em formato "livreto".&lt;br /&gt;
&lt;br /&gt;
Para gerar um livro em formato livreto, pegue este documento, imprima em frente e verso, e corte ao meio. Ao longo da vertical, é claro (dãããã).&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://dl.dropbox.com/u/4780892/estrutura-livrinho.pdf"&gt;estrutura-livrinho.pdf&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Alguém me avise por email que funcionou (ou seja, que está OK para imprimir). Como fazer ?&lt;br /&gt;
&lt;br /&gt;
Instale um sistema operacional de verdade&lt;br /&gt;
na linha de comando, na pasta onde está o arquivo&lt;br /&gt;
&lt;br /&gt;
pdf2ps arquivo.pdf arquivo.ps&lt;br /&gt;
psbook arquivo.ps | psnup -2 &amp;gt; novo.ps&lt;br /&gt;
ps2pdf novo.ps novo.pdf&lt;br /&gt;
&lt;br /&gt;
novo.pdf é o arquivo em formato livreto.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-1389376087039710938?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/1389376087039710938/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=1389376087039710938' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/1389376087039710938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/1389376087039710938'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2011/05/estrutura-de-dados.html' title='Estrutura de Dados'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-2332762628837863081</id><published>2011-04-25T18:36:00.000-03:00</published><updated>2011-04-25T18:36:15.629-03:00</updated><title type='text'>Lista 7 de Estrutura de Dados</title><content type='html'>A lista 7 não será entregue. Desta vez, faremos um mini-teste na próxima aula, nos 30 minutos finais, onde um pequeno pedaço de um dos programas da lista deverá ser reproduzido em aula.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://dl.dropbox.com/u/4780892/problemas7.pdf"&gt;Lista 7&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-2332762628837863081?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/2332762628837863081/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=2332762628837863081' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/2332762628837863081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/2332762628837863081'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2011/04/lista-7-de-estrutura-de-dados.html' title='Lista 7 de Estrutura de Dados'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-7706588086961875604</id><published>2011-04-13T20:16:00.000-03:00</published><updated>2011-04-13T20:16:46.398-03:00</updated><title type='text'>Trabalho de Sistemas Distribuidos</title><content type='html'>Trabalho em Grupo, três pessoas no máximo.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://docs.google.com/viewer?a=v&amp;amp;pid=explorer&amp;amp;chrome=true&amp;amp;srcid=0BwDRZxpK0ziPOGU0MWI5ZjUtYmEzOS00Yjc0LWFmZDItZmE5ZmY1MDFiNzU0&amp;amp;hl=pt_BR&amp;amp;authkey=CNqj2O4D"&gt;Trabalho&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-7706588086961875604?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/7706588086961875604/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=7706588086961875604' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/7706588086961875604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/7706588086961875604'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2011/04/trabalho-de-sistemas-distribuidos.html' title='Trabalho de Sistemas Distribuidos'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-6018867732584964776</id><published>2011-04-06T11:41:00.001-03:00</published><updated>2011-04-06T11:41:08.545-03:00</updated><title type='text'>Sistemas Distribuidos</title><content type='html'>Aos alunos&lt;br /&gt;
&lt;br /&gt;
Infelizmente hoje não poderei dar aula de Sistemas Distribuidos. Desculpem pelo incomodo, e gostaria de pedir aos alunos da disciplina que receberam esta mensagem me avisem por email, e tentem repassar aos colegas para que estes não vão até lá somente para a minha aula.&lt;br /&gt;
&lt;br /&gt;
Obrigado e desculpem de novo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-6018867732584964776?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/6018867732584964776/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=6018867732584964776' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/6018867732584964776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/6018867732584964776'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2011/04/sistemas-distribuidos.html' title='Sistemas Distribuidos'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-420130734001769653</id><published>2011-03-21T18:55:00.000-03:00</published><updated>2011-03-21T18:55:03.592-03:00</updated><title type='text'>Listas de Estruturas de Dados</title><content type='html'>Mais duas listas de Estruturas de Dados. Durante a aula definiremos as datas de entrega das listas.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://dl.dropbox.com/u/4780892/problemas5.pdf"&gt;Lista 5&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://dl.dropbox.com/u/4780892/problemas6.pdf"&gt;Lista 6&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Ainda temos a Lista 4 para ser entregue. A lista 4 está em&amp;nbsp;&lt;a href="http://dl.dropbox.com/u/4780892/problemas4.pdf"&gt;Lista 4&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Até mais&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-420130734001769653?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/420130734001769653/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=420130734001769653' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/420130734001769653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/420130734001769653'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2011/03/listas-de-estruturas-de-dados.html' title='Listas de Estruturas de Dados'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-339819696323747545</id><published>2011-03-16T19:25:00.000-03:00</published><updated>2011-03-16T19:25:24.081-03:00</updated><title type='text'>Sistemas Distribuidos</title><content type='html'>Apostila de MPI (Programação Paralela)&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://dl.dropbox.com/u/4780892/apostila_MPI.pdf"&gt;Apostila MPI&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Vamos construir alguns clusters na aula&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;http://www.open-mpi.org/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-339819696323747545?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/339819696323747545/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=339819696323747545' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/339819696323747545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/339819696323747545'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2011/03/sistemas-distribuidos.html' title='Sistemas Distribuidos'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-5743834177889351263</id><published>2011-03-03T14:27:00.001-03:00</published><updated>2011-03-03T14:28:11.955-03:00</updated><title type='text'>Página do google code com alguns códigos em C.</title><content type='html'>Abri um projeto no google code para gerenciar os códigos em C, então estou enviando o link. Claro que para baixar programas, os mesmo vê-los (copiá-los) não precisa ter conta no google.&lt;br /&gt;
&lt;br /&gt;
Se alguém quiser se cadastrar na página me mande um email, mas aí tem que ter conta no google (que não é o mesmo que ter conta no gmail, apesar da conta do gmail servir).&lt;br /&gt;
&lt;br /&gt;
O link é&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://code.google.com/p/codigos-c/source/browse/#svn%2Ftrunk"&gt;Google Code&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://code.google.com/p/codigos-c/"&gt;Códigos em C - Página Inicial&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Até mais&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-5743834177889351263?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/5743834177889351263/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=5743834177889351263' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/5743834177889351263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/5743834177889351263'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2011/03/pagina-do-google-code-com-alguns.html' title='Página do google code com alguns códigos em C.'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-2498915814345645271</id><published>2011-03-01T22:50:00.001-03:00</published><updated>2011-03-03T16:48:34.793-03:00</updated><title type='text'>Lista 1 de Sistemas Operacionais</title><content type='html'>Não são necessários, por enquanto, os problemas 5 até 17. Isto significa que alguns problemas poderão sair também, mas por enquanto são todos menos 5 até 17.&lt;br /&gt;
&lt;br /&gt;
A Lista completa:&lt;br /&gt;
&lt;br /&gt;
Todos os Problemas, à exceção de 5-17, 25, 27,28, 31-33, 46-53&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-2498915814345645271?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/2498915814345645271/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=2498915814345645271' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/2498915814345645271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/2498915814345645271'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2011/03/lista-1-de-sistemas-operacionais.html' title='Lista 1 de Sistemas Operacionais'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-8123904742552269000</id><published>2011-02-28T22:06:00.000-03:00</published><updated>2011-02-28T22:06:50.026-03:00</updated><title type='text'>Programas</title><content type='html'>prog1 lista 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int x[10];&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int y[10];&lt;br /&gt;
//&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int x[10], y[10];&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int i;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int tmp;&lt;br /&gt;
//&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int i, tmp;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for ( i = 0 ; i &amp;lt; 10 ; i++ )&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("Digite valor");&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;scanf("%d", &amp;amp;tmp);&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;x[i] = tmp;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;
&lt;br /&gt;
// &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for ( i = 0 ; i &amp;lt; 10 ; i++ )&lt;br /&gt;
// &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;{&lt;br /&gt;
// &lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("%d\n", x[i]);&lt;br /&gt;
// &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for ( i = 0 ; i &amp;lt; 10 ; i++ )&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;y[9-i] = x[i];&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for ( i = 0 ; i &amp;lt; 10 ; i++ )&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("%d\n", y[i]);&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return 0;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
prog3 lista 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int a[10];&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int X;&lt;br /&gt;
//&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int x[10], y[10];&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int i;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int tmp;&lt;br /&gt;
//&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int i, tmp;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for ( i = 0 ; i &amp;lt; 10 ; i++ )&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("Digite valor");&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;scanf("%d", &amp;amp;tmp);&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;a[i] = tmp;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("Digite X");&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;scanf("%d", &amp;amp;X);&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for ( i = 0 ; i &amp;lt; 10 ; i++ )&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;if ( X == a[i] )&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;printf("Achei %d no indice %d\n", X, i);&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;exit(0);&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("Não\n");&lt;br /&gt;
}&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-8123904742552269000?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/8123904742552269000/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=8123904742552269000' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/8123904742552269000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/8123904742552269000'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2011/02/programas.html' title='Programas'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-8148037423970728803</id><published>2011-02-28T19:09:00.002-03:00</published><updated>2011-02-28T19:09:23.103-03:00</updated><title type='text'>Lista 4 de Programação em C</title><content type='html'>Esta é a lista 4, que deverá ser entregue em data a combinar.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://dl.dropbox.com/u/4780892/problemas4.pdf"&gt;Lista 4&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-8148037423970728803?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/8148037423970728803/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=8148037423970728803' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/8148037423970728803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/8148037423970728803'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2011/02/lista-4-de-programacao-em-c.html' title='Lista 4 de Programação em C'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-1218338936352800073</id><published>2011-02-26T02:12:00.002-03:00</published><updated>2011-02-28T19:08:19.997-03:00</updated><title type='text'>Trabalhos de Sistemas Distribuídos Entregues</title><content type='html'>Entregaram os trabalhos os alunos:&lt;br /&gt;
&lt;br /&gt;
Alexandre&lt;br /&gt;
Oscar&lt;br /&gt;
Gustavo&lt;br /&gt;
Zacarias&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-1218338936352800073?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/1218338936352800073/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=1218338936352800073' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/1218338936352800073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/1218338936352800073'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2011/02/trabalhos-de-sistemas-distribuidos.html' title='Trabalhos de Sistemas Distribuídos Entregues'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-292392006895244670</id><published>2011-02-23T20:53:00.000-03:00</published><updated>2011-02-23T20:53:03.518-03:00</updated><title type='text'>prog2.c</title><content type='html'>&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;math.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;complex.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;gsl/gsl_complex.h&amp;gt;&lt;br /&gt;
#include &amp;lt;gsl/gsl_complex_math.h&amp;gt;&lt;br /&gt;
#include &amp;lt;gsl/gsl_vector_complex.h&amp;gt;&lt;br /&gt;
#include &amp;lt;gsl/gsl_vector.h&amp;gt;&lt;br /&gt;
#include &amp;lt;gsl/gsl_errno.h&amp;gt;&lt;br /&gt;
#include &amp;lt;gsl/gsl_fft_complex.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int N = 1024;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int i;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;double Tmin, Tmax, deltaT;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;double f,A, B, w;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;double t[N], g[N], l[N], h[N];&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Tmin = -16.0; /* 16 vezes Pi */&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Tmax = 16.0;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;deltaT = 32.0/N;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;f = 2.0;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;A = 1.0;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;B = 0.01;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;w = 0.04;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for ( i = 0 ; i &amp;lt; N ; i++ )&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;t[i] = (Tmin + i*deltaT)*2.0*M_PI;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;g[i] = A*sin(f*t[i]);&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for ( i = 0 ; i &amp;lt; N ; i++ )&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;h[i] = B*sin(w*t[i]);&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for ( i = 0 ; i &amp;lt; N ; i++ )&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;l[i] = h[i]*g[i];&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for ( i = 0 ; i &amp;lt; N ; i++ )&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("%f\t%f\n", t[i], l[i]);&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;/* Kmin = -1/2*deltaX */&lt;br /&gt;
// &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Fmin = -N/64.0;&lt;br /&gt;
// &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Fmax = N/64.0;&lt;br /&gt;
// &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;deltaF = 1.0/32.0;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;/* Gerar um seno, com uma dada frequencia (2Hz, por exemplo) */&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-292392006895244670?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/292392006895244670/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=292392006895244670' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/292392006895244670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/292392006895244670'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2011/02/prog2c.html' title='prog2.c'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-7263828765727963595</id><published>2011-02-23T20:37:00.002-03:00</published><updated>2011-02-23T20:37:26.365-03:00</updated><title type='text'>prog1.c</title><content type='html'>&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;math.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;complex.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;gsl/gsl_complex.h&amp;gt;&lt;br /&gt;
#include &amp;lt;gsl/gsl_complex_math.h&amp;gt;&lt;br /&gt;
#include &amp;lt;gsl/gsl_vector_complex.h&amp;gt;&lt;br /&gt;
#include &amp;lt;gsl/gsl_vector.h&amp;gt;&lt;br /&gt;
#include &amp;lt;gsl/gsl_errno.h&amp;gt;&lt;br /&gt;
#include &amp;lt;gsl/gsl_fft_complex.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int N = 1024;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int i;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;double Tmin, Tmax, deltaT;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;double f,A;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;double t[N], g[N];&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Tmin = -16.0; /* 16 vezes Pi */&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Tmax = 16.0;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;deltaT = 32.0/N;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;f = 2.0;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;A = 1.0;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for ( i = 0 ; i &amp;lt; N ; i++ )&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;t[i] = (Tmin + i*deltaT)*2.0*M_PI;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;g[i] = A*sin(f*t[i]);&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for ( i = 0 ; i &amp;lt; N ; i++ )&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("%f\t%f\n", t[i], g[i]);&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;/* Kmin = -1/2*deltaX */&lt;br /&gt;
// &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Fmin = -N/64.0;&lt;br /&gt;
// &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Fmax = N/64.0;&lt;br /&gt;
// &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;deltaF = 1.0/32.0;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;/* Gerar um seno, com uma dada frequencia (2Hz, por exemplo) */&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-7263828765727963595?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/7263828765727963595/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=7263828765727963595' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/7263828765727963595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/7263828765727963595'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2011/02/prog1c.html' title='prog1.c'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-3924126106087155496</id><published>2011-02-23T14:16:00.002-03:00</published><updated>2011-02-23T14:17:13.258-03:00</updated><title type='text'>Programação em C - Verificador de números primos GRANDES</title><content type='html'>&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Versão de números grandes de um verificador de números primos&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char* argv[])&lt;br /&gt;
{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;unsigned long long int i;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;unsigned long long int num = strtoull(argv[1], NULL, 10);&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for ( i = 2 ; i &amp;lt; num ; i++ )&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;if ( num % i == 0 )&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;printf("num = %llu NÃO é primo\n", num);&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;exit(0);&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("num = %llu é primo\n", num);&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Compilar: gcc prog.c -o prog.exe&lt;br /&gt;
// Rodar: ./prog.exe numero&lt;br /&gt;
// Exemplo: ./prog.exe 71&lt;br /&gt;
// Saida : 71 é primo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-3924126106087155496?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/3924126106087155496/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=3924126106087155496' title='4 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/3924126106087155496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/3924126106087155496'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2011/02/programacao-em-c-verificador-de-numeros_23.html' title='Programação em C - Verificador de números primos GRANDES'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-6626712103423976556</id><published>2011-02-23T14:13:00.001-03:00</published><updated>2011-02-23T14:17:32.929-03:00</updated><title type='text'>Programação em C - Verificador de números primos</title><content type='html'>&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Versão light de um verificador de números primos&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char* argv[])&lt;br /&gt;
{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int i;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int num = atoi(argv[1]);&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for ( i = 2 ; i &amp;lt; num ; i++ )&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;if ( num % i == 0 )&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;printf("num = %d NÃO é primo\n", num);&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;exit(0);&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("num = %d é primo\n", num);&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Compilar: gcc prog.c -o prog.exe&lt;br /&gt;
// Rodar: ./prog.exe numero&lt;br /&gt;
// Exemplo: ./prog.exe 71&lt;br /&gt;
// Saida : 71 é primo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-6626712103423976556?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/6626712103423976556/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=6626712103423976556' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/6626712103423976556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/6626712103423976556'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2011/02/programacao-em-c-verificador-de-numeros.html' title='Programação em C - Verificador de números primos'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-738109252664958307</id><published>2011-02-23T13:38:00.002-03:00</published><updated>2011-02-23T13:38:47.954-03:00</updated><title type='text'>Programação em C - Lista 3, questão 3</title><content type='html'>&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;unsigned long long int num = 600851475143ULL;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;unsigned long long int j;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for ( j = 3 ; j &amp;lt; &amp;nbsp;num ; j++ )&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;if ( num % j == 0 )&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;{&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;num = num/j;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;printf("%llu\t%llu\n", j, num);&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("%llu\n", num);&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return 0;&lt;br /&gt;
}&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-738109252664958307?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/738109252664958307/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=738109252664958307' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/738109252664958307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/738109252664958307'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2011/02/programacao-em-c-lista-3-questao-3.html' title='Programação em C - Lista 3, questão 3'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-4836548501729754404</id><published>2011-02-17T02:36:00.001-02:00</published><updated>2011-02-17T02:58:45.128-02:00</updated><title type='text'>Programando em C</title><content type='html'>Para começar a programar em C, basta ler o capítulo 1 da apostila que está no blog. Mas vou dar algumas explicações a mais, mas realmente ESTÁ NO LIVRO.&lt;br /&gt;
&lt;br /&gt;
- Costumo digitar meus códigos num editor de texto comum, a famosa "folha em branco". Não pode ser editor tipo broffice, word, e afins. Tem que ser do estilo kate (que usei em aula), gedit, vim, emacs, notepad, wordpad, ou qualquer editor de código que você encontrar na internet. Neste momento inicial, NÃO RECOMENDO o uso de um IDE (ambiente de desenvolvimento). Visto que vocês teriam que aprender a programar e usar o IDE, o que é muito trabalho. Quem instala o Ubuntu, já tem o gedit instalado. Quem instala o Kubuntu, já tem o kate. Quem tem windows, uso o Notepad ou afins. Quem tem Mac, pode instalar o kate também, procure na internet.&lt;br /&gt;
&lt;br /&gt;
- Costumo compilar meus programas na "linha de comando" usando o compilador gcc. Provavelmente este deve ser instalado. A instalação para Windows é horrível. Boa sorte. Para Linux, é bem mais fácil: vá no instalador de programas, procure por gcc, mande instalar. Só.&lt;br /&gt;
&lt;br /&gt;
- Uma alternativa para windows é instalar um programa chamado dev-c++, que tem embutido um compilador (o próprio gcc) mais um editor simples. Podem usar também. Mas as provas serão feitas com o gcc, então tomem cuidado.&lt;br /&gt;
&lt;br /&gt;
- É só isso que precisa. Vejam o vídeo exemplo. Vou começar do zero: criar uma pasta para guardar os programas, abrir o kate, digitar o programa, salvar. Ir para o terminal, entrar na pasta, compilar e rodar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/1rkz5XUhmNk?hl=pt&amp;fs=1"&gt;

&lt;/param&gt;
&lt;param name="allowFullScreen" value="true"&gt;

&lt;/param&gt;
&lt;param name="allowscriptaccess" value="always"&gt;

&lt;/param&gt;
&lt;embed src="http://www.youtube.com/v/1rkz5XUhmNk?hl=pt&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veja o vídeo em resolução máxima e tela cheia. Não é muito grande, de qualquer modo.&lt;br /&gt;
&lt;br /&gt;
Vídeos em formato maior:&lt;br /&gt;
&lt;a href="http://dl.dropbox.com/u/4780892/ajuda_C_1.avi"&gt;ajuda_C_1.avi&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://dl.dropbox.com/u/4780892/ajuda_C_1.ogv"&gt;ajuda_C_1.ogv&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-4836548501729754404?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/4836548501729754404/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=4836548501729754404' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/4836548501729754404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/4836548501729754404'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2011/02/programando-em-c.html' title='Programando em C'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-3878229149136279234</id><published>2011-02-15T13:19:00.000-02:00</published><updated>2011-02-15T13:19:52.779-02:00</updated><title type='text'>Material de Programação em C</title><content type='html'>Este material introdutório é destinado a turma de sistema distribuídos e estruturas de dados.&lt;br /&gt;
&lt;br /&gt;
O pessoal de sistemas distribuidos precisa entregar os problemas resolvidos por email até o dia 24 de Fevereiro, 23:59 da noite. Para sistemas distribuidos, só é necessário entregar a Lista 3. Quem quiser fazer as outras, principalmente a Lista 2, pode fazer.&lt;br /&gt;
&lt;br /&gt;
O pessoal de Estruturas de Dados precisa entregar a Lista 1 no dia &amp;nbsp;28 de Fevereiro, até às 23:59, por email (henriquemarks@gmail.com).&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://docs.google.com/viewer?a=v&amp;amp;pid=explorer&amp;amp;chrome=true&amp;amp;srcid=0BwDRZxpK0ziPMjhlNjAzNTgtNWZlOC00ZjJhLWE0M2YtNTI3OTEwODU2ZTlh&amp;amp;hl=pt_BR&amp;amp;authkey=CM6H2tQH"&gt;Lista 1&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://docs.google.com/viewer?a=v&amp;amp;pid=explorer&amp;amp;chrome=true&amp;amp;srcid=0BwDRZxpK0ziPZmE3ZGZlMTctYTM2Ni00MDcwLWFiZWQtN2UyYzVjZmZkMzI1&amp;amp;hl=pt_BR&amp;amp;authkey=CL6pqXI"&gt;Lista 2&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://docs.google.com/viewer?a=v&amp;amp;pid=explorer&amp;amp;chrome=true&amp;amp;srcid=0BwDRZxpK0ziPOWMwMmQ4MTYtNGZkOS00Mzg4LWEwYWQtZWEwM2FjZjE0MWFi&amp;amp;hl=pt_BR&amp;amp;authkey=CLTX3Y8L"&gt;Lista 3&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Um bom material de C é este:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://dl.dropbox.com/u/4780892/estrut-dados-pucrio.pdf"&gt;Apostila de C&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Bom proveito a todos&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-3878229149136279234?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/3878229149136279234/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=3878229149136279234' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/3878229149136279234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/3878229149136279234'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2011/02/material-de-programacao-em-c.html' title='Material de Programação em C'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-4642692194938456973</id><published>2010-12-09T13:37:00.002-02:00</published><updated>2010-12-09T13:37:50.077-02:00</updated><title type='text'>Notas Finais</title><content type='html'>Só vou publicar notas finais e/ou de exames quando tiver as notas de APS. Já tenho algumas, mas não posso publicá-las no sistema online. Aparentemente a secretaria deve fazê-lo. Tentei e não consegui.&lt;br /&gt;
&lt;br /&gt;
Até mais&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-4642692194938456973?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/4642692194938456973/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=4642692194938456973' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/4642692194938456973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/4642692194938456973'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/12/notas-finais.html' title='Notas Finais'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-2588130353422823285</id><published>2010-12-06T15:37:00.002-02:00</published><updated>2010-12-06T20:13:51.399-02:00</updated><title type='text'>Notas Normalizadas de Sistemas Operacionais</title><content type='html'>As notas, já normalizadas de Sistemas Operacionais Abertos, devem aparecer no site oficial hoje a noite. São as notas oficiais, já devidamente recalculadas por mim levando em conta os trabalhos.&lt;br /&gt;
&lt;br /&gt;
Zacarias, acessei o sistema, tudo OK com teu trabalho, é 10 como os outros.&lt;br /&gt;
&lt;br /&gt;
Até mais&lt;br /&gt;
&lt;br /&gt;
CUIDADO: AO CONTRÁRIO DO QUE ESTÁ ESCRITO ACIMA, SUAS NOTAS NO SITE NÃO SÃO AS FINAIS AINDA, VISTO QUE AINDA NÃO TENHO AS NOTAS DA APS. ASSIM QUE EU TIVER, MODIFICAREI AS NOTAS CONFORME A NECESSIDADE.&lt;br /&gt;
&lt;br /&gt;
Calculem suas médias conforme o blog, e verifiquem se precisam fazer o exame final.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-2588130353422823285?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/2588130353422823285/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=2588130353422823285' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/2588130353422823285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/2588130353422823285'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/12/notas-normalizadas-de-sistemas.html' title='Notas Normalizadas de Sistemas Operacionais'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-3484606319166121895</id><published>2010-11-30T15:17:00.000-02:00</published><updated>2010-11-30T15:17:18.094-02:00</updated><title type='text'>Exemplo</title><content type='html'>Alguém fictício tirou:&lt;br /&gt;
&lt;br /&gt;
NP1 = 1.7&lt;br /&gt;
NP2 = 4.0&lt;br /&gt;
NT = 10&lt;br /&gt;
NTLinux = 0&lt;br /&gt;
APS = 0&lt;br /&gt;
&lt;br /&gt;
Neste caso: NF = 0.3*(1.7 + 4.0 + 10) + 0.1*0 = 4.71&lt;br /&gt;
A pessoa terá que fazer exame final&lt;br /&gt;
&lt;br /&gt;
Outro alguém fictício tirou&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NP1 = 1.7&lt;br /&gt;
NP2 = 4.0&lt;br /&gt;
NT = 10&lt;br /&gt;
NTLinux = 0&lt;br /&gt;
APS = 10&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Neste caso: NF = 0.3*(1.7 + 4.0 + 10) + 0.1*10 = 5.71&lt;br /&gt;
A pessoa está aprovada. Vou colocar esta nota no exame final, 5.7. Boas Férias.&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-3484606319166121895?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/3484606319166121895/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=3484606319166121895' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/3484606319166121895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/3484606319166121895'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/11/exemplo.html' title='Exemplo'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-3408037919613617350</id><published>2010-11-30T15:09:00.000-02:00</published><updated>2010-11-30T15:09:31.231-02:00</updated><title type='text'>Notas de Sistemas Operacionais Abertos</title><content type='html'>Pegue sua calculadora e:&lt;br /&gt;
&lt;br /&gt;
NP1 = Nota Prova 1&lt;br /&gt;
NP2 = Nota Prova 2&lt;br /&gt;
NTF = Nota Trabalho Final&lt;br /&gt;
NTLinux = Nota do Trabalho sobre Sistema de Arquivos Linux.&lt;br /&gt;
&lt;br /&gt;
Nota_Final = 0.3 * ( NP1 + 0.1*NTLinux + NP2 + NTF) + 0.1*APS&lt;br /&gt;
&lt;br /&gt;
Quem tirou mais que cinco, está de férias: &amp;nbsp;repito a nota no exame final.&lt;br /&gt;
&lt;br /&gt;
Quem tirou menos que cinco, exame final. Tem que tirar 5 para passar. O exame final é uma prova de toda a matéria.&lt;br /&gt;
&lt;br /&gt;
P.S. Notem que o TrabalhoLinux está contando a mais, ou seja, quem o fez de maneira errada (tirou zero), não está sendo prejudicado por esse "engano". Já quem fez está ganhando um décimo a mais da nota.&lt;br /&gt;
&lt;br /&gt;
P.S. 2 No boletim oficial, pareceram somente as provas normais, por uma questão burocrática. Mas eu garanto que &amp;nbsp;a média final que aparecerá no seu boletim será a calculada por esta fórmula.&lt;br /&gt;
&lt;br /&gt;
Até mais&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-3408037919613617350?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/3408037919613617350/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=3408037919613617350' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/3408037919613617350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/3408037919613617350'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/11/notas-de-sistemas-operacionais-abertos.html' title='Notas de Sistemas Operacionais Abertos'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-1781369460826445608</id><published>2010-11-29T18:09:00.002-02:00</published><updated>2010-11-29T18:12:54.005-02:00</updated><title type='text'>Notas dos Trabalhos de Sistemas Operacionais Abertos</title><content type='html'>Parabéns pelo excelente trabalho apresentado.&lt;br /&gt;
&lt;br /&gt;
Tecnicamente, a turma demonstrou excelente desempenho. Falta ainda sair-se bem nas provas, onde o raciocínio lógico e analítico deve ser privilegiado. Creio que o pessoal precisa aprender a estudar, precisa aprender a buscar informações, acostumar-se a ler livros, materiais diversos. Adquirindo cultura de computação, vocês provavelmente melhorarão neste ponto.

Mas este trabalho era técnico, e neste quesito quase todos sairam-se muito bem.

Vejam que estas notas são extra oficiais, visto que no sistema eletrônico não posso colocar notas de trabalho, apenas NP1 NP2, etc.&lt;br /&gt;
&lt;br /&gt;
Os seguintes grupos e componentes tiraram DEZ, a nota máxima, por terem mostrado o que foi exigido:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Joomla, integrantes Oscar e Alexandre&lt;/li&gt;
&lt;li&gt;SugarCRM, integrantes Ewerton Henrique, Pedro Aurélio e Ítalo Rodrigo&amp;nbsp;&lt;/li&gt;
&lt;li&gt;OrangeHRM, integrantes Angélica Rodrigues, Ricardo Farias e Gustavo Souto&amp;nbsp;&lt;/li&gt;
&lt;li&gt;OpenSis, integrantes Tiago Feitosa da Silva, Ewerton Correia de Lira e João Paulo&amp;nbsp;&lt;/li&gt;
&lt;li&gt;OsCommerce, integrantes Eduardo Torres, Thiago Barros&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Koha, integrantes Maurício Barros&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Os seguintes alunos, que não cumpriram todos os objetivos, tiveram notas um pouco menores:&lt;br /&gt;
&lt;br /&gt;
Marcos Vinícius e Thiago Amâncio, grupo Koha, nota 7.0 (sete)&lt;br /&gt;
José Zacarias, grupo Moodle, nota 7.0 (seis)&lt;br /&gt;
&lt;br /&gt;
O aluno Jhonnes, do grupo OsCommerce, não compareceu, e está no momento sem nota.&lt;br /&gt;
&lt;br /&gt;
Parabéns a todos, o coordenador do curso já foi informado das boas notas obtidas por vocês no TRABALHO. As considerações sobre o rendimento em provas, e minha visão dos problemas, também já foi informado. Espero realmente que as notas continuem aumentando na substitutiva, para quem fizer, e no exame final.

As notas na NP2 podem ser vistas no portal do aluno, como sempre.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-1781369460826445608?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/1781369460826445608/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=1781369460826445608' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/1781369460826445608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/1781369460826445608'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/11/notas-dos-trabalhos-de-sistemas.html' title='Notas dos Trabalhos de Sistemas Operacionais Abertos'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-2422532167504951792</id><published>2010-11-23T10:46:00.002-02:00</published><updated>2010-11-23T10:46:35.330-02:00</updated><title type='text'>Prova 2 de PLC</title><content type='html'>&lt;iframe width=100% height=560px frameborder=0 src=https://docs.google.com/viewer?a=v&amp;pid=explorer&amp;chrome=false&amp;embedded=true&amp;srcid=0BwDRZxpK0ziPZDI3Y2VkMWQtMTJlZi00ODU5LTk4NTItMDFhMTcwYTk5MjZl&amp;hl=pt_BR&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-2422532167504951792?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/2422532167504951792/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=2422532167504951792' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/2422532167504951792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/2422532167504951792'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/11/prova-2-de-plc.html' title='Prova 2 de PLC'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-739476940268580804</id><published>2010-11-23T10:43:00.000-02:00</published><updated>2010-11-23T10:43:03.677-02:00</updated><title type='text'>Solução prova 2 de PLC</title><content type='html'>Problema 1:&lt;br /&gt;
mul $3, $2, $1&lt;br /&gt;
resultado: 418&lt;br /&gt;
&lt;br /&gt;
Problema 2:&lt;br /&gt;
&lt;br /&gt;
ori $1, $0, 0x01&lt;br /&gt;
sll $2, $1, 1&lt;br /&gt;
or $1, $2, $1&lt;br /&gt;
sll $2, $1, 2&lt;br /&gt;
&lt;br /&gt;
or $1, $2, $1&lt;br /&gt;
sll $2, $1, 4&lt;br /&gt;
or $1, $2, $1&lt;br /&gt;
sll $2, $1, 8&lt;br /&gt;
or $1, $2, $1&lt;br /&gt;
sll $2, $1, 16&lt;br /&gt;
or $1, $2, $1&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Problema 3:&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
li $8, 0x1000 # carrega o valor 0x1000 em $8&lt;/div&gt;
&lt;div&gt;
li $9, 1 # carrega o valor 1 em $9&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
loop:&lt;/div&gt;
&lt;div&gt;
addi $8, $8, 0x1000&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
addi $9, $9, 1&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
beq $9, 16, sai&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
j loop&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
sai:&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Problema 4:&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
li $9, 0&lt;/div&gt;
&lt;div&gt;
li $10, 1&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
laco: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
add $9, $9, $10 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
addi $10, $10, 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/div&gt;
&lt;div&gt;
j laco&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-739476940268580804?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/739476940268580804/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=739476940268580804' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/739476940268580804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/739476940268580804'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/11/solucao-prova-2-de-plc.html' title='Solução prova 2 de PLC'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-389825947534375533</id><published>2010-10-30T00:11:00.000-02:00</published><updated>2010-10-30T00:11:31.165-02:00</updated><title type='text'>Aula de PLC, sábado</title><content type='html'>Estarei la às 8:00 da manhã, como foi marcado na segunda-feira, antes da aula de vocês, junto a secretaria dos professores, que marcou junto a direção. Foi confirmado o dia e horário na quarta-feira.&lt;br /&gt;
&lt;br /&gt;
Estarei lá.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-389825947534375533?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/389825947534375533/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=389825947534375533' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/389825947534375533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/389825947534375533'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/10/aula-de-plc-sabado.html' title='Aula de PLC, sábado'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-3468389654255293810</id><published>2010-10-29T19:39:00.000-02:00</published><updated>2010-10-29T19:39:45.392-02:00</updated><title type='text'>Lista de Exercícios de PLC</title><content type='html'>&lt;h2&gt; A lista que entreguei em aula, apenas para constar no site &lt;/h2&gt;

&lt;iframe width=100% height=560px frameborder=0 src=https://docs.google.com/gview?a=v&amp;pid=explorer&amp;chrome=false&amp;api=true&amp;embedded=true&amp;srcid=0BwDRZxpK0ziPMGNhY2Y4MmEtMTZlMi00NzY4LWI5YmUtMzQ2MzUzMWFmZmFi&amp;hl=pt_BR&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-3468389654255293810?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/3468389654255293810/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=3468389654255293810' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/3468389654255293810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/3468389654255293810'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/10/lista-de-exercicios-de-plc.html' title='Lista de Exercícios de PLC'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-260413743423001966</id><published>2010-10-29T16:03:00.001-02:00</published><updated>2010-10-29T16:03:15.407-02:00</updated><title type='text'>Aula de Projeto Lógico de Computadores neste Sábado (30/10)</title><content type='html'>Começa as 8:00.

Estarei esperando-os.

Vamos fazer alguns problemas, e entregar mais uma lista de problemas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-260413743423001966?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/260413743423001966/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=260413743423001966' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/260413743423001966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/260413743423001966'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/10/aula-de-projeto-logico-de-computadores.html' title='Aula de Projeto Lógico de Computadores neste Sábado (30/10)'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-5040804320333492948</id><published>2010-10-27T19:42:00.001-02:00</published><updated>2010-10-29T15:49:04.198-02:00</updated><title type='text'>Aula de sistemas operacionais abertos</title><content type='html'>&lt;b&gt; AULA EDITADA, CUIDADO, A AULA 9 NÃO ESTAVA COMPLETA. A 10 TAMBÉM NÃO ESTÁ, MAS NÃO CONSEGUIMOS TERMINAR EM AULA O ASSUNTO &lt;/b&gt;

&lt;br&gt;
&lt;br&gt;

&lt;iframe width=100% height=560px frameborder=0 src=https://docs.google.com/gview?a=v&amp;pid=explorer&amp;chrome=false&amp;api=true&amp;embedded=true&amp;srcid=0BwDRZxpK0ziPOTc1YzNmODQtZDg2OC00MGZiLTg2ZDYtN2ZhYjI5OTA2ZWVm&amp;hl=pt_BR&gt;&lt;/iframe&gt;

&lt;iframe width=100% height=560px frameborder=0 src=https://docs.google.com/gview?a=v&amp;pid=explorer&amp;chrome=false&amp;api=true&amp;embedded=true&amp;srcid=0BwDRZxpK0ziPYTBkZTcyOGEtZWRiNC00NzhiLThkODgtMjBmNjIzNzdmMTVl&amp;hl=pt_BR&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-5040804320333492948?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/5040804320333492948/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=5040804320333492948' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/5040804320333492948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/5040804320333492948'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/10/aula-de-sistemas-operacionais-abertos.html' title='Aula de sistemas operacionais abertos'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-8151416391707840700</id><published>2010-10-13T17:23:00.001-03:00</published><updated>2010-10-13T18:03:06.285-03:00</updated><title type='text'>Aula 8 de Sistemas Operacionais</title><content type='html'>&lt;iframe width=100% height=560px frameborder=0 src=https://docs.google.com/gview?a=v&amp;pid=explorer&amp;chrome=false&amp;api=true&amp;embedded=true&amp;srcid=0BwDRZxpK0ziPM2Y4MjIyODQtMzk1NC00YTJjLWJmZjEtNzI3NTdiOTVmZjJm&amp;hl=pt_BR&gt;&lt;/iframe&gt;

&lt;br&gt;
&lt;br&gt;

&lt;iframe width=100% height=560px frameborder=0 src=https://docs.google.com/gview?a=v&amp;pid=explorer&amp;chrome=false&amp;api=true&amp;embedded=true&amp;srcid=0BwDRZxpK0ziPZDgwMGZjM2ItNjM1Ny00OTdlLTk1OTEtMWY5MzkyOTY0Yjgx&amp;hl=pt_BR&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-8151416391707840700?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/8151416391707840700/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=8151416391707840700' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/8151416391707840700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/8151416391707840700'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/10/aula-8-de-sistemas-operacionais.html' title='Aula 8 de Sistemas Operacionais'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-3891562286109330951</id><published>2010-10-04T13:28:00.000-03:00</published><updated>2010-10-04T13:28:50.763-03:00</updated><title type='text'>Trabalho final de Sistemas Operacionais Abertos - Grupos e Temas</title><content type='html'>&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Grupos e Temas do Trabalho&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;OpenSis - Sistema de Gestão de Alunos&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Ewerton Correia, Tiago Feitosa, João Paulo&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;osCommerce&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Thiago Barros, Jhones, Eduardo Torres&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Joomla&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Alexandre di Salvo, Oscar Angeles&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;OrangeHRM&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Angélica, Gustavo&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Koha - Sistema de Bibliotecas&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Tiago Amâncio, Maurício, Marcos&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;SugarCRM&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Ewerton Henrique, Pedro, Ítalo&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
Até a próxima semana, entregarei a vocês uma primeira tarefa a ser entregue. Provavelmente uma especificação do que o sistema faz, ou uma apresentação de sua funcionalidade, ou a escrita de um manual de instalação, entre outras possibilidades.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-3891562286109330951?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/3891562286109330951/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=3891562286109330951' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/3891562286109330951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/3891562286109330951'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/10/trabalho-final-de-sistemas-operacionais.html' title='Trabalho final de Sistemas Operacionais Abertos - Grupos e Temas'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-3187150138534634161</id><published>2010-10-04T13:22:00.000-03:00</published><updated>2010-10-04T13:22:47.227-03:00</updated><title type='text'>Aula 7 de Sistemas Operacionais Abertos</title><content type='html'>&lt;iframe width=100% height=560px frameborder=0 src=https://docs.google.com/gview?a=v&amp;pid=explorer&amp;chrome=false&amp;api=true&amp;embedded=true&amp;srcid=0BwDRZxpK0ziPYjlkMjQ2OGItYzgyMy00YTg4LWJkYTItMTg4ZmI1YWE0NTBk&amp;hl=pt_BR&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-3187150138534634161?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/3187150138534634161/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=3187150138534634161' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/3187150138534634161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/3187150138534634161'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/10/aula-7-de-sistemas-operacionais-abertos.html' title='Aula 7 de Sistemas Operacionais Abertos'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-8120550469657813546</id><published>2010-09-29T10:29:00.000-03:00</published><updated>2010-09-29T10:29:03.424-03:00</updated><title type='text'>Projeto Lógico de Computadores - Aula 6</title><content type='html'>Como (quase) ninguém entregou a lista, e o único motivo dela era associar a necessidade de estudar com a possibilidade de ganhar alguma nota facilmente, então a partir de agora vocês não precisam mais entregar as duas listas.&lt;br /&gt;
&lt;br /&gt;
Algum aluno me pediu a segunda lista separada do livro, então está aí o link:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://docs.google.com/leaf?id=0BwDRZxpK0ziPOTAxZDE3NjUtNjVlZS00ZWZmLWI4YzktYjdlYmM5MzhlMTZm&amp;amp;sort=name&amp;amp;layout=list&amp;amp;num=50"&gt;Lista 2 - Problemas 2-13 até 2-18&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
E a aula 6 a seguir.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;

&lt;iframe width=100% height=560px frameborder=0 src=https://docs.google.com/gview?a=v&amp;pid=explorer&amp;chrome=false&amp;api=true&amp;embedded=true&amp;srcid=0BwDRZxpK0ziPZjQxMDI5MDUtNDFkZi00MjZhLWI0NGYtZWIxNDlhNmE4ZWZk&amp;hl=pt_BR&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-8120550469657813546?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/8120550469657813546/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=8120550469657813546' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/8120550469657813546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/8120550469657813546'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/09/projeto-logico-de-computadores-aula-6.html' title='Projeto Lógico de Computadores - Aula 6'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-1257728889441448534</id><published>2010-09-27T16:25:00.000-03:00</published><updated>2010-09-27T16:25:47.709-03:00</updated><title type='text'>Listas de Projeto Lógico de Computadores</title><content type='html'>&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;A lista 1 ficou para hoje, 27 de Setembro de 2010, no mesmo horário, às 19:00&lt;/li&gt;
&lt;li&gt;A lista 2 ficou para o dia da prova, 04/10/10, e deve ser entregue até as 19:00.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
Quem não puder enviar por email pode me entregar em mãos na FACIMA, sem problemas.&lt;br /&gt;
&lt;br /&gt;
Daqui há pouco a próxima aula no site. Notem que a matéria das provas é o que vimos até agora, SEM CONTAR A AULA DE HOJE. Ou seja, a aula de hoje cairá na NP2.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-1257728889441448534?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/1257728889441448534/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=1257728889441448534' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/1257728889441448534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/1257728889441448534'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/09/listas-de-projeto-logico-de.html' title='Listas de Projeto Lógico de Computadores'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-3942091630696110165</id><published>2010-09-22T18:12:00.000-03:00</published><updated>2010-09-22T18:12:37.694-03:00</updated><title type='text'>Aula 6 de Sistemas Operacionais Abertos</title><content type='html'>&lt;iframe width=100% height=560px frameborder=0 src=https://docs.google.com/gview?a=v&amp;pid=explorer&amp;chrome=false&amp;api=true&amp;embedded=true&amp;srcid=0BwDRZxpK0ziPMmIyMDhkMGMtNjk2YS00MDI4LTk0NTktNWY3ZjM3Y2FkMmRj&amp;hl=pt_BR&gt;&lt;/iframe&gt;

&lt;br&gt;
&lt;br&gt;
&lt;br&gt;

&lt;iframe width=100% height=560px frameborder=0 src=https://docs.google.com/gview?a=v&amp;pid=explorer&amp;chrome=false&amp;api=true&amp;embedded=true&amp;srcid=0BwDRZxpK0ziPMzI4ZjNhNTEtNjJlMS00MjcyLThjMWItNjE5YjczM2ZkMDdm&amp;hl=pt_BR&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-3942091630696110165?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/3942091630696110165/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=3942091630696110165' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/3942091630696110165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/3942091630696110165'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/09/aula-6-de-sistemas-operacionais-abertos.html' title='Aula 6 de Sistemas Operacionais Abertos'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-2297128394448710866</id><published>2010-09-20T16:29:00.001-03:00</published><updated>2010-09-22T18:17:08.756-03:00</updated><title type='text'>Aula 5 de Projeto Lógico de Computadores</title><content type='html'>&lt;iframe width=100% height=560px frameborder=0 src=https://docs.google.com/gview?a=v&amp;pid=explorer&amp;chrome=false&amp;api=true&amp;embedded=true&amp;srcid=0BwDRZxpK0ziPM2Q3OWE2NzEtNzdkYy00NDU1LWJmYzYtNmQ4MDRlYjc4YWEw&amp;hl=pt_BR&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-2297128394448710866?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/2297128394448710866/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=2297128394448710866' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/2297128394448710866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/2297128394448710866'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/09/aula-5-de-projeto-logico-de.html' title='Aula 5 de Projeto Lógico de Computadores'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-3671325712367656359</id><published>2010-09-20T14:43:00.000-03:00</published><updated>2010-09-20T14:43:14.596-03:00</updated><title type='text'>Aula 2 de Física Matemática</title><content type='html'>Desculpem o atraso.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;

&lt;iframe width=100% height=560px frameborder=0 src=https://docs.google.com/gview?a=v&amp;pid=explorer&amp;chrome=false&amp;api=true&amp;embedded=true&amp;srcid=0BwDRZxpK0ziPNDY4NDc2OTMtNzZmNy00NGE5LWJkZjgtZDQzMGM5OGVkNjg1&amp;hl=pt_BR&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-3671325712367656359?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/3671325712367656359/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=3671325712367656359' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/3671325712367656359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/3671325712367656359'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/09/aula-2-de-fisica-matematica.html' title='Aula 2 de Física Matemática'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-3052737039988383798</id><published>2010-09-19T15:56:00.001-03:00</published><updated>2010-09-19T19:15:46.014-03:00</updated><title type='text'>Trabalho Final da Disciplina de Sistemas Operacionais Abertos</title><content type='html'>&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Definição dos Grupos&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
Alguns grupos já definiram seus assuntos e integrantes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Integrantes:&amp;nbsp;Ewerton Correia, Tiago Feitosa e João Paulo&lt;/li&gt;
&lt;li&gt;Assunto:&amp;nbsp;Software-Livre de Gerenciamento de Informações Estudantis (SIS) - OpenSis&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Integrantes: Thiago Barros, ...&lt;/li&gt;
&lt;li&gt;Assunto: eCommerce, osCommerce&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Integrantes: Alexandre di Salvo, Oscar Angeles&lt;/li&gt;
&lt;li&gt;Assunto: CMS, Joomla&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Integrantes:&amp;nbsp;Ewerton Henrique,&amp;nbsp;Pedro,&amp;nbsp;Ítallo&lt;/li&gt;
&lt;li&gt;Assunto: CMR (SugarCRM)&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-3052737039988383798?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/3052737039988383798/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=3052737039988383798' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/3052737039988383798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/3052737039988383798'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/09/trabalho-final-da-disciplina-de.html' title='Trabalho Final da Disciplina de Sistemas Operacionais Abertos'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-2629483438010872518</id><published>2010-09-19T15:12:00.000-03:00</published><updated>2010-09-19T15:12:17.700-03:00</updated><title type='text'>Trabalho 1 de Sistemas Operacionais Abertos</title><content type='html'>&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Notas e Comentários&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
Apesar de repetidos avisos feitos por mim, alguns alunos copiaram seus trabalhos da internet. Quem copiou o trabalho, tirou zero, infelizmente. Um aluno, pelo menos, fez boa parte do trabalho, mas emprestou parte do seu trabalho a um colega, que copiou alguns textos e principalmente capturas de tela. Nota zero para ambos&lt;br /&gt;
&lt;br /&gt;
Espero que nos próximos trabalhos isto não ocorra. Quem quiser discutir a nota do seu trabalho, pode conversar comigo as 19:00, na sala dos professores, na quarta-feira.&lt;br /&gt;
&lt;br /&gt;
As notas finais serão calculadas assim:&lt;br /&gt;
&lt;br /&gt;
(NP1 + NP2 +NTF +0.3*MT)/3.3 = MF&lt;br /&gt;
&lt;br /&gt;
NP1 = Nota da Prova 1&lt;br /&gt;
NP1 = Nota da Prova 2&lt;br /&gt;
NTF = Nota do Trabalho Final&lt;br /&gt;
MT = Média dos Trabalhos&lt;br /&gt;
MF = É a média final, arredondada para cima, se necessário.&lt;br /&gt;
&lt;br /&gt;
Ou seja, este trabalho mais alguns outros contarão como 30% de uma prova.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;table border="1"&gt;
&lt;tbody&gt;
&lt;tr&gt; &lt;td&gt;&amp;nbsp;Nome&lt;/td&gt; &lt;td&gt;NP1 &lt;/td&gt; &lt;td&gt;NP2 &lt;/td&gt; &lt;td&gt;NTF &lt;/td&gt; &lt;td&gt;NT1&lt;/td&gt; &lt;td&gt;MT &lt;/td&gt; &lt;td&gt;MF &lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;Pedro Aurélio&lt;/td&gt; &lt;td&gt;NP1 &lt;/td&gt; &lt;td&gt;NP2 &lt;/td&gt; &lt;td&gt;NTF &lt;/td&gt; &lt;td&gt;zero(b)&lt;/td&gt; &lt;td&gt;MT &lt;/td&gt; &lt;td&gt;MF &lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;Gustavo Souto&lt;/td&gt; &lt;td&gt;NP1 &lt;/td&gt; &lt;td&gt;NP2 &lt;/td&gt; &lt;td&gt;NTF &lt;/td&gt; &lt;td&gt;5,0&lt;/td&gt; &lt;td&gt;MT &lt;/td&gt; &lt;td&gt;MF &lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;Marcos Vinicius&lt;/td&gt; &lt;td&gt;NP1 &lt;/td&gt; &lt;td&gt;NP2 &lt;/td&gt; &lt;td&gt;NTF &lt;/td&gt; &lt;td&gt;zero(a)&lt;/td&gt; &lt;td&gt;MT &lt;/td&gt; &lt;td&gt;MF &lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;Alexandre Di Salvo&lt;/td&gt; &lt;td&gt;NP1 &lt;/td&gt; &lt;td&gt;NP2 &lt;/td&gt; &lt;td&gt;NTF &lt;/td&gt; &lt;td&gt;10,0&lt;/td&gt; &lt;td&gt;MT &lt;/td&gt; &lt;td&gt;MF &lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;Ewerton Henrique&lt;/td&gt;&lt;td&gt;NP1 &lt;/td&gt; &lt;td&gt;NP2 &lt;/td&gt; &lt;td&gt;NTF &lt;/td&gt; &lt;td&gt;7,0&lt;/td&gt; &lt;td&gt;MT &lt;/td&gt; &lt;td&gt;MF &lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;João Paulo&lt;/td&gt; &lt;td&gt;NP1 &lt;/td&gt; &lt;td&gt;NP2 &lt;/td&gt; &lt;td&gt;NTF &lt;/td&gt; &lt;td&gt;zero(c)&lt;/td&gt; &lt;td&gt;MT &lt;/td&gt; &lt;td&gt;MF &lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;Angélica Ferreira&lt;/td&gt; &lt;td&gt;NP1 &lt;/td&gt; &lt;td&gt;NP2 &lt;/td&gt; &lt;td&gt;NTF &lt;/td&gt; &lt;td&gt;zero(d)&lt;/td&gt; &lt;td&gt;MT &lt;/td&gt; &lt;td&gt;MF &lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;Cliviane Pereira&lt;/td&gt; &lt;td&gt;NP1 &lt;/td&gt; &lt;td&gt;NP2 &lt;/td&gt; &lt;td&gt;NTF &lt;/td&gt; &lt;td&gt;zero(e)&lt;/td&gt; &lt;td&gt;MT &lt;/td&gt; &lt;td&gt;MF &lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;Ítalo Rodrigo&lt;/td&gt; &lt;td&gt;NP1 &lt;/td&gt; &lt;td&gt;NP2 &lt;/td&gt; &lt;td&gt;NTF &lt;/td&gt; &lt;td&gt;zero(f)&lt;/td&gt; &lt;td&gt;MT &lt;/td&gt; &lt;td&gt;MF &lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;Oscar Angeles&lt;/td&gt; &lt;td&gt;NP1 &lt;/td&gt; &lt;td&gt;NP2 &lt;/td&gt; &lt;td&gt;NTF &lt;/td&gt; &lt;td&gt;9,5&lt;/td&gt; &lt;td&gt;MT &lt;/td&gt; &lt;td&gt;MF &lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;Nome &lt;/td&gt; &lt;td&gt;NP1 &lt;/td&gt; &lt;td&gt;NP2 &lt;/td&gt; &lt;td&gt;NTF &lt;/td&gt; &lt;td&gt;NT1 &lt;/td&gt; &lt;td&gt;MT &lt;/td&gt; &lt;td&gt;MF &lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;Nome &lt;/td&gt; &lt;td&gt;NP1 &lt;/td&gt; &lt;td&gt;NP2 &lt;/td&gt; &lt;td&gt;NTF &lt;/td&gt; &lt;td&gt;NT1 &lt;/td&gt; &lt;td&gt;MT &lt;/td&gt; &lt;td&gt;MF &lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;Nome &lt;/td&gt; &lt;td&gt;NP1 &lt;/td&gt; &lt;td&gt;NP2 &lt;/td&gt; &lt;td&gt;NTF &lt;/td&gt; &lt;td&gt;NT1 &lt;/td&gt; &lt;td&gt;MT &lt;/td&gt; &lt;td&gt;MF &lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;Nome &lt;/td&gt; &lt;td&gt;NP1 &lt;/td&gt; &lt;td&gt;NP2 &lt;/td&gt; &lt;td&gt;NTF &lt;/td&gt; &lt;td&gt;NT1 &lt;/td&gt; &lt;td&gt;MT &lt;/td&gt; &lt;td&gt;MF &lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;Nome &lt;/td&gt; &lt;td&gt;NP1 &lt;/td&gt; &lt;td&gt;NP2 &lt;/td&gt; &lt;td&gt;NTF &lt;/td&gt; &lt;td&gt;NT1 &lt;/td&gt; &lt;td&gt;MT &lt;/td&gt; &lt;td&gt;MF &lt;/td&gt; &lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
(a) Cópia de&amp;nbsp;&lt;a href="http://www.guiadohardware.net/artigos/algumas-peculiaridades-linux/"&gt;http://www.guiadohardware.net/artigos/algumas-peculiaridades-linux/&lt;/a&gt;&amp;nbsp;e&amp;nbsp;&lt;a href="http://www.gdhpress.com.br/linux/leia/index.php?p=cap1-14"&gt;http://www.gdhpress.com.br/linux/leia/index.php?p=cap1-14&lt;/a&gt;&amp;nbsp;. Capturas de tela copiadas de/para um colega (atente para o link do pen-drive nas capturas).&lt;br /&gt;
&lt;br /&gt;
(b) Deu as capturas de tela para outro colega, ou emprestou dele. Cópia de&amp;nbsp;&lt;a href="http://www.guiadohardware.net/dicas/linux-entendendo-arvore-diretorios.html"&gt;http://www.guiadohardware.net/dicas/linux-entendendo-arvore-diretorios.html&lt;/a&gt;. Escreveu parte do trabalho, mas as capturas de tela copiadas/emprestadas me OBRIGAM a dar esta nota.&lt;br /&gt;
&lt;br /&gt;
(c) Cópia de&amp;nbsp;&lt;a href="http://www.explorando.viamep.com/2006/05/linux-entenda-estrutura-de-pastas-e"&gt;http://www.explorando.viamep.com/2006/05/linux-entenda-estrutura-de-pastas-e&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
(d) Cópia de&amp;nbsp;&lt;a href="http://www.guiadohardware.net/dicas/linux-entendendo-arvore-diretorios.html"&gt;http://www.guiadohardware.net/dicas/linux-entendendo-arvore-diretorios.html&lt;/a&gt;&amp;nbsp;e&amp;nbsp;&lt;a href="http://www.icefusion.com.br/curriculo/67-estrutura-basica-de-diretorios-do-linux"&gt;http://www.icefusion.com.br/curriculo/67-estrutura-basica-de-diretorios-do-linux&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
(e) Cópia de&amp;nbsp;&lt;a href="http://0fx66.com/blog/linux/entendendo-as-estruturas-de-diretorios-no-linux/"&gt;http://0fx66.com/blog/linux/entendendo-as-estruturas-de-diretorios-no-linux/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
(f) Cópia de&amp;nbsp;&lt;a href="http://ademirlord.blogspot.com/2010/02/comandos-e-diretorios-no-linux.html"&gt;http://ademirlord.blogspot.com/2010/02/comandos-e-diretorios-no-linux.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-2629483438010872518?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/2629483438010872518/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=2629483438010872518' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/2629483438010872518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/2629483438010872518'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/09/trabalho-1-de-sistemas-operacionais_19.html' title='Trabalho 1 de Sistemas Operacionais Abertos'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-8726693658082400547</id><published>2010-09-17T08:44:00.001-03:00</published><updated>2010-09-17T10:16:52.882-03:00</updated><title type='text'>Aula 4 de Java II</title><content type='html'>&lt;a href="http://download.oracle.com/javase/tutorial/uiswing/TOC.html"&gt;Nosso tutorial de sempre, somente repetindo o link&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Trabalho da disciplina.&lt;br /&gt;
&lt;br /&gt;
Fazer os programas a seguir, retirados da lista de exemplos da página da Oracle. Os programas devem ser feitos utilizando o editor visual do Netbeans, ou seja, os exemplos devem ser adaptados para usar o editor visual.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Os exemplos que devem ser feitos são:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="http://download.oracle.com/javase/tutorial/uiswing/components/button.html"&gt;button&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://download.oracle.com/javase/tutorial/uiswing/components/buttongroup.html"&gt;buttongroup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://download.oracle.com/javase/tutorial/uiswing/components/colorchooser.html"&gt;colorchooser&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://download.oracle.com/javase/tutorial/uiswing/components/combobox.html"&gt;combobox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://download.oracle.com/javase/tutorial/uiswing/components/dialog.html"&gt;dialog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://download.oracle.com/javase/tutorial/uiswing/components/editorpane.html"&gt;editorpane&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://download.oracle.com/javase/tutorial/uiswing/components/filechooser.html"&gt;filechooser&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://download.oracle.com/javase/tutorial/uiswing/components/formattedtextfield.html"&gt;formattedtextfield&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://download.oracle.com/javase/tutorial/uiswing/components/label.html"&gt;label&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://download.oracle.com/javase/tutorial/uiswing/components/list.html"&gt;list&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://download.oracle.com/javase/tutorial/uiswing/components/menu.html"&gt;menu&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://download.oracle.com/javase/tutorial/uiswing/components/panel.html"&gt;panel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://download.oracle.com/javase/tutorial/uiswing/components/passwordfield.html"&gt;passwordfield&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://download.oracle.com/javase/tutorial/uiswing/components/progress.html"&gt;progress&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://download.oracle.com/javase/tutorial/uiswing/components/slider.html"&gt;slider&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://download.oracle.com/javase/tutorial/uiswing/components/spinner.html"&gt;spinner&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://download.oracle.com/javase/tutorial/uiswing/components/textarea.html"&gt;textarea&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://download.oracle.com/javase/tutorial/uiswing/components/textfield.html"&gt;textfield&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://download.oracle.com/javase/tutorial/uiswing/components/toolbar.html"&gt;toolbar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://download.oracle.com/javase/tutorial/uiswing/components/tooltip.html"&gt;tooltip&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
Entrega dia 07/10/2010, no dia anterior ao da Primeira Prova da Disciplina. A matéria da primeira prova é exatamente esses programas.&lt;br /&gt;
 &lt;br /&gt;
Entrega por email, para henriquemarks@gmail.com, contendo&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Um arquivo zipado, contendo todos os códigos separados por PASTAS. Ou seja, cada Projeto numa pasta separada. O nome do arquivo zipado deve ser seunome.&lt;/li&gt;
&lt;li&gt;O Título do email deverá conter:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;SEUNOME-JAVA2-TRABALHO1&lt;/li&gt;
&lt;li&gt;O Trabalho anexado&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;A entrega deve ser feita até as 21:00 do dia 07/10/2010, por email.&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-8726693658082400547?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/8726693658082400547/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=8726693658082400547' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/8726693658082400547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/8726693658082400547'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/09/aula-4-de-java-ii.html' title='Aula 4 de Java II'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-8234542142774497397</id><published>2010-09-15T17:44:00.001-03:00</published><updated>2010-09-15T17:48:43.482-03:00</updated><title type='text'>Aula 5 de Sistemas Operacionais Abertos</title><content type='html'>&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Faremos a definição dos trabalhos de final de curso desta disciplina.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Tenho várias sugestões de projetos, provavelmente este trabalho servirá não somente para esta disciplina, mas também para os seus futuros TCCs, para quem se interessar, e também para dar os primeiros passos numa carreira profissional empreendedora. Sugiro fortemente que as pessoas cheguem no horário da aula, hoje, as 19:15.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Minhas sugestões de Trabalhos até o momento&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;Trabalho em grupo, com apresentação no final do curso. Grupos de no máximo 3 pessoas.&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Vale uma nota de uma prova, ou seja, trabalho final + prova 1 + prova 2 + peso*(outros trabalhos) comporão a nota toda.&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;ASSUNTOS&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Softwares-Livre de Gerenciamento de Projeto&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Candidatos:
       OpenGoo, eGroupWare, dotProject, Redmine&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Softwares-Livre de Gerenciamento de Recursos Humanos (HRM)&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Candidatos:
       OrangeHRM&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Softwares-Livre para gerenciamento de conteúdo Web (CMS)&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Candidatos:
       Drupal, Joomla!, Plone&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Softwares-Livre para Gerencia de Relacionamento com Clientes (CRM)&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;Candidatos:
       Sugar, OpenERP&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Softwares-Livre para Comércio Eletrônico (eCommerce)&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Candidatos
       osCommerce, Magento&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Softwares-Livre de gerenciamento de bibliotecas&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Candidatos:
       openBiblio, Koha&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Softwares-Livre de Gerenciamento de Informações Estudantis (SIS)&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Candidatos:
       openSIS&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Softwares-Livre para Educação a Distância (EAD)&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Candidatos:
       Moodle&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Softwares-Livre para Gestão de Empresas (ERP)&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;openERP, openBravo&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;br /&gt;
&amp;nbsp;Iremos vasculhar todos estes na aula, e colocaremos os links principais dos projetos assim que eles forem definidos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-8234542142774497397?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/8234542142774497397/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=8234542142774497397' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/8234542142774497397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/8234542142774497397'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/09/aula-5-de-sistemas-operacionais-abertos.html' title='Aula 5 de Sistemas Operacionais Abertos'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-1002676547121882097</id><published>2010-09-14T10:58:00.001-03:00</published><updated>2010-09-14T10:58:45.905-03:00</updated><title type='text'>Aula 4 de Projeto Lógico de Computadores - Cont.</title><content type='html'>&lt;iframe width=100% height=560px frameborder=0 src=https://docs.google.com/gview?a=v&amp;pid=explorer&amp;chrome=false&amp;api=true&amp;embedded=true&amp;srcid=0BwDRZxpK0ziPOTBhZDQ2ZDEtZGIwNy00NTg1LTlkMWQtZmFlMGEwNTg3NWUx&amp;hl=pt_BR&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-1002676547121882097?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/1002676547121882097/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=1002676547121882097' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/1002676547121882097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/1002676547121882097'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/09/aula-4-de-projeto-logico-de.html' title='Aula 4 de Projeto Lógico de Computadores - Cont.'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-2363723838083539954</id><published>2010-09-14T10:58:00.000-03:00</published><updated>2010-09-14T10:58:10.085-03:00</updated><title type='text'>Aula 1 de Física Matemática I</title><content type='html'>&lt;iframe width=100% height=560px frameborder=0 src=https://docs.google.com/gview?a=v&amp;pid=explorer&amp;chrome=false&amp;api=true&amp;embedded=true&amp;srcid=0BwDRZxpK0ziPZWM2M2Y0NWYtYjY0OC00MWIxLWI4M2QtYTYzYjY5YmZmOTdm&amp;hl=pt_BR&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-2363723838083539954?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/2363723838083539954/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=2363723838083539954' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/2363723838083539954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/2363723838083539954'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/09/aula-1-de-fisica-matematica-i.html' title='Aula 1 de Física Matemática I'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-6186351245449022182</id><published>2010-09-08T16:17:00.001-03:00</published><updated>2010-09-08T17:08:20.700-03:00</updated><title type='text'>Aula 4 de Sistemas Operacionais Abertos</title><content type='html'>&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;div style="display: inline !important;"&gt;
&lt;div style="display: inline !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="font-size: x-large; font-weight: normal;"&gt;Processos&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="font-size: x-large; font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Introdução&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;/div&gt;
&lt;div style="display: inline !important;"&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Os processos contém, além do código de execução (&lt;i&gt;text section&lt;/i&gt;), os recursos usados (como arquivos abertos), sinais, dados internos do kernel, um espaço de endereços na memória, e uma seção de dados (&lt;i&gt;data section&lt;/i&gt;), contendo variáveis globais.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;/div&gt;
&lt;div style="display: inline !important;"&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Um processo pode conter várias threads de execução (&lt;i&gt;threads&lt;/i&gt;). no Linux, um thread é um processo especial, de modo que o tratamento de threads é o mesmo de processos.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;/div&gt;
&lt;div style="display: inline !important;"&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Um processo inicia no Linux através da chamada de sistema fork(), que cria um processo duplicando outro. O kernel retorna duas vezes de fork(): uma vez para o processo que chamou fork (o processo pai) e outra vez para o processo que foi criado (o processo filho).&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;/div&gt;
&lt;div style="display: inline !important;"&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;b&gt;&lt;/b&gt;&lt;/div&gt;
&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;div style="display: inline !important;"&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Em geral, o processo filho chama uma das funções da família exec() para criar um novo espaço de memória e susbtituir a existente, de modo que o filho realmente distingue-se do pai.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;/div&gt;
&lt;div style="display: inline !important;"&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;b&gt;&lt;/b&gt;&lt;/div&gt;
&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;div style="display: inline !important;"&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Em versões recentes do kernel, a chamada a fork() é implementada por uma chamada a clone(), que atrasa o processo de duplicação do processo pai inteiro, visto que este poderá (ou não) ser substituído pelo filho. Veremos esta implementação do kernel com mais detalhes.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Processos no Kernel&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;O kernel mantém a lista de processos numa lista circular duplamente encadeada chamada&amp;nbsp;&lt;i&gt;task list&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Cada elemento da lista é chamdo descritor de processo, e é do tipo&amp;nbsp;&lt;i&gt;struct task_struct&lt;/i&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Esta estrutura está definida num arquivo de cabeçalho, em &amp;lt;linux/sched.h&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;a href="http://lxr.linux.no/linux+v2.6.32.21/include/linux/sched.h#L1221"&gt;Definição de task_struct&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-bottom: 0.5em; margin-left: auto; margin-right: auto; padding-bottom: 6px; padding-left: 6px; padding-right: 6px; padding-top: 6px; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;a href="http://3.bp.blogspot.com/_5y5tzrkBYaE/TIfXxaUIymI/AAAAAAAAAXc/a406nQFGxqI/s1600/soa3.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_5y5tzrkBYaE/TIfXxaUIymI/AAAAAAAAAXc/a406nQFGxqI/s320/soa3.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="font-size: 13px; padding-top: 4px; text-align: center;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
Lista de Processos e cada descritor de processos, contendo a struct task_struct&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
Guardando o descritor de processo&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Cada processo tem associado a si um ID, chamado PID, que é um tipo pid_t, que é muitas vezes um sinônimo para int, ou, por questões de compatibilidade short int (16 bits). Pode-se modificar o valor em tempo de execução em /proc/sys/kernel/pid_max.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;No kernel,. os processos são referenciados pelo endereço de memória (ponteiro) de sua task_struct. Cada processo tem uma, e ela está em alguma posição de memória. Existe uma macro que guarda este ponteiro, chamada current, que contém o endereço do processo EM EXECUÇÃO.&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;No PowerPC, este endereço está num registrador.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;No x86, este endereço está na região de memória do processo, em geral na mesma posição relativa, possibilitando que um código em linguagem de montagem recupere este valor rapidamente.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;b&gt;&lt;div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;/div&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;b&gt;&lt;div style="display: inline !important;"&gt;
&lt;div style="display: inline !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
Estados dos Processos&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;A task_struct contém um campo state, que pode ter os seguintes valores:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;volatile long state; &amp;nbsp; &amp;nbsp;/* -1 unrunnable, 0 runnable, &amp;gt;0 stopped */&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;As possibilidades &amp;nbsp;para os processos (tasks) rodando são:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;TASK_RUNNING: O processo pode rodar, ou está rodando, ou está numa &lt;i&gt;runqueue&lt;/i&gt; (fila de execução.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;TASK_INTERRUPTIBLE: O processo está "dormindo", esperando para ser posto em execução novamente.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;TASK_UNINTERRUPTIBLE: O mesmo, mas o processo NÃO responde ao envio de sinais (que é um dos mecanismos de comunicação entre-processos visto em Sistemas Operacionais).&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_5y5tzrkBYaE/TIfq0eOmr3I/AAAAAAAAAXk/QBxdhNp7cWk/s1600/soa4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_5y5tzrkBYaE/TIfq0eOmr3I/AAAAAAAAAXk/QBxdhNp7cWk/s320/soa4.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Manipulando o estado atual do processo&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;set_task_state(task, state). Ajusta a tarefa (processo) task para estar no estado state.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-6186351245449022182?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/6186351245449022182/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=6186351245449022182' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/6186351245449022182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/6186351245449022182'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/09/aula-4-de-sistemas-operacionais-abertos_08.html' title='Aula 4 de Sistemas Operacionais Abertos'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5y5tzrkBYaE/TIfXxaUIymI/AAAAAAAAAXc/a406nQFGxqI/s72-c/soa3.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-4667597506217130449</id><published>2010-09-08T16:08:00.002-03:00</published><updated>2010-09-08T16:17:49.789-03:00</updated><title type='text'>Aula 3 de Sistemas Operacionais Abertos</title><content type='html'>Livro do Robert Love, LKD, capítulo 2&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;Obtendo o código-fonte do Kernel Linux&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Usando git&lt;/li&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Não é a maneira mais fácil, e deve ser usada apenas por aqueles que querem acompanhar as modificações, ou trabalhar na fronteira do desenvolvimento. É a versão de hoje do kernel. CUIDADO COM FIREWALLS MAL CONFIGURADOS.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="display: inline !important;"&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git&lt;/span&gt;&lt;/div&gt;
&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;li&gt;Código-fonte da sua distribuição.&lt;/li&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;É o método recomendado para nós&lt;/li&gt;
&lt;li&gt;Ubuntu 10.04: kernel 2.6.32.XX, onde XX depende do quão atualizado está o seu sistema.&lt;/li&gt;
&lt;li&gt;Instale o pacote linux-source.&lt;/li&gt;
&lt;li&gt;Um arquivo zipado (.bz2) será colocado na pasta /usr/src/ , chamado linux-source.tar.bz2. Copie este arquivo para a sua pasta pessoal (o seu home) e descompacte-o. Será criada uma pasta linux-source&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;br /&gt;
A árvore do Kernel e suas pastas.&lt;br /&gt;
&lt;br /&gt;
O kernel contém muitas pastas. Algumas delas serão vistas aqui, verifique as outras no livro.&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
Pasta &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Descrição&lt;/div&gt;
&lt;div&gt;
arch &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Código dependente da arquitetura (x86, ARM, MIPS,...)&lt;/div&gt;
&lt;div&gt;
Documentation &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Documentação&lt;/div&gt;
&lt;div&gt;
drivers &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Drivers em geral (a maior pasta)&lt;/div&gt;
&lt;div&gt;
include &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Kernel headers, arquivos .h do kernel, veja manual de C.&lt;/div&gt;
&lt;div&gt;
init &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;inicialização do kernel&lt;/div&gt;
&lt;div&gt;
kernel &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; subsistemas principais&lt;/div&gt;
&lt;div&gt;
mm &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; gerenciamento de memória&lt;/div&gt;
&lt;div&gt;
net &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;subsistema de rede&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Compilando o Kernel&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Antes de compilar o kernel, precisamos configurá-lo. Queremos o suporte a funcionalidade de gerencia de memória A ou B ? Queremos o driver de placa de áudio X ou Y ? Podemos configurar estas opções antes de compilar o kernel. Há ferramentas que ajudam nesta compilação.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Por exemplo, digitando o comando (na pasta onde você colocou o kernel, já descompactado)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;make menuconfig&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;É oferecido a você um menu de opções de configuração do kernel, que você pode navegar facilmente, escolhendo as opções que mais lhe agradam.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Se você não sabe nada, e está apenas começando, pode gerar uma configuração default (padrão) para a sua plataforma, que será detectada automaticamente, usando o comando:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;make defconfig&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Este comando cria a configuração padrão. Esta configuração é guardada num arquivo chamado .config (note que arquivos começando por . no Linux são ocultos. Para vê-los, va no menu do gerenciador de arquivos e marque ver arquivos ocultos). Você pode editar esta configuração diretamente neste arquivo texto, e salvá-lo com este nome. Após, rode o comando:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;make oldconfig&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Para que o arquivo editado a mão por você seja interpretado e validado. Está configurado o kernel, pronto para compilação, usando o comando:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;make&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Vá tomar um chá, café ou chimarrão enquanto espera.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Instale o kernel&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Em x86, com grub2, você precisa copiar ua imagem do kernel recém-compilado para uma pasta do sistema, editar o arquivo de configuração do grub (o bootloader, programa que faz a inicialização), colocando as informações do seu kernel lá.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Tarefa: Compile o kernel no seu computador, na sua casa.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-4667597506217130449?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/4667597506217130449/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=4667597506217130449' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/4667597506217130449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/4667597506217130449'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/09/aula-4-de-sistemas-operacionais-abertos.html' title='Aula 3 de Sistemas Operacionais Abertos'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-7523618635518878607</id><published>2010-09-08T14:14:00.000-03:00</published><updated>2010-09-08T14:14:53.224-03:00</updated><title type='text'>Trabalho 1 de sistemas Operacionais Abertos</title><content type='html'>&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Trabalho 1:&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Entrega: 15/09/2010, até as 19:00, por email, para henriquemarks@gmail.com&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Formato: PDF&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Assunto: Faça uma pesquisa sobre a estrutura de diretórios utilizada nas distribuições Linux em geral, explicando a estrutura e as pastas, a utilidade de cada uma, permissões, detalhes, e outras questões que você achar relevantes. Exemplifique o seu trabalho com capturas de tela do seu próprio sistema.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;O trabalho deve conter Título, Autor, Instituição, Data, Resumo, Introdução, Seções e Subseções, Conclusão e Referências.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
Para quem quer começar a fazer bons trabalhos, utilizando um bom editor de texto científico, eu sugiro o uso do editor lyx, no Linux ou Windows. É um editor gráfico de Latex, e para quem quiser usar, basta abrir o lyx e criar todos esses itens de formatação que estão acima. Depois, é só escrever no meio do texto. Há manuais de ajuda disponíveis no programa, um tutorial excelente, e algumas dicas que darei em aula. Há ainda alguns templates (modelos) prontos, bastando preencher com o seu trabalho os espaços em branco.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-7523618635518878607?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/7523618635518878607/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=7523618635518878607' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/7523618635518878607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/7523618635518878607'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/09/trabalho-1-de-sistemas-operacionais.html' title='Trabalho 1 de sistemas Operacionais Abertos'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-566880385264224336</id><published>2010-09-06T13:35:00.000-03:00</published><updated>2010-09-06T13:35:30.565-03:00</updated><title type='text'>Aula 4 Projeto Lógico de Computadores</title><content type='html'>&lt;b&gt;Operandos imediatos ou constantes&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
Existe uma instrução especial para adicionar valores constantes. Por que ? Porque esta operação é muito comum.&lt;br /&gt;
&lt;br /&gt;
Como somar uma constante a um valor ?&lt;br /&gt;
&lt;br /&gt;
Constante = 4 . Onde ela está na memória ? Em $s1 + addr , por exemplo.&lt;br /&gt;
&lt;br /&gt;
Logo:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;lw $t0, addr($s1)&lt;/li&gt;
&lt;li&gt;add $s3, $s3, $t0&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Duas instruções para carregar um valor constante da memória num registrador e depois somar com outro valor. MUITO DISPENDIOSO.&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;div&gt;
Instrução Adicionar Imediatamente&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;addi $s3, $s3, 4&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Princípio de Design 3&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Faça com que as operações mais comuns sejam rápidas&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Existe ainda no MIPS um registrador que contém zero, sempre, chamado $zero&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
Não existe subi no MIPS, porque pode-se utilizar diretamente constantes negativas no MIPS.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-566880385264224336?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/566880385264224336/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=566880385264224336' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/566880385264224336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/566880385264224336'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/09/aula-4-projeto-logico-de-computadores.html' title='Aula 4 Projeto Lógico de Computadores'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-249759233086316633</id><published>2010-09-04T16:03:00.038-03:00</published><updated>2010-09-06T13:10:28.967-03:00</updated><title type='text'>Aula 3 Projeto Lógico de Computadores</title><content type='html'>Estamos seguindo fielmente o capítulo 2 de Patterson e Hennesy, e vocês já podem começar a usar o simulador Mars e ou SPIM. O Mars você obtém da Internet ou&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://dl.dropbox.com/u/4780892/Mars.jar"&gt;Mars.jar&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Eu extraí o arquivo, criando uma pasta Mars. Para rodar o simulador, eu entro na pasta pela linha de comando:&lt;br /&gt;
&lt;br /&gt;
cd Mars (cuidado com a maiúscula)&lt;br /&gt;
&lt;br /&gt;
e depois digito:&lt;br /&gt;
&lt;br /&gt;
java Mars&lt;br /&gt;
&lt;br /&gt;
O spim você instala normalmente.&lt;br /&gt;
&lt;br /&gt;
O Livro, desculpem pelo tamanho:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://dl.dropbox.com/u/4780892/Computer%20Organization%20and%20Design%2C%204th%20Ed%2C%20D.%20A.%20Patterson%20and%20J.%20L.%20Hennessy.pdf"&gt;Computer Organization and Design 4thEd. Patterson and Hennessy&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;A aula&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;2.1 Introdução&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Para trabalhar com computadores devemos entender sua linguagem.&lt;/li&gt;
&lt;li&gt;A linguagem de um computador é o conjunto de instruções que ele entende (instruction set).&lt;/li&gt;
&lt;li&gt;Vamos trabalhar com um conjunto de instruções &amp;nbsp;real, da família de processadores MIPS.&lt;/li&gt;
&lt;li&gt;Mips é RISC, ou seja, é um computador que entende um conjunto reduzido de instruções (reduced instruction set computation)&lt;/li&gt;
&lt;li&gt;Temos também CISC, conjunto complexo de instruções&lt;/li&gt;
&lt;li&gt;Desde o início da computação moderna, sabia-se que um conjunto reduzido de instruções &amp;nbsp;seria capaz de realizar qualquer computação&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Conceito de Programa Armazenado:&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Vamos representar os dados por números no computador.&lt;/li&gt;
&lt;li&gt;Vamos representar as instruções por números no computador.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Por que MIPS ?&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;É usado em sistemas embarcados&lt;/li&gt;
&lt;li&gt;É RISC&lt;/li&gt;
&lt;li&gt;É parecido com ARM&lt;/li&gt;
&lt;li&gt;Temos Simuladores (Mars, SPIM).&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;2.2 Operações de Hardware do Computador&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Todo computador deve ser capaz de realizar operações aritméticas básicas.&lt;/li&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Ex: (todos os exemplos no MIPS)&lt;/li&gt;
&lt;li&gt;add a,b,c&lt;/li&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;adicionar "b" e "c" e colocar em "a"&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;li&gt;Operações aritméticas no MIPS: Uma operação por vez, três operandos.&lt;/li&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Ex: Somar "b", "c", "d" e "e" em "a"&lt;/li&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;add a,b,c&lt;/li&gt;
&lt;li&gt;add a,a,d&lt;/li&gt;
&lt;li&gt;add a,a,e&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;div&gt;
O MIPS tem 32 registradores e 2^30 palavras de memória (2 elevado na trinta, ou seja, 1 Giga palavras na memória). e isto leva ao princípio de Design 1.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;b&gt;Simplicidade favorece a regularidade&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Ou seja, operações simples, que são sempre iguais, são mais fáceis de implementar em Hardware.&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Ex: Linguagem C&lt;/li&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;a = b + c;&lt;/li&gt;
&lt;li&gt;d = a - e;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;li&gt;Qual é o código assembly correspondente ? Ou seja, qual seria o código gerado por um compilador a partir deste código C ?&lt;/li&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;add a,b,c&lt;/li&gt;
&lt;li&gt;sub d,a,e&lt;/li&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Operação sub, de subtração&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;li&gt;Ex: Linguagem C&lt;/li&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;f = (g + h) - (i + j);&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;li&gt;Qual é o código de montagem (assembly) gerado ?&lt;/li&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;add t0, g, h&lt;/li&gt;
&lt;li&gt;add t1, i, j&lt;/li&gt;
&lt;li&gt;sub f, t0, t1&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;2.3 Operandos do Hardware do Computador&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Operandos aritméticos&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Os operandos das operações aritméticas devem estar armazenados nos registradores da CPU&lt;/li&gt;
&lt;li&gt;Tamanho de um registrador no MIPS: 32 bits&lt;/li&gt;
&lt;li&gt;Grupos de 32 bits = palavra (word)&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Por que 32 registradores ?&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Resposta 1)&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Príncipio de Design 2&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="text-align: center;"&gt;
&lt;b&gt;Menor é mais rápido&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
Ou seja, menos registradores, significa Hardware mais simples e mais rápido. O ciclo de relógio pode ser menor com menos registradores.&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
Resposta 2)&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Tamanho de instruções e endereçamento (seção 2.5)&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Convenção para escrita de registradores: Símbolo $, seguido de dois caracteres&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Ex: Escreva usando os registradores&lt;/li&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;f = (g+h) - (i+j);&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;li&gt;Resposta:&lt;/li&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;add $t0, $s1, $s2&lt;/li&gt;
&lt;li&gt;add $t1, $s3, $s4&lt;/li&gt;
&lt;li&gt;sub $s0, $t0, $t1&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Operandos de memória&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
As linguagens de programação tem , em geral:&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;variáveis&lt;/li&gt;
&lt;li&gt;vetores&lt;/li&gt;
&lt;li&gt;estruturas&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Como guardar estes tipos complexos nos registradores, para realizar operações neles ?&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Registradores: São poucos, com pouco espaço&lt;/li&gt;
&lt;li&gt;Memória: Muita!&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Temos que ser capazes de transferir dados da memória para os registradores, e vice-versa&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Instruções de transferência de dados&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Para acessar uma palavra na memória, a instrução deve fornecer um endereço.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5y5tzrkBYaE/TIUMj3-eE4I/AAAAAAAAAXU/Punjw47Zuak/s1600/instructionsets1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_5y5tzrkBYaE/TIUMj3-eE4I/AAAAAAAAAXU/Punjw47Zuak/s320/instructionsets1.png" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;E endereço do terceiro elemento é 8, e o seu valor é 10 (memory[2])&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Instruções load word(lw) e store word(sw)&lt;/li&gt;
&lt;li&gt;Carregar da memória (lw) e guardar na memória (sw)&lt;/li&gt;
&lt;li&gt;A primeira das instruções traz da memória e coloca num registrador&lt;/li&gt;
&lt;li&gt;A segunda instrução pega o valor de um registrador e coloca na memória&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Formato da instrução&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Nome da instrução (lw) seguido do registrador onde colocaremos o valor, e depois uma constante e mais um registrador contendo um endereço&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Ex: Linguagem C&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;A é um vetor com 100 palavras (A[100]), cujo endereço inicial está armazenado em $s3&lt;/li&gt;
&lt;li&gt;g e h são duas variáveis: {g,h} --&amp;gt; {$s1, $s2}&lt;/li&gt;
&lt;li&gt;g = h + A[8];&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Qual é o código de montagem correspondente ?&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Carregar da memória o valor num registrador temporário&lt;/li&gt;
&lt;li&gt;lw $t0, 32($s3)&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;lw é a instrução para carregar da memória no registrador&lt;/li&gt;
&lt;li&gt;$t0 é o nome do registrador&lt;/li&gt;
&lt;li&gt;Qual é o endereço de memória ? 32($s3)&lt;/li&gt;
&lt;li&gt;$s3 é o endereço inicial do vetor (por exemplo, endereço 80)&lt;/li&gt;
&lt;li&gt;32 significa o deslocamento (em bytes) em relação a posição inicial (por exemplo, 80 + 32 = 112)&lt;/li&gt;
&lt;li&gt;Por que 32 ? 32 = 8 * 4. O primeiro elemento de A está em 80. O segundo está 4 bytes adiante, ou seja, 84, o terceiro em 88, e assim por diante. Logo, o elemento A[8] esta na posição $s3 + 8 * 4.&lt;/li&gt;
&lt;li&gt;No MIPS, existe restrição de alinhamento de memória, ou seja, todas as palavras devem inciar em posições de memória que são múltiplos de 4.&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;$s3 é chamado de endereço base (registrador base)&lt;/li&gt;
&lt;li&gt;32 = 8 * 4 é chamado de deslocamento (offset)&lt;/li&gt;
&lt;li&gt;Após carregar em $t0 o valor de A[8], somar com h e colocar em g&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;$s1 = $s2 + $t0&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;div&gt;
A operação oposta de load word é store word, que pega o valor em um registrador e coloca num endereço de memória&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Ex: Linguagem C&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;h --&amp;gt; $s2&lt;/li&gt;
&lt;li&gt;endereço inicial de A --&amp;gt; $s3&lt;/li&gt;
&lt;li&gt;A[12] = h + A[8];&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Resposta&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Carregar A[8]&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;lw $t0, 32($s3)&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Somar com h e guardar num local temporário&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;add $t0, $s2, $t0&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Guardar na memória, no elemento 12 do vetor A.&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;sw $t0, 48($s3)&lt;/li&gt;
&lt;li&gt;Guardar o valor de $t0 no endereço $s3 + 48, ou seja, no elemento 12 de A (12*4)&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-249759233086316633?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/249759233086316633/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=249759233086316633' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/249759233086316633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/249759233086316633'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/09/aula-3-projeto-logico-de-computadores.html' title='Aula 3 Projeto Lógico de Computadores'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_5y5tzrkBYaE/TIUMj3-eE4I/AAAAAAAAAXU/Punjw47Zuak/s72-c/instructionsets1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-3647639431490188435</id><published>2010-09-04T15:20:00.000-03:00</published><updated>2010-09-04T15:20:01.767-03:00</updated><title type='text'>Sistemas Operacionais Abertos</title><content type='html'>Nossos manuais para sistemas operacionais abertos e o Kernel:&lt;br /&gt;
&lt;br /&gt;
Principal, mais voltada a código, e mais recente&lt;br /&gt;
&lt;a href="http://dl.dropbox.com/u/4780892/Adison.Wesley.Linux.Kernel.Development.3rd.Edition.Jun.2010.pdf"&gt;Linux.Kernel.Development.3rd.Edition&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Secundária, mais voltada a sistemas operacionais em geral&lt;br /&gt;
&lt;a href="http://dl.dropbox.com/u/4780892/Understanding%20The%20Linux%20Kernel%2C%203rd%20Edition.chm"&gt;Understanding The Linux Kernel 3rd Edition&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
No Linux, talvez seja necessário instalar um visualizador de arquivos chm, como o kchmviewer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-3647639431490188435?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/3647639431490188435/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=3647639431490188435' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/3647639431490188435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/3647639431490188435'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/09/sistemas-operacionais-abertos.html' title='Sistemas Operacionais Abertos'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-6567455964279622594</id><published>2010-09-02T16:41:00.000-03:00</published><updated>2010-09-02T16:41:47.502-03:00</updated><title type='text'>Aula 2 Java - FACIMA</title><content type='html'>Nesta aula, continuaremos seguindo os tutoriais do site da Oracle sobre Swing e Java, e usaremos uma ferramenta de gerência de código-fonte para manter os códigos num repositório.&lt;br /&gt;
&lt;br /&gt;
Faremos uma recapitulação sobre o uso do Netbeans, e um programa simples, conforme o post anterior sobre a aula de Java.&lt;br /&gt;
&lt;br /&gt;
Depois, seguiremos um exemplo no Swing Tutorial, para criarmos um aplicativo gráfico simples.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://download.oracle.com/javase/tutorial/uiswing/learn/index.html"&gt;Criando um Aplicativo gráfico&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-6567455964279622594?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/6567455964279622594/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=6567455964279622594' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/6567455964279622594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/6567455964279622594'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/09/aula-2-java-facima.html' title='Aula 2 Java - FACIMA'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-5684240277013078081</id><published>2010-09-02T14:20:00.000-03:00</published><updated>2010-09-02T14:20:39.011-03:00</updated><title type='text'>Disciplina Java - FACIMA - 2010/2</title><content type='html'>Já temos um repositório de código-fonte, ou seja, um local onde os códigos de vocês ficarão armazenados, para facilitar o trabalho de vocês individualmente e em equipe.&lt;br /&gt;
&lt;br /&gt;
O projeto está hospedado no code.google.com, e o link é:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://code.google.com/p/facima-java-20102/"&gt;Repositório do Google para nossos projetos&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
O nome do projeto é facima-java-20102, e vocês DEVEM pedir autorização para mim para ingressar no grupo, por email.&lt;br /&gt;
&lt;br /&gt;
No título do email, por favor, coloque:&lt;br /&gt;
&lt;br /&gt;
FACIMA-JAVA-20102&lt;br /&gt;
&lt;br /&gt;
Coloque seu nome completo no corpo do email, por favor.&lt;br /&gt;
&lt;br /&gt;
Cadastrarei e retornarei o mais rápido possível.&lt;br /&gt;
&lt;br /&gt;
Até mais&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-5684240277013078081?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/5684240277013078081/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=5684240277013078081' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/5684240277013078081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/5684240277013078081'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/09/disciplina-java-facima-20102.html' title='Disciplina Java - FACIMA - 2010/2'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-2543930183563272047</id><published>2010-09-02T14:06:00.000-03:00</published><updated>2010-09-02T14:06:12.137-03:00</updated><title type='text'>Instrução disciplina de Java</title><content type='html'>Para instalar TUDO o que é necessário para trabalharmos, no momento, basta, no Linux:&lt;br /&gt;
&lt;br /&gt;
- Abrir o instalador de programas&lt;br /&gt;
- Instalar o netbeans&lt;br /&gt;
&lt;br /&gt;
Todo o resto que é necessário será instalado junto, automaticamente.&lt;br /&gt;
&lt;br /&gt;
Em outras plataformas, você precisa baixar do site da SUN/ORACLE, e instalar tudo a mão. No Linux, não precisa nada disso, somente siga as instruções acima.&lt;br /&gt;
&lt;br /&gt;
Vamos usar algumas ferramentas de gerenciamento de código-fonte, então eu sugiro que instalem também o pacote subversion no Linux, ou o programa Tortoise no Windows.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-2543930183563272047?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/2543930183563272047/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=2543930183563272047' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/2543930183563272047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/2543930183563272047'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/09/instrucao-disciplina-de-java.html' title='Instrução disciplina de Java'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-982395493413273094</id><published>2010-08-30T15:16:00.007-03:00</published><updated>2010-08-31T12:56:39.408-03:00</updated><title type='text'>Aula 3 de Projeto Lógico de Computadores</title><content type='html'>&lt;span class="Apple-style-span" style="font-size: small;"&gt;Fonte: Livro de D.A. Patterson, e J.L. Hennessy, Computer Organization and Design, 4ed&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;2.1 - Introdução&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;2.2 - Operações do Hardware do Computador&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;2.3 - Operandos do Hardware do Computador&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Lista de Exercícios&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Os exercícios devem ser entregues individualmente, até o dia 20/07/2010, as 11:59 da manhã, por email para o prof. Henrique Marks. O email deve conter no título:&lt;br /&gt;
&lt;br /&gt;
FACIMA - PLC - Trabalho X&lt;br /&gt;
onde X é o número do trabalho, PLC é a nossa disciplina.&lt;br /&gt;
&lt;br /&gt;
Meu email é henriquemarks@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://dl.dropbox.com/u/4780892/lista1-plc2010.pdf"&gt;Lista 1 - PLC - 2010&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
O trabalho/lista consiste em fazer os exercícios 2.1 até 2.12.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-982395493413273094?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/982395493413273094/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=982395493413273094' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/982395493413273094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/982395493413273094'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/08/aula-3-de-projeto-logico-de.html' title='Aula 3 de Projeto Lógico de Computadores'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-8453391913205102937</id><published>2010-08-30T12:09:00.000-03:00</published><updated>2010-08-30T12:09:06.474-03:00</updated><title type='text'>Aula 2 de Sistemas Operacionais Abertos</title><content type='html'>Vimos alguns comandos na aula 2, principalmente aqueles relativos a visualização de processos no Linux. Vamos ver mais alguns comandos nas outras aulas.&lt;br /&gt;
&lt;br /&gt;
A interface de linha de comando é bastante poderosa para realizar tarefas automatizadas, ou realizar a mesma tarefa para múltiplos usuários. Por exemplo, você poderia ter um sistema com 100 usuários e gostaria de trocar o nome de uma pasta qualquer, dentro da pasta de dados de cada usuário.&lt;br /&gt;
&lt;br /&gt;
É claro que você poderia ir ao gerenciador de arquivos e fazer isto, para cada usuário, mas seria uma tarefa monótona e extremamente demorada. Se fossem mil usuários, seria impossível fazer usando uma interface "point-and-click". Nesta hora a linha de comando torna-se poderosa.&lt;br /&gt;
&lt;br /&gt;
Você precisa saber comandos para usar Linux ? Quase certamente NÃO. Esta idéia antiquada ainda permanece, mas não é mais verdadeira.&lt;br /&gt;
&lt;br /&gt;
Se você tiver problemas com suporte a algum hardware, precisará usar linha de comando no Linux ? Quase certamente SIM. Porque você irá procurar informações na internet (tal aparelho funciona no Ubuntu XX.X ?) e as respostas serão fornecidas iniciando com a frase "abra um terminal e digite". Isto é um pouco intimidador, mas não esqueça que para usuários comuns, qualquer problema com Hardware é intimidador, em qualquer SO. A vantagem de receber instruções pela linha de comando é que, em geral, você copia e cola as instruções no terminal, e as coisas funcionam.&lt;br /&gt;
&lt;br /&gt;
Se você trabalha com informática, você precisa saber comandos ? Claro que SIM. Afinal de contas, os profissionais devem conhecer uma das maneiras de trabalhar com o sistema. Se você não aprender, não será tão qualificado quanto outros que aprenderam, simples assim.&lt;br /&gt;
&lt;br /&gt;
Os comandos tornam-se especialmente úteis nos seguintes dois casos:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Tarefas de Gerenciamento de Sistemas.&lt;/li&gt;
&lt;li&gt;Tarefas de instalação de servidores diversos.&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
Note que estas tarefas são executadas por profissionais, não sendo necessárias no dia-a-dia.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Dois comandos que vimos na aula são &lt;i&gt;ps&lt;/i&gt;&amp;nbsp;e &lt;i&gt;top&lt;/i&gt;. O primeiro mostra informações de processo, e ose gundo também mas de uma forma mais dinâmica. Tão importante quanto os comandos, é saber que estes programas contém opções e uma página de manual instalada no seu sistema. Se você abrir um terminal e digitar (não precisa digitar $, é só para indicar que estou na "linha &amp;nbsp;de comando"&lt;/div&gt;
&lt;div&gt;
$ man ps&lt;/div&gt;
&lt;div&gt;
Será aberta a página de manual do comando ps. Para correr uma folha, pressione a barra de espaço, para sair aperte q. Veja a figura:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5y5tzrkBYaE/THvHxy1A0wI/AAAAAAAAAXE/53edxhUtDGM/s1600/soa1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_5y5tzrkBYaE/THvHxy1A0wI/AAAAAAAAAXE/53edxhUtDGM/s320/soa1.png" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Captura de Tela da página de manual do comando &amp;nbsp;ps.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
A página de manual mostra qual é o comando, mostra que este comando tem opções, mostra alguns exemplos (teste TODOS no seu computador), e prove algumas explicações. Muitas vezes estas páginas estão traduzidas. Não esqueça: a barra de espaço vai para a outra página, q sai, b volta, etc.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
É possível visualizar estas páginas de uma forma mais bonita. Usando o programa konqueror (se não estiver isntalado, pode fazê-lo pelo instalador de programas), que é um navegador Web, gerenciador de arquivos, visualizador, etc. pode-se ver a mesma página de manual digitando na barra de endereço&lt;/div&gt;
&lt;div&gt;
man:ps&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Veja a figura como fica&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5y5tzrkBYaE/THvJHieyx-I/AAAAAAAAAXM/n2vpHW0BbH4/s1600/soa2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_5y5tzrkBYaE/THvJHieyx-I/AAAAAAAAAXM/n2vpHW0BbH4/s320/soa2.png" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Visualização do comando ps no konqueror&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Para os outros comandos, valem as mesmas instruções. É sempre a mesma sintaxe: (comandos opções). E a página de manual está em man comando, na linha de comando, ou man:comando, no konqueror.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-8453391913205102937?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/8453391913205102937/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=8453391913205102937' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/8453391913205102937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/8453391913205102937'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/08/aula-2-de-sistemas-operacionais-abertos_30.html' title='Aula 2 de Sistemas Operacionais Abertos'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_5y5tzrkBYaE/THvHxy1A0wI/AAAAAAAAAXE/53edxhUtDGM/s72-c/soa1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-4983964977548643485</id><published>2010-08-30T11:47:00.000-03:00</published><updated>2010-08-30T11:47:12.683-03:00</updated><title type='text'>Aula 2 de Sistemas Operacionais Abertos</title><content type='html'>Nosso livro teórico da disciplina é o livro de Sistemas Operacionais do Tanembaum. Podem usar a segunda ou terceira edição, sem nenhum problema, visto que as diferenças entre elas sao mínimas, para o nosso uso.&lt;br /&gt;
&lt;br /&gt;
Nossa referência de linguagem C já passei num outro post do blog, e a referência para o kernel Linux será o livro&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://dl.dropbox.com/u/4780892/Adison.Wesley.Linux.Kernel.Development.3rd.Edition.Jun.2010.pdf"&gt;Linux Kernel Development, 3ed, 2010&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Está em inglês, o que é normal visto que o livro é de Junho de 2010.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-4983964977548643485?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/4983964977548643485/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=4983964977548643485' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/4983964977548643485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/4983964977548643485'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/08/aula-2-de-sistemas-operacionais-abertos.html' title='Aula 2 de Sistemas Operacionais Abertos'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-5461130265758956902</id><published>2010-08-29T23:54:00.001-03:00</published><updated>2010-08-30T11:41:11.751-03:00</updated><title type='text'>Aula 2 de Projeto Lógico de Computadores</title><content type='html'>&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;b&gt;Visão Geral do Funcionamento de um Computador&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
Máquina de von Neumann/Turing:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Conceito de programa guardado dentro do computador.&lt;/li&gt;
&lt;li&gt;Dentro da memória, são guardados os dados e as instruções para operar sobre estes dados.&lt;/li&gt;
&lt;li&gt;Unidade aritmética e lógica realizações essas operações.&lt;/li&gt;
&lt;li&gt;Unidade de controle interpreta as instruções da memória e as executa&lt;/li&gt;
&lt;li&gt;Entrada e Saída operada pela unidade de controle&lt;/li&gt;
&lt;/ul&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_5y5tzrkBYaE/THsEGN49lSI/AAAAAAAAAVc/kw7xDqZPQYw/s1600/plc1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_5y5tzrkBYaE/THsEGN49lSI/AAAAAAAAAVc/kw7xDqZPQYw/s320/plc1.png" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Esta figura está em W. Stallings, Computer Organization and Architecture, ed. 6, pag.18, cap2&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div&gt;
Na figura, podemos ver as partes principais do computador, numa figura de nível bem baixo. A Unidade de controle e aritmética interagem com a memória principal, e entre si. CREIO que a figura tem um ERRO, visto que é a unidade de controle que faz E/S, e não a unidade aritmética. Passei esta figura em aula e não percebi o suposto erro, ou interpretei mal. Minha interpretação é que esta errada a figura. Mas continua válida a interpretação desta, de qualquer modo.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Vimos também o ciclo de execução de um programa, e as partes do computador numa visão "mais próxima". Nesta vião, mostrada na figura seguinte, temos a CPU, composta das unidades de controle e aritmética/lógica e alguns registradores na CPU. Estes são posições de memória utilizadas para guardar certas informações, e a quantidade e a funcionalidade destes definem todo o funcionamento do processador, ou o projeto lógico da CPU. Comunicando-se com a CPU temos a memória principal e algum dispositivo de entrada e saída.&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5y5tzrkBYaE/THsJnzjxaWI/AAAAAAAAAVk/uyyDE_LfkDU/s1600/plc2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_5y5tzrkBYaE/THsJnzjxaWI/AAAAAAAAAVk/uyyDE_LfkDU/s320/plc2.png" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;As partes do computador. Figura de W. Stallings, Computer Organization and Architecture, ed. 6, pag.53, cap3&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Os registradores tem nomes, conforme seu uso. Por exemplo, nesta figura temos:&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Contador de Programa (PC). É usado para guardar qual instrução está sendo executada num dado instante.&lt;/li&gt;
&lt;li&gt;Registrador de instrução. Guarda a instrução que foi buscada da memória e que será executada.&lt;/li&gt;
&lt;li&gt;MAR/MBR: Registradores para guardar endereços de memória&lt;/li&gt;
&lt;li&gt;IO/AR,IO/BR: Registradores para guardar endereços de Entrada/Saída&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Na memória, podemos verificar que guardamos tanto DADOS quanto INSTRUÇÕES. Estas instruções especificam como aCPU irá operar nos próprios dados que ali também estão.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Um computador terá um ciclo de execução, que será repetido a exaustão. De uma maneira simplificada, o ciclo de execução mais simples é aquele que contém dus partes. Uma parte é a de busca (de instruções e/ou dados) e outra de execução da instrução buscada. A figura abaixo mostra este ciclo.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_5y5tzrkBYaE/THsLpbXVsvI/AAAAAAAAAVs/NruA3vUkRPs/s1600/plc3.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_5y5tzrkBYaE/THsLpbXVsvI/AAAAAAAAAVs/NruA3vUkRPs/s320/plc3.png" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;O ciclo de execução mais básico (fetch cycle = ciclo de busca, execute cycle = ciclo de execução). Figura de W. Stallings, Computer Organization and Architecture, ed. 6, pag.54, cap3&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Vamos dar um exemplo de um programa rodando num sistema simplificado. Nosso sistema pode acumular (somar) valores inteiros, que devem ser trazidos da memória. Além disso, nosso sistema é de 16 bits, ou seja, os registradores são de 16 bits, e a memória é dividida em pedaços de 16 bits. É importante entender que no endereço x, temos 16 bits, e no endereço x+1, mais 16 bits (em geral, as memórias são divididas em regiões de 8 bits, ou byte).&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Nosso sistema simplificado conterá três registradores:&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;PC, contendo o endereço da próxima instrução buscada.&lt;/li&gt;
&lt;li&gt;IR, que conterá a instrução buscada a ser executada&lt;/li&gt;
&lt;li&gt;AC, um acumulador, que acumulará (somará) os valores ali colocados.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Além disso, nosso sistema terá três INSTRUÇÕES. Cada uma delas estará associada a um código numérico.&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;0001 - 0x1 - Carregar valor da memória para o acumulador&lt;/li&gt;
&lt;li&gt;&amp;nbsp;0010 - 0x2 - Carregar o valor do acumulador de volta na memória&lt;/li&gt;
&lt;li&gt;&amp;nbsp;0101 - 0x5 - Somar valor da memória ao acumulador.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Nestas três instruções, verificamos que:&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Todas elas referem-se a uma memória. O valor da memória está dentro do valor de 16 bits buscado, conforme a figura abaixo.&lt;/li&gt;
&lt;li&gt;Como o "código de operação" tem 4 bits, o endereço de memória só pode ter 12 bits.&lt;/li&gt;
&lt;/ul&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_5y5tzrkBYaE/THsPD6ES-fI/AAAAAAAAAV0/-r65aQCUDL4/s1600/plc4.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_5y5tzrkBYaE/THsPD6ES-fI/AAAAAAAAAV0/-r65aQCUDL4/s320/plc4.png" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Visão do que pode haver numa palavra (word) de 16 bits da nossa plataforma. Uma instrução, com código e endereço (acima), ou um valor inteiro, em sinal/magnitude. Figura de W. Stallings, Computer Organization and Architecture, ed. 6, pag.55, cap3&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
Vamos agora considerar o programa exemplo propriamente dito. Na figura abaixo, temos a disposição da memória, com algumas instruções guardadas em posições específicas desta, e com dados em outras posições. Além disso, o contador de programa tem guardado dentro dele o endereço da próxima instrução a ser buscada.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_5y5tzrkBYaE/THsS771zrpI/AAAAAAAAAV8/dIF1EOSE43A/s1600/plc5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_5y5tzrkBYaE/THsS771zrpI/AAAAAAAAAV8/dIF1EOSE43A/s320/plc5.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Na primeira figura, vemos que o registrador PC contém o endereço da primeira instrução que será buscada, ou seja, 0x300 (hexadecimal). Deve-se notar que este registrador somente alcança endereços de 12 bits, visto que a memória só é endereçavel até 12 bits neste exemplo (lembre-se do código de operação). Logo, no primeiro ciclo de busca, o valor do endereço 0x300 ( 0x1940) é buscado e colocado em IR, o registrador de instrução. Além disso, o contador de instrução é incrementado em 1, indica que no próximo ciclo de busca &amp;nbsp;a instrução será obtida em outro endereço. Ficamos com a figura a seguir:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_5y5tzrkBYaE/THsV2PEe4rI/AAAAAAAAAWU/qP463WWTaoM/s1600/plc6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_5y5tzrkBYaE/THsV2PEe4rI/AAAAAAAAAWU/qP463WWTaoM/s320/plc6.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: auto;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Agora que o primeiro ciclo de busca foi realizado, devemos realizar o primeiro ciclo de execução: Tomamos a instrução que está em IR, e executamos esta. Os 4 bits iniciais de IR constituem o código de execução, e os 12 bits subsequentes o endereço de memória. Código 1 significa guardar o valor da memória (no caso, 0x940) no acumulador AC. Ora, o valor que está em 0x940 é o número 0x3, que então é colocado em AC, como mostra a figura seguinte.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_5y5tzrkBYaE/THsWMc_R_HI/AAAAAAAAAWc/5lw4XMEyraU/s1600/plc7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_5y5tzrkBYaE/THsWMc_R_HI/AAAAAAAAAWc/5lw4XMEyraU/s320/plc7.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: auto;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Terminamos com isto o primeiro ciclo de busca e execução. Vamos ao segundo ciclo. Buscamos no endereço 0x301 a instrução, que é colocada em IR, no lugar da anterior. O PC é incrementado.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_5y5tzrkBYaE/THsXJtkohRI/AAAAAAAAAWk/I4GQIsvlslQ/s1600/plc8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_5y5tzrkBYaE/THsXJtkohRI/AAAAAAAAAWk/I4GQIsvlslQ/s320/plc8.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
O Registrador IR contém o valor 0x5941, que significa que no ciclo de execução deveremos realizar a operação de "somar ao acumulador" (operação 5), o valor que está no endereço 0x941 (que é 2). Então somamos 2 ao acumulador, obtendo 5. Note que, na prática, o acumulador deve "saber" o que fazer com o valor recebido, que neste caso é a soma. A figura a seguir mostra como ficam os registradores.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_5y5tzrkBYaE/THsYCVy87sI/AAAAAAAAAWs/ky1vR624xag/s1600/plc9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_5y5tzrkBYaE/THsYCVy87sI/AAAAAAAAAWs/ky1vR624xag/s320/plc9.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
Agora iniciamos o último ciclo. Buscamos o valor em 0x302, conforme apontado por PC, e guardamos este valor em IR, além de incrementar PC. Veja a figura:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_5y5tzrkBYaE/THsYg6sG17I/AAAAAAAAAW0/KFyC8_jGls4/s1600/plc10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_5y5tzrkBYaE/THsYg6sG17I/AAAAAAAAAW0/KFyC8_jGls4/s320/plc10.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
Agora, no ciclo de execução, devemos realizar a operação. No caso, a operação indicada é colocar na memória (endereço 0x941) o valor do acumulador AC, que é 0x5. Fazemos isto, e ficamos com:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_5y5tzrkBYaE/THsY-OWSa4I/AAAAAAAAAW8/4iGAe7AyK-c/s1600/plc11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_5y5tzrkBYaE/THsY-OWSa4I/AAAAAAAAAW8/4iGAe7AyK-c/s320/plc11.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Exercício para vocês:&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Nossa máquina hipotética contém duas instruções de E/S:&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;0011 = carregar AC a partir de um dispositivo de E/S&lt;/li&gt;
&lt;li&gt;0111 = carregar AC em um dispositivo de E/S&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Nestas instruções, o valor de 12 bits designa um dispositivo de E/S particular. Descreva a execução do seguinte programa:&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;Carregar AC a partir do dispositivo 5.&lt;/li&gt;
&lt;li&gt;Somar com o conteúdo da posição de memória 940&lt;/li&gt;
&lt;li&gt;Armazenar o conteúdo de AC no dispositivo 6&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
Suponha que o próximo valor obtido do dispositivo 5 seja 3 e que a posição de memória 940 contenha o valor 2.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Me entreguem até o dia 06/07, as 11:59 da manhã, por email (henriquemarks@gmail.com).&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
P.S. Podem fazer a mão e me mandar uma foto (ou mais) do trabalho, sem problemas. Mas por favor, reduzam o tamanho do arquivo da foto para algo aceitável, ou seja, algo que eu possa ler e que não seja muito grande. Tenho certeza que, após tirar a foto, pode-se colocar em qualquer programa de imagens (digikam, por exemplo, e salvar a foto em png, com um tamanho MUITO menor).&amp;nbsp;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-5461130265758956902?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/5461130265758956902/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=5461130265758956902' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/5461130265758956902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/5461130265758956902'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/08/aula-2-de-projeto-logico-de.html' title='Aula 2 de Projeto Lógico de Computadores'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5y5tzrkBYaE/THsEGN49lSI/AAAAAAAAAVc/kw7xDqZPQYw/s72-c/plc1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-9176524844076377521</id><published>2010-08-27T12:59:00.000-03:00</published><updated>2010-08-27T12:59:11.167-03:00</updated><title type='text'>Trabalho 1 de Sistemas Operacionais Abertos - Cancelado</title><content type='html'>Não vou passar trabalho de sistemas operacionais abertos esta semana, acho que não é necessário, ainda. É muito cedo no semestre (apenas duas aulas) e percebi na aula que os alunos entenderam a necessidade de acompanhar as aulas trabalhando nos sistemas que usaremos nos seus computadores (ou seja, precisa ter e usar Linux!).&lt;br /&gt;
&lt;br /&gt;
Vou tentar passar alguns problemas de C e instruções de compilação e execução, para que vocês possam treinar. De qualquer modo, na apostila de C, no capítulo de funções e ponteiros, há exemplos e exercícios.&lt;br /&gt;
&lt;br /&gt;
Aparentemente, o blog tem uma facilidade de seguir posts por email. Ou seja, se você "seguir" o blog, qualquer post nele irá para o seu email, fazendo com que fique mais fácil acompanhar modificações. Alguém fez isto e confirma esta possibilidade, por favor.&lt;br /&gt;
&lt;br /&gt;
Apesar de não ter trabalho, é uma boa idéia aprender a usar estes comandos, ps e top, e alguma interface para eles, como o ksysguard, para entender as informações de processo geradas pelo sistema.&lt;br /&gt;
&lt;br /&gt;
A aula 2 também virá para a internet tão cedo quanto possível.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-9176524844076377521?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/9176524844076377521/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=9176524844076377521' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/9176524844076377521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/9176524844076377521'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/08/trabalho-1-de-sistemas-operacionais.html' title='Trabalho 1 de Sistemas Operacionais Abertos - Cancelado'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-3211003786385682630</id><published>2010-08-25T16:52:00.000-03:00</published><updated>2010-08-25T16:52:41.771-03:00</updated><title type='text'>Sistemas Operacionais Abertos</title><content type='html'>&lt;b&gt;Material de C disponível&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Material de C para a disciplina. Provavelmente vou pedir para serem feitos os exemplo do livro, e seus exercícios, para entregar. Principalmente o capítulo de Funções, Ponteiros e Estruturas. Na aula combinaremos isto. A linguagem C é condição essencial para esta disciplina, sem ela não podemos trabalhar os conceitos de sistemas operacionais necessários.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://dl.dropbox.com/u/4780892/estrut-dados-pucrio.pdf"&gt;Apostila de C&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Tomara que este link do DropBox funcione&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-3211003786385682630?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/3211003786385682630/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=3211003786385682630' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/3211003786385682630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/3211003786385682630'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/08/sistemas-operacionais-abertos_25.html' title='Sistemas Operacionais Abertos'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-3424871040816154930</id><published>2010-08-25T16:44:00.001-03:00</published><updated>2010-08-25T16:47:33.697-03:00</updated><title type='text'>Java e Swing</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Primeira Aula&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Introdução&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Ementa da disciplina&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Desenvolvimento de aplicações com interface gráfica usando Java e Swing. Implementação de programas utilizando componentes diversos. Integração com bancos de dados. Utilização de Frameworks de Desenvolvimento. Aplicações para sistemas embarcados.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Bibliografia&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Livros diversos sobre Java, e sobre Java e Swing, a escolha dos alunos.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Livros específicos sobre Java e Frameworks diversos, dependendo do FrameWork utilizado&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Documentação oficial do Java e Swing, em:&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;span style="background-color: transparent; color: #000099; font-family: Arial; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;a href="http://download.oracle.com/javase/"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Documentação oficial do Java&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Plano da disciplina&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Vamos realizar uma breve introdução ao Java, lembrando conceitos previamente conhecidos. Depois, iremos começar com o Swing, analisando componentes, estrutura de programas, como integrá-los ao IDE utilizado, e fazendo vários programas. A integração aos bancos de dados será trabalhada após termos adquirido um conhecimento sólido em Swing. Após, estudaremos algum FrameWork de Desenvolvimento escolhido no curso e que for considerado adequado, e no final faremos o desenvolvimento de aplicações Java visando os sistemas embarcados, utilizando a plataforma Android.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Tutorial Java, o velho Hello World&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;div style="background-color: transparent; font-size: medium; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
&lt;ul id="internal-source-marker_0.5395253663882613"&gt;
&lt;li style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;a href="http://download.oracle.com/javase/tutorial/getStarted/cupojava/netbeans.html"&gt;Hello World para Netbeans&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;a href="http://download.oracle.com/javase/tutorial/getStarted/application/index.html"&gt;Explicação detalhada do Hello World&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;a href="http://download.oracle.com/javase/tutorial/getStarted/QandE/questions.html"&gt;Perguntas e Respostas&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: Arial; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-size: 15px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-3424871040816154930?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/3424871040816154930/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=3424871040816154930' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/3424871040816154930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/3424871040816154930'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/08/primeira-aula-de-java.html' title='Java e Swing'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12676946.post-868651507155134114</id><published>2010-08-25T16:24:00.000-03:00</published><updated>2010-08-25T16:24:19.215-03:00</updated><title type='text'>Sistemas Operacionais Abertos</title><content type='html'>&lt;div style="text-align: justify;"&gt;
&lt;b&gt;Primeira Aula&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;O que é um sistema Operacional, informações sobre a disciplina, bibliografia, ementa.&lt;/li&gt;
&lt;li&gt;Chamadas de sistema&lt;/li&gt;
&lt;li&gt;Linux: Histórico, Distribuições, Licenças. Prática de instalação de uma Distribuição (Ubuntu 10.04) e instalação de programas (usando o instalador de programas Synaptic)&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;Sistema Computacional: &lt;/b&gt;Hardware, Sistema Operacional e Programas de Aplicação&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;Esquema:&lt;/b&gt;&lt;/div&gt;
&lt;table border="1"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Aplicativos em geral &lt;/td&gt; 
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Compiladores | Shell | Desktop &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sistema Operacional&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;Linguagem de Máquina &lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;Micro-Arquitetura &lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;Dispositivos Físicos &lt;/td&gt; &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;&lt;div&gt;
&lt;b&gt;O que é um Sistema Operacional (SO) ?&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;O SO é um computador virtual, que esconde das aplicações o hardware, fornecendo aos programas uma interface comum.&lt;/li&gt;
&lt;li&gt;O SO gerencia os recursos de hardware, permitindo que estes sejam acessados pelos programas.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Tipos de Sistemas Operacionais&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;De servidores (UNIX (BSD, OpenSolaris)m Windows Server, Linux&lt;/li&gt;
&lt;li&gt;De Multi-Processadores (UNIX, Linux)&lt;/li&gt;
&lt;li&gt;Computadores Pessoais (Windows, MAC OS X, Linux)&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Nova Geração: Android, Meego, Chrome OS (é tudo Linux)&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Tempo Real (VxWorks, IOS, Linux)&lt;/li&gt;
&lt;li&gt;Embarcados (Windows CE, JAVA ME, Linux, Symbian, Iphone OS, Android, Meego&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Conceitos de Sistemas Operacionais e Nossa Ementa&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Processos&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Impasses (Deadlocks)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Gerenciamento de Memória&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Entrada e Saída&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Sistema de Arquivos&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Segurança&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;b&gt;Introdução: Chamadas de sistemas(syscalls)&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
O sistema Operacional separa o modo de operação dos programas em modo kernel e modo usuário. O Hardware inclusive faz esta distinção, se o sistema operacional quiser. Todos os SO querem isto. Deste modo os SO atendem requisições dos programas em espaço de usuário, atuando no espaço de kernel, e retornando ao espaço de usuário. A interface que conecta os dois modos são as chamadas de sistema (ou "ao sistema").&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Exemplo: Lendo dados de um disco&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
No espaço de usuário, faremos algumas ações:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Primeiro, o que o programa faz&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;1 - Armazena nbytes na pilha (que serão escritos)&lt;/li&gt;
&lt;li&gt;2 - Armazena &amp;amp;buffer na pilha (endereço de buffer)&lt;/li&gt;
&lt;li&gt;3 - Armazena fd na pilha (fd = descritor de arquivo, sua identificação)&lt;/li&gt;
&lt;li&gt;4 - Chama &lt;i&gt;read&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;5 - Incrementa SP (ou limpa a pilha do que não é mais necessário)&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Segundo, o que a chamada a &lt;i&gt;read&lt;/i&gt;&amp;nbsp;faz&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;6 - Coloca o código para &lt;i&gt;read &lt;/i&gt;no registrador&lt;/li&gt;
&lt;li&gt;7 - Trap para o Núcleo&lt;/li&gt;
&lt;li&gt;8 - Retorna a quem chamou&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
No espaço de kernel, outras ações são tomadas:&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;9 - Despacho&lt;/li&gt;
&lt;li&gt;10 - Acesso Físico&lt;/li&gt;
&lt;li&gt;11 - Rotinas de Tratamento da syscall&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Qual é a ordem das ações ?&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Primeiro, temos os passos 1, 2 e 3.&lt;/li&gt;
&lt;li&gt;O Passo 4 chama o passo 6.&lt;/li&gt;
&lt;li&gt;O Passo 7 faz um trap e manda para o kernel a execução, ou seja, vai para 9.&lt;/li&gt;
&lt;li&gt;Os passos 9, 10 e 11, feitos em espaço de kernel, são realizados sequencialmente.&lt;/li&gt;
&lt;li&gt;O kernel retorna para 8, que irá retornar ao programa de usuário, &lt;b&gt;desbloqueando&lt;/b&gt; este, no passo 5.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;b&gt;Quais chamadas de sistema iremos ver neste curso ?&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Muitas. Primeiro as que tratam de processos, porque é o primeiro tópico. Depois as de memória,e assim por diante.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;As chamadas de sistema que usaremos, e as rotinas de biblioteca que as usam, estão em C. Logo, trabalharemos em linguagem C.&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12676946-868651507155134114?l=henriquemarks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://henriquemarks.blogspot.com/feeds/868651507155134114/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12676946&amp;postID=868651507155134114' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/868651507155134114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12676946/posts/default/868651507155134114'/><link rel='alternate' type='text/html' href='http://henriquemarks.blogspot.com/2010/08/sistemas-operacionais-abertos.html' title='Sistemas Operacionais Abertos'/><author><name>Henrique Marks</name><uri>http://www.blogger.com/profile/10936671863343277765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
