\documentclass[12pt]{article}
\usepackage[portuges]{babel} % pacote importado para documentos em portugues
\usepackage[T1]{fontenc} % pacote para caracteres acentuados
\author{Raul H.C. Lopes}
\title{AS0:Especifica\c c\~{a}o}
\newcommand{\SC}{\textbf{Senhor do Castelo}}
\begin{document}
\section{Descri\c c\~{a}o}
Use \emph{spin} para modelar 

Implemente um programa para computar e imprimir todos os primos entre $2$ e $n$,
este \'{u}ltimo dado como argumento de programa. Baseie-se nos exemplos 
apresentados em sala de aula.
\section{Restri\c c\~{o}es}
\begin{itemize}
\item Use um programa com um processo e:
\begin{itemize}
\item 64 threads de filtro, \emph{sieve}, de primos;
\item use uma thread para gera\c c\~{a}o de inteiros a testar e impress\~{a}o de
resultados;
\item use uma thread, \emph{results}, para acumular resultados.
\end{itemize}
\item n\~{a}o haver\'{a} comunica\c c\~{a}o de nenhum \emph{sieve} para
a thread principal;
\item a thread principal receber\'{a} resultados da thread \emph{results};
\item a thread \emph{results} acumular\'{a} os resultados dos testes 
em um buffer limitado a $m$ n\'{u}meros; 
\item as threads dever\~{a}o realizar o m\'{a}ximo de comunica\c c\~{a}o 
ass\'{\i}ncrona poss\'{\i}vel, exibindo assim o mais alto grau poss\'{\i}vel de
paralelismo: isso implica em ter que admitir simultaneamente
v\'{a}rios inteiros a testar na rede de \emph{sieves.}

\end{itemize}
\section{Linguagens}
Implemente seu programa em:
\begin{itemize}
\item \textbf{C/C++}, usando \textbf{pthreads}.
\item \textbf{Ada}: neste caso seu exerc\'{\i}cio ter\'{a} peso dobrado.
\end{itemize}

\section{Input}
Seu programa executar\'{a} com uma linha de comando que fornecer\'{a}
o \'{u}ltimo inteiro a ser testado e o tamanho do buffer da thread 
\emph{results}.

S\'{o} isso, nessa ordem. 

\section{Output}
Seu programa produzir\'{a} uma linha  para cada inteiro testado. Cada linha
ter\'{a} o formato das linhas produzidos por meu programa \\
\centerline{\emph{mxsievethreads.c}}

\section{Grupos}
O trabalho \'{e} estritamente individual.

\section{Deadline}

01/02/02, 18h.
\section{Formato de submis\~{a}o}
Submeta, via e-mail para \textbf{raul@inf.ufes.br},
um \'{u}nico arquivo, denominado\\ 
\centerline{\emph{as0.tar.tgz}}

A seguinte seq\"{u}\^{e}ncia de comandos dever\'{a}, respectivamente,
compilar o programa, execut\'{a}-lo e gerar a documenta\c c\~{a}o em formatos
\emph{pdf} e \emph{html}.

\begin{verbatim}
  > tar -zxf as0.tar.gz
  > make compile
  > make run
  > make doc
\end{verbatim}

\section{C\'{o}digo de \'{e}tica}
S\~{a}o viola\c c\~{o}es do c\'{o}digo de \'{e}tica do \SC, que implicam em
anula\c c\~{a}o do exer\'{\i}cio:
\begin{itemize}
\item violac\~{a}o de especifica\c c\~{o}es de entrada e sa\'{\i}da e de
algoritmo, por menores que sejam;
\item incorre\c c\~{a}o no processo de submiss\~{a}o;

\end{itemize}

\'E considerada como grav\'{\i}ssima viola\c c\~{a}o o mutualismo parasit\'{a}rio, vulgo pl\'{a}gio, que implica na anula\c c\~{a}o da nota de todos os
elementos envolvidos, sem distin\c c\~{a}o de cor, religi\~{a}o, sexo,
ou gostosura.
\end{document}
