Lista de Exercicios de Sistemas Operacionais
Por: SonSolimar • 24/7/2018 • 2.156 Palavras (9 Páginas) • 1.429 Visualizações
...
A desvantagem dessa linguagem é a limitação a apenas dois caracteres, 0 ou 1, o que torna as instruções extremamente extensas e difíceis de fazer, além da dificuldade de encontrar e corrigir algum erro. Sem contar que para se programar em código de máquina, deve-se obter os códigos de instruções do processador utilizado, contendo opcodes, operandos e formatos de cada instrução. Por esse motivo, foi criada uma linguagem de programação chamada linguagem de montagem (Assembly Language), composta de códigos mnemônicos que, do ponto de vista técnico, é tão próxima do processador quanto o código de máquina, mas é humanamente mais fácil de se compreender uma vez que seus códigos são geralmente acrônimos do inglês. Por exemplo ´mov´ de mover, ´rep´ de repetição e assim por diante.
- O que é multiprogramação? Cite duas razões para se ter multiprogramação?
Multiprogramação é manter mais de um programa em execução simultaneamente ou vários programas usando o mesmo recurso.
As razões pelo qual é mais vantajoso usar a multiprogramação é que o tempo de utilização da CPU sobe para até 90%, diferente dos 30% do sistema monoprogramavel. A memória principal também é utilizada de forma mais eficiente, pois existe vários programas residentes se revezando na utilização do processador.
- Há várias metas de projeto na construção de um sistema operacional; por exemplo, utilização de recursos, oportunidade, robustez etc. Dê um exemplo de duas metas de projeto que possam ser contraditórias.
Ser fácil de projetar, implementar e manter e livre de erros. Ser confiável e flexível.
- Qual a finalidade de uma chamada de sistema em um sistema operacional?
As chamadas de sistemas são funções (interfaces) usadas pelos aplicativos para solicitar a execução de algum serviço ao kernel do sistema operacional. Por isso, as chamadas de sistemas são instruções com maior privilégio quando comparadas às outras instruções. Elas são a forma que os programas solicitam serviços ao sistema operacional. Fornecem uma interface de programação para os serviços fornecidos pelo SO.
As chamadas de sistema permitem que processos em nível usuário solicitem serviços do sistema operacional.
- Considere um sistema de computador que tem memória cache, memória principal (RAM) e disco. O sistema operacional usa memória virtual. São necessários 2ns para acessar uma palavra a partir da cache, 10ns para acessar uma palavra a partir da RAM e 10ms para acessar uma palavra a partir do disco. Se a taxa de acerto da cache é de 95% e a da memória principal (após uma falta de cache) é de 99%, qual é o tempo médio de acesso a uma palavra?
2ns = 2×10-9 _ cache
10ns = 10 ×10-9 _ RAM
10ms = 10 ×10-6 _ disco
Tmédio = 0.95 × 2×10-9 + 0.99×10×10-9 = 0,00000118 = 118×10⁻⁸s
- Imagine que um arquivo de 10MB esteja armazenado em um disco na mesma trilha (trilha#:50) em setores consecutivos. O braço do disco está situado sobre a trilha de número 100. Quanto tempo é necessário para recuperar esse arquivo a partir do disco? Suponha que a transferência do braço de um cilindro a outro leve cerca de 1ms e cerca de 5ms para que o setor onde o início do arquivo está armazenado faça a rotação sob a cabeça. Além disso, suponha que a leitura ocorra a uma taxa de 100MB/s.
10MB / (100MB/s) = 0,1s + 5ms = 0,1s + 0,005s = 0,105s
- Como a computação interativa e a melhoria que causou no tempo de retorno aumentaram a produtividade do programador?
O tempo entre a submissão de um job e o retorno de seus resultados foi reduzido de horas ou dias para minutos ou até segundos, o que habilitava os programadores a entrar, editar e compilar programas interativamente até eliminar seus erros. O programador não precisava mais esperar horas ou dias para corrigir os erros mais simples. Podia entrar com o programa, fazer a compilação, receber uma lista de erros de sintaxe, corrigi-los imediatamente, recompilar e continuar até o programa estar livre de erros de sintaxe. Então ele podia ser executado, depurado, corrigido e concluído com economias de tempo semelhantes.
- Como a tecnologia orientada a objeto afetou os sistemas operacionais?
Tornou mais rápidas as atividades de programação e manutenção de sistemas de informação; pois tem caráter unificador: trata todas as etapas do desenvolvimento de sistemas e ambientes sob uma única abordagem;
Principais Vantagens: Reusabilidade de código, Escalabilidade de aplicações, Mantenabilidade, apropriação.
A tecnologia orientada a objetos tem por meta prover uma base onde aplicações, geradas por diferentes linguagens de programação, possam compartilhar objetos que estejam distribuídos numa rede de máquinas heterogêneas. Cabe ao SO prover os meios de acesso entre estes objetos, permitindo o desenvolvimento de sistemas modulares com baixo acoplamento entre módulos.
Sistemas operacionais de uso genérico, monolíticos e com vasta funcionalidade não são apropriados para uso em sistemas embarcados que tipicamente possuem recursos computacionais bem limitados. A tendência nestes casos é a utilização de sistemas operacionais adaptados à arquitetura, à plataforma de hardware e ao domínio da aplicação, para prover apenas a funcionalidade requerida e a máxima eficiência no uso de recursos. A orientação a objetos provê a adaptabilidade necessária, por meio da herança e do polimorfismo, bem como a modularidade e o encapsulamento, incentivando a coesão e reduzindo o acoplamento.
- Cite alguns dos benefícios do desenvolvimento de software livre.
Software livre garante as liberdades dos usuários: estudar e modificar software, pela disponibilidade do código fonte, bem como a liberdade de copiar e distribuir.
Benefícios: concedem aos usuários a liberdade de controle na execução e adaptação a sua computação e processamento de dados às suas necessidades (concessão plena liberdade de controle e independência, através da disponibilidade de código fonte para análise e alterações); bem como permitindo-lhes a liberdade social, para ser capaz de cooperar ativamente
...