Sistemas operacionais

Disponível somente no TrabalhosFeitos
  • Páginas : 20 (4761 palavras )
  • Download(s) : 0
  • Publicado : 28 de fevereiro de 2013
Ler documento completo
Amostra do texto
Sistemas Operacionais III - Comunicação entre Tarefas ∗†
Prof. Carlos Alberto Maziero DAInf UTFPR http://dainf.ct.utfpr.edu.br/∼maziero 18 de novembro de 2011

Copyright (c) 2006 Carlos Alberto Maziero. É garantida a permissão para copiar, distribuir e/ou modificar este documento sob os termos da Licença de Documentação Livre GNU (GNU Free Documentation License), Versão 1.2 ou qualquer versãoposterior publicada pela Free Software Foundation. A licença está disponível em http://www.gnu.org/licenses/gfdl.txt. † Este texto foi produzido usando exclusivamente software livre: Sistema Operacional Linux (distriA buições Fedora e Ubuntu), compilador de texto L TEX 2ε , gerenciador de referências BibTeX, editor gráfico Inkscape, criadores de gráficos GNUPlot e GraphViz e processador PS/PDFGhostScript, entre outros.



c prof. Carlos Maziero

SUMÁRIO – 2

Sumário
1 2 3 Objetivos Escopo da comunicação Características dos mecanismos de comunicação 3.1 Comunicação direta ou indireta . . . . . . . . 3.2 Sincronismo . . . . . . . . . . . . . . . . . . . 3.3 Formato de envio . . . . . . . . . . . . . . . . 3.4 Capacidade dos canais . . . . . . . . . . . . . 3.5 Confiabilidade doscanais . . . . . . . . . . . 3.6 Número de participantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4 4 5 5 7 8 9 10 11 11 14 15

4

Exemplos de mecanismos de comunicação 4.1 Filas de mensagens UNIX . . . . . . . . . . . . .. . . . . . . . . . . . . . 4.2 Pipes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Memória compartilhada . . . . . . . . . . . . . . . . . . . . . . . . . . . .

c prof. Carlos Maziero

Objetivos – 3

Resumo Muitas implementações de sistemas complexos são estruturadas como várias tarefas inter-dependentes, que cooperam entre si para atingir os objetivosda aplicação, como por exemplo em um navegador Web. Para que as várias tarefas que compõem uma aplicação possam cooperar, elas precisam comunicar informações umas às outras e coordenar suas atividades, para garantir que os resultados obtidos sejam coerentes. Este módulo apresenta os principais conceitos, problemas e soluções referentes à comunicação entre tarefas.

1

Objetivos

Nem sempreum programa sequencial é a melhor solução para um determinado problema. Muitas vezes, as implementações são estruturadas na forma de várias tarefas inter-dependentes que cooperam entre si para atingir os objetivos da aplicação, como por exemplo em um navegador Web. Existem várias razões para justificar a construção de sistemas baseados em tarefas cooperantes, entre as quais podem ser citadas:Atender vários usuários simultâneos : um servidor de banco de dados ou de e-mail completamente sequencial atenderia um único cliente por vez, gerando atrasos intoleráveis para os demais clientes. Por isso, servidores de rede são implementados com vários processos ou threads, para atender simultaneamente todos os usuários conectados. Uso de computadores multi-processador : um programa sequencial executaum único fluxo de instruções por vez, não importando o número de processadores presentes no hardware. Para aumentar a velocidade de execução de uma aplicação, esta deve ser “quebrada” em várias tarefas cooperantes, que poderão ser escalonadas simultaneamente nos processadores disponíveis. Modularidade : um sistema muito grande e complexo pode ser melhor organizado dividindo suas atribuições emmódulos sob a responsabilidade de tarefas interdependentes. Cada módulo tem suas próprias responsabilidades e coopera com os demais módulos quando necessário. Sistemas de interface gráfica, como os projetos Gnome [Gnome, 2005] e KDE [KDE, 2005], são geralmente construídos dessa forma. Construção de aplicações interativas : navegadores Web, editores de texto e jogos são exemplos de aplicações com alta...
tracking img