Buscar

atividade de estruturação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Atividade de sala
São Paulo
2021
1. Quais serviços um Sistema Operacional deve oferecer para os programas de aplicação e seus usuários? Comente de forma resumida cada um deles. 
Execução de programas.
Capacidade do sistema de carregar um programa na memória e executá-lo.
Operações de I/O
Uma vez que os programas do usuário não podem executar operações de I/O diretamente, o sistema operacional deve prover alguma forma de execução de tais operações.
Manipulação de Sistemas de arquivos.
Capacidade dos programas gravar criar e apagar arquivos.
Comunicação
Troca de informações entre processos executando tanto no mesmo computador quanto em sistemas diferentes interligados, via rede. Implementando via memória compartilhada ou troca de mensagens.
Detecção de erros
Garantir a correta computação, detectando erros no hardware (Cpu e memória), nos dispositivos de I/O ou em programas de usuário.
Funções adicionais existem não para ajudar o usuário, mas ao invés dessa, para garantir eficiência nas operações do sistema.
Alocação de recursos
Alocar recursos para múltiplos usuários ou para os múltiplos Jobs que estão executando ao mesmo tempo.
Gerenciamento de uso (Accounting).
Manter um registro do computador, em que quantidade e que tipos de recursos.
Proteção
Garantir que todos os acessos aos recursos do sistema sejam controlados.
2. O que é uma chamada de sistema e qual sua importância para a segurança do sistema? Como as chamadas de sistema são utilizadas por um programa? 
Uma chamada de sistema é o mecanismo programático pelo qual um programa de computador solicita um serviço do núcleo do sistema operacional sobre o qual ele está sendo executado. Isto pode incluir serviços relacionados ao hardware, criação e execução de novos processos e comunicação com serviços do núcleo de maneira integral, chamadas do sistema fornecem uma interface essencial entre um processo e o sistema operacional.
Quando a execução de uma chamada de sistema é solicitada, o sistema operacional salva todo o contexto do processo (para continuar mais tarde de onde parou), verifica as permissões envolvidas no pedido e autoriza (se for o caso) o processador a executar o serviço solicitado. Quando o processador termina a execução da chamada de sistema, o sistema operacional retorna o controle para o processo, colocando-o novamente na fila de processos prontos para a execução.
O programador normalmente não utiliza as chamadas de sistema no seu código. Ele utiliza uma função de biblioteca que é transformada em uma ou mais chamadas de sistema quando o código executável é gerado e há necessidade de pedir um serviço ao kernel. Por exemplo, a função printf() da Linguagem C é mapeada na chamada write() para escrever em um arquivo
3. O que são instruções privilegiadas e instruções não privilegiadas? Qual a relação dessas instruções com os modos de acesso? 
Instruções privilegiadas são instruções que só devem ser executadas pelo sistema operacional ou sob sua supervisão, impedindo, assim, a ocorrência de problemas de segurança e integridade do sistema. 
As instruções não-privilegiadas não oferecem risco ao sistema. 
E para poder executar uma instrução privilegiada, é necessário que no processador seja implementado o mecanismo de proteção conhecido como modos de acesso. Existem, basicamente, dois modos de acesso implementados pelos processadores: modo usuário e modokernel.
4. Como um Sistema Operacional pode ser estruturado? Explique cada uma das formas de estruturação.
O sistema operacional pode ser estruturado de acordo com os objetivos do projeto que é a combinação de requisitos, seja pelo usuário, desenvolvedores ou as características do seu funcionamento (monolítico, multiusuário, tempo real etc.) e a implementação da linguagem que eles vão ser escritos. A partir desses objetivos, é escolhido as políticas que vão possibilitar o cumprimento desses requisitos. 
Estrutura Monolítica: formato de desenvolvimento do sistema operacional que é escrito através de um código único de uma coleção de rotinas com funções especificas que se intercomunicam. As rotinas são independentes e trabalham compiladas através de uma biblioteca (linker). Basicamente, podemos afirmar que é um processo único executado em um único espaço, consequentemente, se por acaso tivermos algum bug em uma das rotinas pode ocorrer de derrubar o sistema inteiro. 
Estrutura em Camadas: a organização dos módulos por camadas de forma hierarquia, conforme o seu nível de execução, cada camada tem a sua função bem definida, onde a camada mais baixa (camada 0) é o hardware e a mais alta é de interface com o usuário. Os módulos inferiores oferecem serviços as camadas superiores. 
Estrutura Cliente / Supervisor: Com base no microkernel, tornando o núcleo dos sistemas operacionais menores e mais simples, visando mais agilidade no processamento. Os serviços se dão através de uma estrutura Cliente / Servidor, disponibilizando conjuntos de funções, como: servidor de processos, servidor de arquivos, servidor de memória, entre outros.
A comunicação entre o Cliente e o Servidor feita de forma transparente, o cliente solicita a chamada e o servidor e ele vai em busca da resposta. Basicamente, funções são executadas fora do núcleo que se limita apenas a fazer a comunicação, diferente da estrutura monolítico, aso tenhamos algum bug em um modulo específico, o serviço deixa de funcionar e isso não irá derrubar o sistema inteiro. 
Estrutura Máquina Virtual: sistema construído através de níveis, onde, a camada mais baixa corresponde ao hardware, intermediária é a gerência de máquinas virtuais e por último, a camada superior, destinada a serviços oferecidos a aplicativos do usuário. A camada intermediária é responsável por fornecer uma cópia exata de hardware, modos de acessos, memória, dispositivos de entrada e saída etc. Isso resulta que uma máquina virtual pode executar qualquer sistema operacional capaz de ser executado diretamente pelo hardware.

Outros materiais