<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Matheus Bratfisch &#187; Concorrencia</title>
	<atom:link href="http://www.matbra.com/tag/concorrencia/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.matbra.com</link>
	<description>&#34;Cogito ergo sum&#34;</description>
	<lastBuildDate>Tue, 20 Dec 2011 00:03:21 +0000</lastBuildDate>
	<language>pt</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Exercícios, Programação Concorrente.</title>
		<link>http://www.matbra.com/2009/05/28/exercicios-programacao-concorrente/</link>
		<comments>http://www.matbra.com/2009/05/28/exercicios-programacao-concorrente/#comments</comments>
		<pubDate>Thu, 28 May 2009 03:29:48 +0000</pubDate>
		<dc:creator>Matheus (X-warrior) Bratfisch</dc:creator>
				<category><![CDATA[Aprendendo]]></category>
		<category><![CDATA[Programação Concorrente]]></category>
		<category><![CDATA[Concorrencia]]></category>
		<category><![CDATA[exercicios]]></category>
		<category><![CDATA[fc]]></category>
		<category><![CDATA[Pascal]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[resolução]]></category>

		<guid isPermaLink="false">http://www.matbra.com/?p=280</guid>
		<description><![CDATA[Boa noite, Amanhã tenho uma prova de Programação com o conteúdo, &#8220;monitores&#8221; e &#8220;redes de petri&#8221;. O professor passou uns exercícios para que fossem resolvidos e entregues, dos 5 resolvi apenas 3 até o momento. A linguagem utilizada para implementação dos mesmos foi Pascal FC (uma linguagem para ensinar &#8220;programação concorrente&#8221;). Bom, vamos a resolução [...]]]></description>
			<content:encoded><![CDATA[<p>Boa noite, </p>
<p>Amanhã tenho uma prova de Programação com o conteúdo, &#8220;monitores&#8221; e &#8220;redes de petri&#8221;. O professor passou uns exercícios para que fossem resolvidos e entregues, dos 5 resolvi apenas 3 até o momento. A linguagem utilizada para implementação dos mesmos foi <a href="http://www-users.cs.york.ac.uk/~burns/pf.html" target="_blank">Pascal FC</a> (uma linguagem para ensinar &#8220;programação concorrente&#8221;). Bom, vamos a resolução e enunciados dos mesmos. </p>
<blockquote><p>1) Pombos correio foram treinados para transportar cartas da cidade<br />
A para a cidade B. Na cidade A existe uma Caixa Postal onde as<br />
pessoas depositam suas cartas para que sejam entregues na cidade<br />
B. Os pombos consultam a Cxpostal e retiram sempre 5 cartas para<br />
transportar na sua viagem. Caso não existam ainda 5 cartas na<br />
caixa, o pombo espera até que esse número seja atingido. Na cidade<br />
B existe uma gaiola onde os pombos depositam suas cartas e ficam<br />
presos até que um processo tratador libere-os. O tratador verifica a<br />
gaiola a cada 20 clocks e libera todos os pombos somente se o<br />
número de pombos for maior ou igual a 2. Os pombos somente<br />
transportam cartas de A para B, na sua volta eles voam vazios.<br />
Construa um monitor para controlar a utilização da Caixa Postal<br />
pelas pessoas (13), pombos (6) e o tratador (1).
</p></blockquote>
<p><a href="http://www.matbra.com/?attachment_id=282">Resolução do exercício sobre pombos.</a></p>
<blockquote><p>2) Implemente o problema dos fumantes utilizando monitor. Três<br />
fumantes e um agente sentados em uma mesa. Cada fumante<br />
possui dois dos três ingredientes para se fazer um cigarro: fósforo,<br />
fumo e palha. O agente possui os três e aleatoriamente sorteia um<br />
dos ingredientes. O fumante contemplado faz o seu cigarro, fuma e<br />
libera o agente para fazer novo sorteio.</p></blockquote>
<p><a href="http://www.matbra.com/?attachment_id=283">Resolução do exercício sobre mesa de fumantes.</a></p>
<blockquote><p>3) Processos produtores e consumidores se sincronizam através de<br />
um buffer circular com 5 posições (um array de 5 posições). Um<br />
produtor gera um número aleatório e coloca no buffer caso exista<br />
uma vaga. Um consumidor retira um número do buffer se houver.<br />
Implemente utilizando monitor.</p></blockquote>
<p><a href="http://www.matbra.com/?attachment_id=281">Resolução do exercício sobre sincronização através de array circular.</a></p>
<blockquote><p>4) Suponha um ambiente em que processos compartilham<br />
impressoras. Existem dois tipos de impressora: tipo A e Tipo B.<br />
Existem 3 classes de processos: classe PA que somente utilizam<br />
impressoras do tipo A, classe PB que somente utilizam impressoras<br />
do tipo B e classe PAB que utilizam impressoras de qualquer tipo.<br />
Esses processos, do tipo PAB, têm prioridade sobre os demais<br />
quando não houver impressoras disponíveis. Implemente utilizando<br />
monitor.</p></blockquote>
<p><a href="http://www.matbra.com/?attachment_id=287">Resolução do exercício sobre impressoras.</a></p>
<blockquote><p>5) Implemente o problema da ponte utilizando monitor. Uma ponte,<br />
que separa duas cidades A e B, somente permite tráfego em um<br />
sentido de A para B ou de B para A. Se a ponte estiver vazia pode<br />
ser utilizada por carros de A ou de B. Se um carro de A acessou a<br />
ponte, ela é trancada para os carros de B e todos os carros de A que<br />
desejarem podem também acessar. Quando o último carro que sai<br />
de A para B deixar a ponte, ela deve ser liberada.</p></blockquote>
<p><a href="http://www.matbra.com/?attachment_id=288">Resolução do exercício sobre Ponte.</a></p>
<p><a href="http://www.matbra.com/?attachment_id=290">Lista dos 5 exercícios e sua resolução.</a></p>
<p>UPDATE 1: Exercícios que não estavam resolvidos foram resolvidos e adicionados. Lembro que o professor ainda não entrou uma correção do mesmo, mas testei eles e parece-me tudo ok.Lembrando também que estes exercícios foram disponibilizados aos alunos pelo Professor José Mazzucco Júnior. </p>
<p>Espero que isso seja util a todos,<br />
Matheus</p>
]]></content:encoded>
			<wfw:commentRss>http://www.matbra.com/2009/05/28/exercicios-programacao-concorrente/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rank Sort, Programação Concorrente.</title>
		<link>http://www.matbra.com/2009/05/07/rank-sort-programacao-concorrente/</link>
		<comments>http://www.matbra.com/2009/05/07/rank-sort-programacao-concorrente/#comments</comments>
		<pubDate>Fri, 08 May 2009 01:28:19 +0000</pubDate>
		<dc:creator>Matheus (X-warrior) Bratfisch</dc:creator>
				<category><![CDATA[Pascal]]></category>
		<category><![CDATA[Programação Concorrente]]></category>
		<category><![CDATA[Concorrencia]]></category>
		<category><![CDATA[Pascal FC]]></category>
		<category><![CDATA[Processos]]></category>
		<category><![CDATA[Prova]]></category>
		<category><![CDATA[RankSort]]></category>

		<guid isPermaLink="false">http://www.matbra.com/?p=202</guid>
		<description><![CDATA[Olá, A umas duas semanas atrás tive que fazer uma prova de Programação Concorrente (INE5410), onde eu devia implementar um RankSort com Pascal FC. Nesse problema existe um Vetor que deve ser ordenado por N processos. Bom a implementação do mesmo não é muito complexa para as pessoas que tem noção de semáforos. Após o [...]]]></description>
			<content:encoded><![CDATA[<p>Olá,</p>
<p>A umas duas semanas atrás tive que fazer uma prova de Programação Concorrente (INE5410), onde eu devia implementar um RankSort com Pascal FC. Nesse problema existe um Vetor que deve ser ordenado por N processos. Bom a implementação do mesmo não é muito complexa para as pessoas que tem noção de semáforos. Após o professor Mazzuco corrigir a prova ele nos disponibilizou uma resolução. Irei disponibilizar a mesma pois não tenho a minha solução em mãos, mas ambas as soluções são MUITO parecidas. Adicionei na solução do professor umas mensagens que os processos enviam para o console para termos uma noção melhor do que está acontecendo. </p>
<p>- <a href="http://www.matbra.com/?attachment_id=204">Solução para RankSort em Pascal FC com processos concorrentes</a>.<br />
- <a href="http://www.matbra.com/?attachment_id=203">Editor para Pascal Fc</a> (Infelizmente não achei o mesmo para linux que funcione decentemente, caso você tenha alguma recomendação não hesite em me informar.) </p>
<p>Qualquer duvida ou problema comente,<br />
Matheus</p>
]]></content:encoded>
			<wfw:commentRss>http://www.matbra.com/2009/05/07/rank-sort-programacao-concorrente/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

