Enviar pesquisa
Carregar
Sistemas operacionais prof
•
1 gostou
•
267 visualizações
M
Marcelo Gonzaga
Seguir
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 10
Baixar agora
Baixar para ler offline
Recomendados
Ntp 2-cp2011
Ntp 2-cp2011
Campus Party Brasil
Planificacionyorganizacion (COBIT)-milton
Planificacionyorganizacion (COBIT)-milton
miltonllivi
Alvo em movimento
Alvo em movimento
Paulo Ferreira
Festa da unid. kennedy jogos
Festa da unid. kennedy jogos
Joana Darc Tavares
Encuentro zonal suroccidente 2012
Encuentro zonal suroccidente 2012
movimiento20deabril
Act. 2 reconocimiento general_y_de_actores
Act. 2 reconocimiento general_y_de_actores
theindian
Instruções Projeto Final
Instruções Projeto Final
Instituto Faber-Ludens
La composición – campo visual parte 2
La composición – campo visual parte 2
Daniela Fonseca Giraldo
Recomendados
Ntp 2-cp2011
Ntp 2-cp2011
Campus Party Brasil
Planificacionyorganizacion (COBIT)-milton
Planificacionyorganizacion (COBIT)-milton
miltonllivi
Alvo em movimento
Alvo em movimento
Paulo Ferreira
Festa da unid. kennedy jogos
Festa da unid. kennedy jogos
Joana Darc Tavares
Encuentro zonal suroccidente 2012
Encuentro zonal suroccidente 2012
movimiento20deabril
Act. 2 reconocimiento general_y_de_actores
Act. 2 reconocimiento general_y_de_actores
theindian
Instruções Projeto Final
Instruções Projeto Final
Instituto Faber-Ludens
La composición – campo visual parte 2
La composición – campo visual parte 2
Daniela Fonseca Giraldo
Proba
Proba
cris3mf
Curso Tecnicas de Apresentacao: Falar para Liderar
Curso Tecnicas de Apresentacao: Falar para Liderar
Grupo Treinar
Cynthia
Cynthia
Julyvan Hernandez Piña
Resenha 3 - Estudo dos Processos de Comunicação Científica e Tecnológica
Resenha 3 - Estudo dos Processos de Comunicação Científica e Tecnológica
Juliana Gulka
La lectura pp
La lectura pp
Yohana Gutièrrez
Libbey - Glassware
Libbey - Glassware
Nugroho Suwardani
Formatos segunda raquira
Formatos segunda raquira
lilianacpe
Apresentação da Letras d'Ouro
Apresentação da Letras d'Ouro
Letras d'Ouro
Exercicio Mestrado
Exercicio Mestrado
Cynthia Macedo Dias
Ativ03 andrea
Ativ03 andrea
algigg
En torno a la cultura escrita
En torno a la cultura escrita
Michael Virgüez
Presentacion medytronic banco de sangre_(20.09)x
Presentacion medytronic banco de sangre_(20.09)x
qualytechsac
Recife open-2011-apresentacao
Recife open-2011-apresentacao
SquashTennisCenter
Mi primera presentacion
Mi primera presentacion
loree96
Pai 2 - matemática auto instrutivo - professor
Pai 2 - matemática auto instrutivo - professor
Renato Tonay
Cateq pt 27
Cateq pt 27
Cursos Católicos
Seline J. DOS
Seline J. DOS
Jessica Seline
Questinário 1 e 2
Questinário 1 e 2
Raquel Kinupp
Palestra ganeti puppet
Palestra ganeti puppet
Daniel Sobral
Sap – stablility and abstract principle
Sap – stablility and abstract principle
Engenharia de Software Ágil
Ficha de trabalho 2 instalação server 2003
Ficha de trabalho 2 instalação server 2003
maria lopes
Tomada de decisões com xPaaS aplicada ao fantasy game oficial do campeonato b...
Tomada de decisões com xPaaS aplicada ao fantasy game oficial do campeonato b...
Bruno Rossetto Machado
Mais conteúdo relacionado
Destaque
Proba
Proba
cris3mf
Curso Tecnicas de Apresentacao: Falar para Liderar
Curso Tecnicas de Apresentacao: Falar para Liderar
Grupo Treinar
Cynthia
Cynthia
Julyvan Hernandez Piña
Resenha 3 - Estudo dos Processos de Comunicação Científica e Tecnológica
Resenha 3 - Estudo dos Processos de Comunicação Científica e Tecnológica
Juliana Gulka
La lectura pp
La lectura pp
Yohana Gutièrrez
Libbey - Glassware
Libbey - Glassware
Nugroho Suwardani
Formatos segunda raquira
Formatos segunda raquira
lilianacpe
Apresentação da Letras d'Ouro
Apresentação da Letras d'Ouro
Letras d'Ouro
Exercicio Mestrado
Exercicio Mestrado
Cynthia Macedo Dias
Ativ03 andrea
Ativ03 andrea
algigg
En torno a la cultura escrita
En torno a la cultura escrita
Michael Virgüez
Presentacion medytronic banco de sangre_(20.09)x
Presentacion medytronic banco de sangre_(20.09)x
qualytechsac
Recife open-2011-apresentacao
Recife open-2011-apresentacao
SquashTennisCenter
Mi primera presentacion
Mi primera presentacion
loree96
Pai 2 - matemática auto instrutivo - professor
Pai 2 - matemática auto instrutivo - professor
Renato Tonay
Cateq pt 27
Cateq pt 27
Cursos Católicos
Seline J. DOS
Seline J. DOS
Jessica Seline
Destaque
(17)
Proba
Proba
Curso Tecnicas de Apresentacao: Falar para Liderar
Curso Tecnicas de Apresentacao: Falar para Liderar
Cynthia
Cynthia
Resenha 3 - Estudo dos Processos de Comunicação Científica e Tecnológica
Resenha 3 - Estudo dos Processos de Comunicação Científica e Tecnológica
La lectura pp
La lectura pp
Libbey - Glassware
Libbey - Glassware
Formatos segunda raquira
Formatos segunda raquira
Apresentação da Letras d'Ouro
Apresentação da Letras d'Ouro
Exercicio Mestrado
Exercicio Mestrado
Ativ03 andrea
Ativ03 andrea
En torno a la cultura escrita
En torno a la cultura escrita
Presentacion medytronic banco de sangre_(20.09)x
Presentacion medytronic banco de sangre_(20.09)x
Recife open-2011-apresentacao
Recife open-2011-apresentacao
Mi primera presentacion
Mi primera presentacion
Pai 2 - matemática auto instrutivo - professor
Pai 2 - matemática auto instrutivo - professor
Cateq pt 27
Cateq pt 27
Seline J. DOS
Seline J. DOS
Semelhante a Sistemas operacionais prof
Questinário 1 e 2
Questinário 1 e 2
Raquel Kinupp
Palestra ganeti puppet
Palestra ganeti puppet
Daniel Sobral
Sap – stablility and abstract principle
Sap – stablility and abstract principle
Engenharia de Software Ágil
Ficha de trabalho 2 instalação server 2003
Ficha de trabalho 2 instalação server 2003
maria lopes
Tomada de decisões com xPaaS aplicada ao fantasy game oficial do campeonato b...
Tomada de decisões com xPaaS aplicada ao fantasy game oficial do campeonato b...
Bruno Rossetto Machado
Apresentacao Aula02 So
Apresentacao Aula02 So
Humberto Bruno Pontes Silva
Administração de Rede Local
Administração de Rede Local
cymbron
Melhores práticas de planejamento de capacidade aplicadas num projeto de Tran...
Melhores práticas de planejamento de capacidade aplicadas num projeto de Tran...
Joao Galdino Mello de Souza
Mainframe Performance Review
Mainframe Performance Review
Joao Galdino Mello de Souza
Capítulo 16 rsyslog
Capítulo 16 rsyslog
Paulo Kutwak
AULA DE SISTEMAS OPERACIONAIS.pptx
AULA DE SISTEMAS OPERACIONAIS.pptx
ADASVIEIRAArmazmPara
Gerenciamento de configuração com puppet
Gerenciamento de configuração com puppet
Elton Simões
aula sistemas operacionais.pptx
aula sistemas operacionais.pptx
fabio20718
Visualg primeira interação
Visualg primeira interação
Humberto Cepep
Apresentação GT - Digital Preservation
Apresentação GT - Digital Preservation
Roberto Beraldo Chaiben
Puppet overview
Puppet overview
Paulo Henrique Andrade Cardoso
Novidades incríveis do Android em 2023
Novidades incríveis do Android em 2023
Nelson Glauber Leal
Secomp 2018 - DO Ruby ao Elixir
Secomp 2018 - DO Ruby ao Elixir
Rodrigo Long Chen Kashiwakura
Controle de versão com Git
Controle de versão com Git
Vanessa Me Tonini
Apresentacao Aula03 So
Apresentacao Aula03 So
Humberto Bruno Pontes Silva
Semelhante a Sistemas operacionais prof
(20)
Questinário 1 e 2
Questinário 1 e 2
Palestra ganeti puppet
Palestra ganeti puppet
Sap – stablility and abstract principle
Sap – stablility and abstract principle
Ficha de trabalho 2 instalação server 2003
Ficha de trabalho 2 instalação server 2003
Tomada de decisões com xPaaS aplicada ao fantasy game oficial do campeonato b...
Tomada de decisões com xPaaS aplicada ao fantasy game oficial do campeonato b...
Apresentacao Aula02 So
Apresentacao Aula02 So
Administração de Rede Local
Administração de Rede Local
Melhores práticas de planejamento de capacidade aplicadas num projeto de Tran...
Melhores práticas de planejamento de capacidade aplicadas num projeto de Tran...
Mainframe Performance Review
Mainframe Performance Review
Capítulo 16 rsyslog
Capítulo 16 rsyslog
AULA DE SISTEMAS OPERACIONAIS.pptx
AULA DE SISTEMAS OPERACIONAIS.pptx
Gerenciamento de configuração com puppet
Gerenciamento de configuração com puppet
aula sistemas operacionais.pptx
aula sistemas operacionais.pptx
Visualg primeira interação
Visualg primeira interação
Apresentação GT - Digital Preservation
Apresentação GT - Digital Preservation
Puppet overview
Puppet overview
Novidades incríveis do Android em 2023
Novidades incríveis do Android em 2023
Secomp 2018 - DO Ruby ao Elixir
Secomp 2018 - DO Ruby ao Elixir
Controle de versão com Git
Controle de versão com Git
Apresentacao Aula03 So
Apresentacao Aula03 So
Sistemas operacionais prof
1.
Sistemas Operacionais Distribuídos
e de Redes Notas de Aula - 2000/1 Profa. Patrícia Kayser Vargas ¥©§¥£¡ ¨ ¨ ¦ ¤ ¢ É inegável a crescente importância dos ambientes paralelos e distribuídos tanto no meio acadêmico com comercial. O uso de redes locais e da Internet está amplamente difundido mesmo para uso doméstico. Mas para que tais recursos físicos sejam aproveitados da melhor forma possível é preciso fornecer suporte adequado de software. Nesse texto serão discutidos diversos aspectos relacionados ao controle em ambientes distribuídos. Por ambiente distribuído entende-se um conjunto de processadores interligados por uma rede de interconexão e sem memória compartilhada. A ausência de memória compartilhada obriga a uma interação entre processadores de uma forma distinta do ambiente centralizado: ao invés de variáveis ou arquivos compartilhados utiliza-se troca de mensagens. Esse texto apresentará diversos aspectos dos sistemas operacionais distribuídos e de rede, bem como algoritmos distribuídos mais importantes e alguns estudos de caso. Antes de iniciarmos a discussão sobre sistemas operacionais direcionados a ambiente distribuídos, apresentaremos algumas definições possíveis para sistema operacional. As informações apresentadas nesse texto foram compiladas a partir das referências bibliográficas indicadas. Em especial, grande parte dos conceitos podem ser encontrados nos livros do Tanembaum [TAN 92][TAN 95]. Essa compilação não substitui a consulta aos textos originais. Ela serve para apresentar de uma forma mais simples e direta servindo como um roteiro para os alunos da disciplina INF01018 – Sistemas Operacionais Distribuídos e de Redes. E77B976420£'%#! D 1 C A @ 1 8 ( 5 3 1 ) ( $ Não existe uma definição de consenso e incontestável que defina o significado e o objetivo de um sistema operacional. Cada autor apresenta uma definição própria mas das quais pode-se abstrair, se não uma definição de consenso, pelo menos uma aproximação. Apresenta-se abaixo a tradução de algumas definições de importantes autores da área: ``‚V©`©X c€RqB````x©`#But§rRqB``S pf``S `RRBWhBh©f`©0f©WW`§c```BR`9RWVRP §%0F P y w g P X S v Q G s Q P T I a S y w P X S v I s T H Q P T I a I H T i I a P Q P b U Q G g H S Q S X e T X U T d H b S a T G Y S X P U T S Q I HG RfB``W£™`…9``©``–````Bf`B`Wh`R˜R—`W•–`9`B7•‘0”…’ ‘‘'ˆ RR`§f€©`#`©``…fƒ``©`BI b P ‡ d a T U HG i P X S v i X S „ T i b S a T G Y S I y U Q T Y X P i T U T S a X T I ˆ “ˆ F “ ˆˆˆ ‰ b P ‡ † H y P X S v i X S „ H T Q S a X T ``€RB``h`kBujiB`f•`§f```i `Rh©`#`©``ffBf`R©RgfT ©``§fff©`WxP `RRe`RP `RR``RY S T l X P I l T P i Q G s S P I a P Q S H T i S G y Y P X S v i X S „ T S G Y a P X P e P G X † y H y T S X S U I a P Q P I a G a P ‡ a T Rf``•©`us RWU ˆ P Y a S Q X T X P [DEI 90] `…B©``§f…h©x `R…B©`„ `Rp9RB`z ‚`f`Rh0fi—`f•`90f©W`4}```Bf`©RWVfRB§™§qom v ƒ v r x „ ~ p ~ v t s z t v r x r ƒ t n x t s r n ~ v n v y t € u t ~ u n u x € v x w n ~ | { u z v r y u x t w v u n t s pr p n B©``“fƒ`'```h`ŒB`Rt `•—‘`RR`9Wo7•‘0Ž`Œ`hBs §fWV©WŠ‚R©`#`©``ip```B`Wh`Ry v r x „ ~ p ~ n ~ { u ~ v z t s z r ’ n u n ~ x t v x w | ˆ ‰ˆ n ~ t ƒ v r p ‹ w v x w ‰ ˆ t x u ‡ ƒ x u † v t x v ƒ u s ~ w n v Rt `RBRy c‘˜}B`Rt `R“``R˜©`c——xf`©0f©W``B`RR`•˜§©fWw ˆ s z t r r –t t t s z r z t z v y u n x v – t ƒ p u n u x € v x w x u s ~ y t ” t u p p v [SIL 99]
2.
Usuário 1
Usuário 2 Usuário 3 ›š™ ™™ Usuário n Compilador Assembler Editor de texto Sistema de BD Sistema Operacional Hardware do Computador Figura 1.1 – Visão de um Sistema Operacional em ambiente centralizado. •`f¶“R9RµB`f•`R´ BRB`R``©`#But§`°f¤ ```••`ŒB``ut`R¬`p0```BR`©fWVŒ•fB§™§Ÿoœ ¤ ¤ § ¢ ´ ¦ ¢ ž ¢ ¡ ¨ ¢ £ ¡ ¢ © ¤ § ¢ « ³ ¢ ¦ £ ² ¡ ± ¤ ž ¢ ® ž © « ® ¯ ¢ ® ¤ ¡ ¨ « ¨ ¤ § « ª © £ ¨ ¤ § £ ¦ ¢ ¥ ¤ £ ¢ ¡ ž ž ``R§…RB R—t`½¼`RŒV©``9``º—·•fB§™§……rfR´ B`R§ BWVrf•`90f©W©B`R…R`u± R¢ `B·•`« ¤ ® ¨ ¢ ž ¤ ´ ¡ ¢ ¾ ¤ ¤ ¤ § » ¢ ¦ £ ² ® ¦ £ ¹ ¢ ® £ ¢ ¡ ž ž ¤ ¢ ž ¤ ¡ £ © ¥ £ ž £ £ ¦ ¸ ¤ ¦ ¥ ¢ ¦ ¡ ¨ ¢ ¢ § £ ¦ ¡ ¨ £ ©`§f˜`ÅBR—cc˜©`0•§`•¢ `RBfBcÃÂ```BfÁ£ `WÀ`f˜•R¢ §%“…`¥`f``RB`£ Æ ¦ £ ž « ¢ ® © § Ä ± ¢ ¤ ¦ « ¸ ¢ ž » ¡ ¨ ¢ § ±¢ © £ ¨ ¤ § ¡ « ¥ ¤ § £ ¡ ž ž « ¦ £ ¿ ¨ £ § © [CHO 97] •9`cšf`©Ò ”``·```Î `WÀ—R‘`”B©`WrÐ`RÐ`B`Bu›—×R§Š``Wx```Ï R`©RWVÐRB“%§ÊoÇ Î È Ò Ï ØÉ Ô Î Ì Í Ù Ú Ò Ï Ö Ì Ù Ñ È Ï Ó Ï Ö Í Ì Ò Î Ñ Î Ï È Ï Ó Ï Ö Ë Ô Ë ØÍ Ö Ò Í É Í Ö Ï Ñ Õ Î Ô Ë Ó Î Ò Í Ñ Ï Î È Í Ì ÉË É È BR“`§f}˜§f©R``WßRB“%§…`ÞR˜`Ö R·R§'©`#`©`Î Û á Õ Í Ý à É Ù Í Ï É Ï Ò Í Ö Ï Ñ Î È Í Ì ÉË É È Ù È Í Î Ë Ý È Í É Í Ò Î Ü Ö Ò [GOS 91] O S.O. provê meios para o uso apropriado dos recursos de hardware, software e dados durante a operação do sistema computacional. O S.O. não realiza por si só nenhuma função útil. Ele simplesmente provê um no qual cada um dos outros programas pode realizar trabalho £RB…Áâ æ è ç æ å ä ã útil. Mas o que se caracteriza por um trabalho útil? Note que essa definição está relacionada com a visão de usuário. Talvez um forma melhor de expressar essa idéia seja dizer que o S.O. realiza funções básicas a partir das quais outros programas podem realizar tarefas mais complexas. ë é ê 6ýûò ‚…ôßø 07©7£…ô0ñ 7£#ì ê ü ê ì ú í ù ó ò ð ÷ í ö î ò õ ó ò ð ï î í Um S.O provê um ambiente para a execução de programas. Um S.O provê certos serviços para programas e para os usuários desses programas. Os serviços específicos providos irão, logicamente, variar de um S.O para outro, mas existem algumas classes comuns de serviços que podem ser identificas [SIL 99]: • ¡£¡¡£¦¡£¦££¡#þ : o sistema deve ser capaz de carregar um programa na memória e ¨ © ¨ § ¥ ¤ ¢ ÿ executá-lo. O programa deve ser capaz de terminar, tanto normalmente quanto em uma situação não normal (erro). • TRBQ¡H¦F¡D2C¦¡£B¦£98642¦0£¡£¡££¦ : uma operação de E/S pode envolver um arquivo S 3P I G % )E % ( # % ) % $A @ #7 53 1 # ) ( # ' % $ # ! ou um dispositivo de E/S. Para dispositivos específicos, funções especiais são requeridas. Por eficiência e proteção, usualmente os usuários não podem realizar operações de E/S diretamente. • ¡y¦£u£Bpqph¦h¡£¡a¦a¡WU : esse serviço permite que programas leiam e escrevam i f xY b w v V s g V t s r iY i f g f e d V c b ` Y X V em arquivos e arquivos sejam criados e removidos. • ¡£¡ˆF¦¦T€ : serviço implementado para permitir que um processo troque informações com ‰ ‡ †… „ ƒ ‚ outro(s) processo(s). A interação pode ocorrer entre processos da mesma máquina ou entre processos em máquinas distintas ligadas em rede. Essa comunicação pode ser implementada através de memória compartilhada (quando na mesma máquina ou em processadores distintos com memória compartilhada) ou através de troca de mensagens.
3.
•
¡ˆ£•ed¡££•B£T‘ : possíveis erros na CPU, dispositivos de E/S, etc, devem ser de alguma g ˜ f f ’ ’ ™ ˜ — – ” ’“ ’ forma tratados pelo S.O para garantir uma computação correta e consistente. Note que o sistema não precisa necessariamente garantir tolerância a falhas, mas no mínimo detecção. • ¡pˆˆ•ts¦2¡£¡ˆ¡Fjh w k w v u l q r q p k o n m l ki : necessário quando há múltiplos usuários ou múltiplos processos. • ŠFa¦¡ˆ£B£9pa¡£Tx : manutenção do controle de quais usuários usam quanto e quais recursos ‹ ‰ †ˆ‡ † … „ ƒ ƒ ‚€ ~} |{ z y computacionais. Tais informações podem ser utilizadas para cobrar os serviços do usuário (p.ex. um provedor de acesso a Internet) e/ou para acumular estatísticas de uso (p.ex. para planejamento de compra de novos equipamentos). • ¡£•Bˆ4Œ Ž “ ’ ‘ Ž : envolve a garantia de que todos os acessos aos recursos do sistema sejam controlados pelo S.O. Os primeiros serviços estão diretamente ligados ao usuário enquanto as três últimas classes de serviços garantem a execução eficiente do S.O. a¦” –• ¦¦¢9œ¦š¦Fœša— ¤ £ ¡ Ÿ ž ˜ › ™ ˜ Os S.O modernos normalmente são baseados em uma arquitetura formada por um kernel (núcleo).e por serviços. Assim, as funções providas pelo S.O são então estruturadas em duas categorias [CHO 97]: • serviços do sistema: funções de alto nível tal como são vistas pelas aplicações (visão para o usuário de uma máquina estendida); • kernel (núcleo): funções essenciais que são dependentes da arquitetura sob a qual o S.O vai executar (visão do administrador do sistema de um gerenciador de recursos) Em outras palavras, os serviços é o objetivo principal a ser atingido enquanto o kernel é a forma de atingir tal objetivo. serviços Sistema de gerência de Escalona- do sistema arquivos memória mento multiplexação de CPU, tratamento de kernel interupções, , primitivas de ¬££aD¡s£a££¡¥ «ª ¦ §¨ ª ¥ ¦ ©¨ § ¦ sincronização, comunicação entre processos Figura 1.2 – Arquitetura de um SO organizado com kernel e serviços. Um S.O. normalmente tem dois objetivos que são contraditórios: conveniência para o usuário e eficiência. No passado, a eficiência era o aspecto mias importante devido aos altos custos de hardware. Devido a isso, boa parte das teorias de S.O. concentram-se no uso ótimo dos recursos computacionais. É importante porém notar a tendência atual em priorizar a facilidade de uso e a transparência. ¿TÁ¿TB•»²q¹·¶Tp²qh® °  À¾ ½ ¼¯ º ± °¯ ¸ ° µ ´ ³ ± °¯ Definição [TAN 95][TAN 92]: Fp¡¡•ˆÍ¡á£•ˆp¡Üœ¡àÝa¡£¡¡£·¬¡¡F2Ýp¡¡¡F¡ÜÛ¡£2¡Í¡£ˆF¡£ÍT¡ÕÍ¡F¡¡apF•Î¡ÍT£F»y»ÇÅÃ Ó È Ï â Ñ Æ Ñ Ó Ë Ä Ê Ö Ê Ï Ë Ú Ê Ñ ß Æ Ê É Þ Ê Ì Þ Ê Ú Ê Ì Þ È Æ Ê Ï Ó Ì Ë É Ñ Ú Ä Ó Ö Ê Ì Ó Ù Ø Ê × Ó Ö Ë Ä Ñ Ô Ó Ì Ò Ñ Ð È Ï É ÆÈ Ì Ë Ä Ê É ÆÈ Æ Ä ¡¡¡a¡Üå£2£a¡¡ä¡2T¡£Ö Ï Ó Ì ËÉ Ñ Ú Ä Ó Ö Ó ÖÈ Þ ã Ä Ñ Ó Ä Ó
4.
Essa definição implica
hardware formado por máquinas autônomas e software fornecendo a abstração de uma máquina única. Vantagens: • Econômicas: aproveitar máquinas potencialmente ociosas; mais barato vários processadores interconectados do que um supercomputador. • Distribuição inerente: algumas aplicações são distribuídas por natureza. • Tolerância a falhas: em caso de falha de uma máquina, o sistema como um todo pode sobreviver, apresentando apenas uma degradação de desempenho. • Crescimento incremental: o poder computacional pode ser aumentado através da inclusão de novos equipamentos. • Flexibilidade: sistemas distribuídos são mais flexíveis do que máquinas isoladas, por isso muitas vezes são utilizados até mesmo que não se esteja buscando desempenho. É essa flexibilidade que permite que vários usuários compartilhem dados e periféricos. Desvantagens: • Pouco software de alto nível disponível para sistemas distribuídos. • Dificuldades para evitar acesso indevido (segurança). • A rede de interconexão pode causar problemas ou não dar vazão a demanda. a¦æ èç 9¦9¢Dðu4òŠðBî¡œé õí ëö õô ó ë ñ ì ë ïí ì ë ê a¡¦££¡¦p¦¡£ù÷ ú ÿ û þ ø ú ý ü û ú ø • de Localização: os usuários não sabem onde os recursos estão localizados. • de Migração: os recursos podem se mover sem alterar seus nomes. • de Replicação: os usuários não sabem quantas cópias de um recurso existem. • de Concorrência: múltiplos usuários podem compartilhar um recurso automaticamente. • de Paralelismo: atividades podem ocorrer em paralelo sem que o usuário saiba (falta muito ainda para ser atingido). ©¦©¡¦¤¢ ¥ ¨£¨ ¨ § ¥£ Para obter isso, hoje a tendência é construir S.O. baseados em um micro kernel (ao invés de um sistema monolítico com mais performance mas menos flexibilidade). Um microkernel implementa poucas funções, fornecendo em princípio quatro serviços básicos: • Mecanismo de comunicação entre processos • Algum tipo de gerência de memória • Uma pequena parte do escalonamento e gerência de baixo nível de processos • Estrada e saída de baixo nível Outros serviços ( '%©#! $ , ©'E9H9©©EC6A9©642©( I F 8 B 8 G D F D B @ @ 8 7 5 3 1 00 ) , etc) providos por serviços em nível de usuário. HbH¦¦Y©V©RP c a W aU`U X WUT S Q Na teoria, a idéia é que se alguma máquina parar de funcionar, alguma outra máquina pode pegar o trabalho dela. Na prática, existem alguns servidores em diferentes máquinas que precisam estar no ar para que o sistema como um todo funcione.
5.
Existem vários aspectos
relacionados a confiabilidade: • Disponibilidade ( ): se refere a fração de tempo que o sistema está p ¦©©¦©¡©d ifgf h dgf d e funcionando/usável. Pode-se melhorar a disponibilidade através de um projeto que não exija o funcionamento simultâneo de um número substancial de componentes críticos; ou, ainda, através de redundância, isto é, componentes chaves de hardware e software devem ser replicados, de modo que se um deles falhar, os outros estarão aptos a tomar conta da tarefa. • Tolerância a falhas: o que fazer em caso de falha de um servidor? Em geral, sistemas distribuídos podem ser projetados para mascarar falhas, isto é, escondê-las do usuário. Por exemplo, um serviço de arquivos (ou outros serviços quaisquer) pode ser construído com um grupo de servidores cooperantes de tal modo que o usuário não perceba a perda de um ou mais servidores (a não ser, talvez, por perda de desempenho). ¡v'6¡Rq y x w r u t r s r Todos os itens anteriores não devem ser atingidos sacrificando o desempenho. Quando rodar uma determinada aplicação em um sistema distribuído, ele não pode ser pior do que rodar a mesma aplicação em um único processador. Métricas para medir desempenho: • Tempo de resposta • ©4‡H9©6©€ ˆ „ † … „ ƒ ‚ (número de tarefas / tempo) • Utilização do sistema • Quantidade consumida da capacidade da rede Principal problema é o Custo de Comunicação. Para otimizar o desempenho, otimiza-se o número de mensagens. Porém, a melhor forma de obter desempenho é ter várias atividades rodando em paralelo em diferentes processadores, o que implica em enviar muitas mensagens. Para minimizar o problema: considerar a granulosidade: • Tamanho do grão ( %—%•¦©6H‰ ˜ –’ ” “ ’ ‘ ): tempo execução de uma tarefa (grão fino – ©lHi¡©¦b™ ed k j hg f ed – e grão grosso – ). ¦©6Hu%r©©¡m wv o p t s qp o n • Executar tarefas pequenas remotamente não é válido porque o custo adicional ( ©¡©l'¡©x ~ } z | { z y ) de comunicação não compensa o ganho de CPU. • Executar tarefas que envolvam grandes computações ( %—¡¦©6©4¡©©6Hˆ¡…#©©¡ ƒ‰ Ž „ Ž Ž ‚ Œ ‹ „ Š ‰ ‚ ‡† „ ƒ ‚ € ), baixas taxas de interações e poucos dados pode ser mais apropriado. ¥£ ¦©©¦©¡uˆ›©i©¦©¡6’ ¤ ¢¡Ÿ¡ žŸ ž œš ™ ˜ ” ˜—•— – ”• ” “ ‘ Os sistemas distribuídos precisariam se adaptar a possibilidade de termos ambientes com centenas ou milhares de processadores. Para isso, deve-se evitar: • Componentes centralizados. Por exemplo, um único servidor de email para todos os usuários. • Tabelas centralizadas. Por exemplo, uma única relação on-line de telefones. • Algoritmos centralizados. Por exemplo, roteamento de mensagens baseado em informações completas. Deve-se usar algoritmos descentralizados, que possuem as seguintes características: • Nenhuma máquina possui informações completas sobre o estado do sistema. • Máquinas tomam decisões baseadas apenas nas informações disponíveis localmente. • Falha de uma das máquinas não impede o funcionamento do algoritmo.
6.
•
Não há suposições implícitas de que existe um relógio global. ¦¦ ¦§ lY¹¸6E´¤²°2#u©¬ª¨ « ¶ µ · ± ¶ µ ³ « ± « ¯® « © Sistemas distribuídos consistem de várias CPUs interconectadas. No entanto, há várias formas diferentes no qual esse hardware pode estar organizado. Dentre as várias classificações existentes, Flynn propõe uma taxonomia considerando o número de fluxo de instruções e o número de fluxo de dados. • SISD – ©ÌÊH9HÈ©¦¡©6'9ÁH9¦Hº ËÃ Ë É ¿¾ ½ ¼» º ¼ Ç»Ã Æ Å Äà  ¼ À ¿¾ ½ ¼» – fluxo de instruções e dados único é a característica dos uniprocessadores tradicionais; • MIMD – ¦©ßÖ4Ó ©ÏÜ9©¦¡©6¦%9ÁÖ4Ó ©ÏÍ– caracteriza-se por vários processadores ÞÑ Þ Ý ÔÐ ÒÑÐ Î Í Ø × ÛÒÑ Ú Î ÙÑ Ø × Õ ÔÐ ÒÑÐ Î interconectados. Tanembaum [TAN 92] apresenta a seguinte subclassificação, onde os dois primeiros são definidos em relação a organização da memória e os dois últimos em relação a forma de interconexão: • Multiprocessador – máquinas MIMD com memória compartilhada (um único espaço de endereçamento virtual compartilhado por todas as CPU’s). • Multicomputador – máquinas que não possuem memória compartilhada, isto é, cada processador possui sua memória privada. • Barramento – um único cabo, rede, barramento ou outro meio que conecte todas as máquinas. Analogia: TV a cabo. • Switch: existem cabos individuais conectando máquina a máquina, com vários padrões possíveis. Outra classificação: • Fortemente acoplado – ¡¦4‡©ëéç ©Hãà ï îæ í ì ê è æ å ä âá – comunicação rápida entre os processadores (grande número de bits por segundo). • Fracamente acoplado – ¡¦4‡©ë÷õ ¡%9©uð ú óô ù ø ñ ö ô ó ò ñ ñ – atraso para troca de msg entre máquinas é alto. ¦û ýü # §¡©¨§¥£¡ªþ ! ¤ ¢ ¢ ¦¤ ¢ ÿ Com a criação de novas arquiteturas de computadores, surgiram novas demandas de software e, em especial, novas funções exigidas ao S.O. Pode-se considerar como uma boa classificação da evolução dos Sistemas Operacionais a tabela abaixo apresentada em [CHO 97]. Essa tabela apresenta uma comparação entre as características dos S.O modernos:
7.
Tabela 2.1 –
Características dos SO modernos. £)£)'$ 2 10 (% BA9#753 ( @ %8 64 £AG9HG))9)£)£DC 6 ( E48 6F %8 E ( ( £5XW9AT©QI ` Y VUSR P 1º S.O Centralizado Gerenciamento de processos Gerenciamento de Gerenciamento de memória recursos Gerenciamento de E/S Máquina estendida £££G7££G#7ca p i g ibh g fe db Gerenciamento de arquivos 2º S.O de Rede Acesso Remoto Compartilhamento de (network operating system) Troca de Informações recursos £££G7G££#Ax#)G£#q t ƒ y ƒ‚ € y u t w v u ts r Navegação na Rede 3º S.O Distribuído Visão Global do Sistema de Visão de Computador (distributed operating system) arquivos, Único em Sistema Espaço de Nomes de Múltiplos Tempo, Segurança Computadores 7)£)#£§A£H5„ †’ ‘ ‡ … † ‰ˆ ‡ † … Poder Computacional 4º Sistema Cooperativo Aplicações Distribuídas Trabalho Cooperativo 7e£££7£•“ fd ™ — ˜ —– ” Autônomo Abertas e Cooperativas Note que as classificações de sistemas operacionais apresentadas acima também são apresentadas em [TAN 95][TAN 92], com exceção do último tipo, que pode ou não ser considerado como um sistema operacional. Entre as diversas gerações dos S.O existe uma diferença com relação ao acoplamento. Por nível de acoplamento ( ) considera-se a medida de quão centralizado ou A7Gx£'g n mlk j i h descentralizado o sistema [CHO 97]. uww{ £uu•zywusrqo }ƒ ‚ t € v ~ } | { t x v t p c‡ †qwx … t … „ t ‰ 1 3 4 2 ˆ SO Centralizado SO Distribuído Sistema SO de Rede Cooperativo Autônomo Figura 2.1 – Classificação dos SO modernos segundo [CHO 97]. Nas próximas seções cada um desses tipos de sistemas operacionais será analisado com um pouco mais de detalhamento. 2.3.1 Sistema Operacional Centralizado Nessa categoria enquadram-se os S.O tradicionais para arquiteturas monoprocessadas que evoluíram de um simples sistema de controle para um sistema multitarefa e multiusário. Alguns autores [CHO 97] incluem nessa classificação também o suporte para arquitetura multiprocessada enquanto outros [TAN 95] consideram esse tipo de suporte como um tipo especial de sistema operacional (sistema operacional multiprocessado ou ou ). AGuœ›™AGG£H)x•£u#x)£# 7G£DŠ ” Š “ ” š” ˜ —Ž – “ ‘ ‘ ” ” “ ’ ‘ ŽŒ ‹ Q ž ¡ Ÿ O MOS é definido como um sistema com compartilhamento de tempo em multiprocessador. Nessa classe de sistemas operacionais, a comunicação e compartilhamento de recursos é feita via memória compartilhada ou interrupções. Como características principais destaca-se: • Sistema altamente acoplado, com todos os recursos compartilhados internamente; • Comunicação entre processos via memória compartilhada. As principais funções exigidas nesse tipo de sistema estão sumarizadas na tabela abaixo.
8.
Tabela 2.2 –
Funções de Gerenciamento em S.O centralizados. BA9#75°£7))£G£¤¢ ª ³ ²± «¥ ¯ ® ¬ « ª¥ © ¨ § ¦¥ £ §5ABœGA5A)'º¹A£)5´ ®± ¨ ² ³ ª¥ © ¨ ² » ² ¸ ² ¬ « ² · ¶ ¨ µ único usuário interface de usuário, controle de E/S, interrupções, '7)'£¼ ½ À¿ ¾ ½ ›))GH£¼ ÂÁ ½ ¾¿ Á E/S eficiente E/S virtual, AG7££§Ã É ÈÇÆ Å Å Ä programas grandes paginação e segmentação, memória virtual Multiusuários Multiprogramação e tempo compartilhado ( ), AG#££uÏDG7Ê Ô ÓË Ò Ñ Ð Î Í ÌË escalonamento de processos, proteção e controle de acesso, compartilhamento de arquivos e controle de concorrência Multitarefa processamento concorrente, sincronização de processos, tratamento de , comunicação entre processos )œ7££)£Õ Û Ú ÙØ Õ × Ö Dentre os possíveis aprimoramentos na arquitetura cita-se duas abordagens: • Gerenciamento dos módulos: uso de orientação a objetos para facilitar extensões e portabilidade; • Separação dos códigos dependentes de hardware do restante do sistema: uso de kernel mínimo (microkernel), reduzindo a complexidade do porte de uma arquitetura de máquina para outro. Normalmente o código do kernel é monolítico por ser centrado na eficiência. 2.3.2 Sistema operacional de rede ( G££ìXéGç9¥™9àDÜ ï ÝÞ î í ë ê èÞ æâ Ý å ä ãâ á ßÞ Ý ou NOS) Sistema operacional de rede é uma coleção de S.O de computadores conectados a uma rede incorporando módulos para prover acesso a recursos remotos. Com isso tem-se uma implementação barata, porém, exige que o usuário conheça a localização dos recursos requisitados. Um exemplo típico é um conjunto de estações de trabalho interconectados por uma LAN usando UNIX. Pode-se considerar como uma extensão do S.O centralizado para facilitar o compartilhamento de recursos e a troca de informações apresentando as seguintes características: • cada computador possui seu S.O privado; • usuários normalmente estão a par da localização dos seus arquivos e movem eles através de transferências explícitas; • sistema possui pouco ou nenhum recurso de tolerância a falhas. Para facilitar a comunicação e uso dos recursos, pode-se prover um sistema de arquivos globalmente compartilhado acessível a todas as máquinas. O sistema é suportado por uma ou mais máquinas denominadas servidores de arquivos. Assim um N.O.S. típico é uma coleção de S.O. centralizados locais juntamente com servidores de arquivos e impressão comuns. Os recursos são vistos como pertencentes localmente a computadores específicos. A maior parte dos N.O.S apresentam uma API de alto nível como RPC ou socket no serviço de transporte para suportar a comunicação entre os S.O nos diferentes domínios da rede. Com a inclusão dessa camada de transporte, diversas aplicações de rede são suportadas. Os principais tipos são: login remoto, transferência de arquivos, mensagens, navegação na rede e execução remota.
9.
2.3.3 Sistema Operacional
Distribuído ( B£7©£¡ìçóý75§ç75Xö97£óòDð ò ¢ øô ò ÿ þ ñô üõ ø û ú ù øô ÷ ñõô ñ ou DOS) A implementação de um sistema verdadeiramente distribuído tem como objetivo a obtenção de um conjunto de máquinas ligadas em rede que funcionem como um uniprocessador virtual. Um SO Distribuído parece ao usuário como um sistema centralizado comum, mas executa em múltiplas unidades de processamento independentes onde: (1) o uso de múltiplos processadores deve ser invisível (transparente) para o usuário; (2) o usuário vê o sistema como um uniprocessador virtual, não como uma coleção de máquinas distintas conectadas por um subsistema de comunicação. Como principais características tem-se um mecanismo de comunicação global único entre processos, proteção global e gerenciamento homogêneo de processos. O objetivo é fornecer transparência no acesso aos recursos, mas, de fato, não existe um sistema 100% transparente. Assim, o SO Distribuído deve: (1) controlar a alocação de recursos da rede para permitir seu uso no modo mais eficiente; (2) prover ao usuário com um computador virtual conveniente que serve como um ambiente de programação de alto nível; (3) esconder a distribuição dos recursos; (4) prover mecanismos para proteção dos recursos do sistema contra acesso por usuários não autorizados; (5) prover comunicação segura Processos do Usuário Processos do Usuário SO Local ©§£¤ ¨ ¦¨ ¨ ¦ ¥ 321)'%$ ! £ 4 0 ( # Módulo de Comunicação Rede de Computadores Rede de Computadores Figura 2.2 – Diferenciação na arquitetura entre S.O de Rede e S.O Distribuído. A figura acima [GOS 91] mostra de forma esquemática uma comparação da arquitetura NOS e DOS, enquanto a tabela abaixo diferencia os três tipos de SO segundo as principais características. Note que por MOS entende-se um sistema centralizado para ambiente multiprocessado. Tabela 2.3 – Diferenciação entre SO de Rede, SO Distribuído e SO centralizado para ambiente multiprocessado (resumido do quadro de [TAN 92]). A975 @ 8 6 FDB E C FDG E C IH@ E C Se parece com um processador virtual? N S S Todas as máquinas devem rodar o N S S mesmo sistema operacional? Quantas cópias do sistema operacional N N 1
10.
existem? Como a comunicação
é feita? Arquivos Mensagens Memória Compartilhados Compartilhada Há uma única fila de execução? N N S 2.3.4 Sistema Autônomo Cooperativo Um sistema autônomo cooperativo é um sistema de software orientado a serviço de alto nível que requer o suporte de mecanismos de comunicação no qual protocolos de comunicação de alto nível são construídos. Chow [CHO 97] classifica como um tipo de S.O mas isso não é um conceito sedimentado na literatura. Por ser um tipo de sistema com crescente aumento em importância ele será estudado independente de ser ou não um S.O de fato. SSu1tTFragigedSaDSDTDTSP b ` XY R s U q pYh fY c b `Y X W V U Q R Q [CHO 97] CHOW, R.; JOHNSON, T. Tg†g–”)€mkigƒˆT†e™£–g)”ƒ£F‘ƒˆ†£€ƒgT€xv p y f ow ‚ n —l j h y f ‡ y d ˜ — •w “ ‚ ‡ ’ ‰ ‡ … „w ‚ yw Addison-Wesley, 1997. [DEI 90] DEITEL, H. M. …1ˆT†e™£–ˆ)ƒƒ£F™A‘)–ˆƒ££)ƒg£T‘Fq ƒ „ ~t ƒ ‚ € rzt u ~ } | v { r vzt y x w v ut r s r . Addison-Wesley, 1990. [GOS 91] GOSCINSKI, A. …1ˆT†e–†€g)ƒ”†Iƒg££–ƒˆT–D† ˆ ˜ ‰ ˆ — • ” “‡‰ ’ Š ‘ Ž ‰ Œ ‹‡ Š‰ ˆ‡ : The Logical Design. Addison-Wesley, 1991. 913 p. [SIL 99] SILBERSCHATZ et al. Tˆ£ƒ1£)x¨1gT†e££–ˆ)ƒƒ£F™ « ¥ž š › ª © § ¦ ›ž ¥ ¤ ¢ ¡ Ÿž œ › š John Willey, 1999. [TAN 92] TANENBAUM, A. S. Te”gT†e££–ˆ)ƒƒ£F³ƒ1£)H¬ Prentice Hall, 1992. ½ » ¼ ¯¶ » º ¹ ¸ ±·¶ µ ° ¯ ´ ² ± ° ¯ ® [TAN 95] TANENBAUM, A. S. ÏTÀ…1ˆT†e££–g)”ƒ£F³ƒg££–”gT€x¾ Î ÅÁ À Í Ì Ë Ê¿Á É Â Å È Ç Æ ÅÁ Ä Ã¿ ÂÁ À¿ Prentice Hall, 1995.
Baixar agora