Siatemas Operacionais
Exames: Siatemas Operacionais. Pesquise 862.000+ trabalhos acadêmicosPor: Reynaldo78 • 6/6/2014 • 2.121 Palavras (9 Páginas) • 367 Visualizações
Sistemas operacionais estudos para prova
Sistemas Monoprogramáveis / Monotarefa
Os primeiros Sistemas Operacionais eram voltados tipicamente para a execução de um único programa. Qualquer outra aplicação, para ser executada, deveria aguardar o término do programa corrente. Neste de sistema, o processador, a memória e osperiféricos permanecem exclusivamente dedicados à execução de um único programa.
Os sistemas monoprogramáveis estão diretamente ligados ao surgimento, na década de 50 e 60, dos primeiros computadores. Embora os Sistemas Operacionais já tivessem evoluído com as tecnologias de multitarefa e multiprogramáveis, os sistemas monoprogramáveis voltaram a ser utilizados na plataforma de microcomputadores pessoais e estações de trabalho devido à baixa capacidade de armazenamento destas máquinas, na época.
Era muito clara a desvantagem deste tipo de sistema, no que diz respeito à limitação de tarefas (uma de cada vez), o que provocava um grande desperdício de recursos dehardware.
Comparados a outros sistemas, os monoprogramáveis são de simples implementação, não existindo muita preocupação com problemas decorrentes do compartilhamento de recursos, como memória, processador e disposutuvis de E/S.
Sistemas Multiprogramáveis/Multitarefa
Constituindo-se uma evolução dos sistemas monoprogramáveis, neste tipo de sistema os recursos computacionais são compartilhados entre os diversos usuários e aplicações: enquanto um programa espera por um evento, outros programas podem estar processando neste mesmo intervalo de tempo. Neste caso, podemos observar o compartilhamento da memória e do processador. O sistema operacional se incumbe de gerenciar o acesso concorrente aos seus diversos recursos, como processador, memória e periféricos, de forma ordenada e protegida, entre os diversos programas.
As vantagens do uso deste tipo de sistema são a redução do tempo de resposta das aplicações, além dos custos reduzidos devido ao compartilhamento dos recursos do sistema entre as diferentes aplicações. Apesar de mais eficientes que os monoprogramáveis, os sistemas multiprogramáveis são de implementação muito mais complexa.
Sistemas com Múltiplos processadores
Sistemas com múltiplos processadores são arquiteturas que possuem duas ou mais UCPs interligadas e que funcionam em conjunto na execução de tarefas independentes ou no processamento simultâneo de uma mesma tarefa. Inicialmente, os computadores eram vistos como máquinas sequenciais, em que o processador executava as instruções de um programa uma de cada vez. Com a implementação de sistemas com múltiplos processadores, o conceito de paralelismo pode ser expandido a um nível mais amplo.
Os primeiros sistemas com múltiplos processadores surgiram na década de 1960, com o objetivo principal de acelerar a execução de aplicações que lidavam com um grande volume de cálculos. Por muito tempo, esses sistemas foram utilizados quase que exclusivamente em ambientes acadêmicos e centros de pesquisas voltados para o processamento científico. O mercado corporativo começou realmente a utilizar os sistemas com múltiplos processadores na década de 1980, para melhorar o desempenho de suas aplicações comerciais e reduzir o tempo de resposta dos usuários interativos. Posteriormente, as empresas reconheceram também nesse tipo de sistema uma maneira de aumentar a confiabilidade, a escalabilidade e a disponibilidade, além da possibilidade do balanceamento de carga de suas aplicações. Atualmente, a maioria dos servidores de banco de dados, servidores de arquivos e servidores Web utiliza sistemas com múltiplos processadores. Além disso, sistemas com múltiplos processadores estão sendo utilizados em estações de trabalho e, até mesmo, em computadores pessoais. Isso foi possível devido à redução de custo dessas arquiteturas e à evolução dos sistemas operacionais, que passaram a oferecer suporte a múltiplos processadores.
Sistemas Fortemente Acoplados:
Nos sistemas fortemente acoplados ( tightly coupled) existem vários processadores compartilhando um única memória e gerenciados por um único Sistema Operacional. Múltiplos processadores permitem que vários programas sejam executados ao mesmo tempo , ou que um programa seja dividido em sub-programas , para a execução simultânea em mais de um processador. Desta forma é possível aumentar a capacidade de computação de um sistema, adicionando novos processadores com um custo muito inferior em relação a aquisição de novos computadores."
Linux e os Windows Server são "fortemente acoplados.
Sistemas Fracamente Acoplados
Os sistemas fracamente acoplados (loosely coupled) caracterizam-se por possuir dois ou mais sistemas computacionais conectados através de linhas de comunicação. Cada sistema funciona de forma independente, possuindo seu próprio sistema operacional e gerenciando seus próprios recursos, como UCP, memória e dispositivos de entrada/saída. Em função destas características, os sistemas fracamente acoplados também são conhecidos como multicomputadores. Neste modelo, cada sistema computacional também pode ser formado por um ou mais processadores.
Até meados da década de 1980, as aplicações eram tipicamente centralizadas em sistemas de grande porte, com um ou mais processadores. Neste tipo de configuração, os usuários utilizam terminais não inteligentes conectados a linhas seriais dedicadas ou linhas telefônicas públicas para a comunicação interativa com esses sistemas. No modelo centralizado, os terminais não tem capacidade de processamento. Sempre que um usuário deseja alguma tarefa, o pedido é encaminhado ao sistema, que realiza o processamento e retorna uma resposta, utilizando as linhas de comunicação.
Em relação a processos acesse esse arquivo
http://www.inf.ufpr.br/wagner/so/processos+threads.4pp.pdf
Especificação de Concorrência em Programas
• Primeira notação para especificação da concorrência: FORK e JOIN
o FORK – Inicia a execução de outro programa concorrentemente
o JOIN – O programa chamador espera o outro programa terminar para continuar o processamento
• Implementação
...