Sistemas Operacionais
Trabalho Escolar: Sistemas Operacionais. Pesquise 862.000+ trabalhos acadêmicosPor: Rl28 • 18/7/2014 • 1.159 Palavras (5 Páginas) • 255 Visualizações
Capistrano
Funções do SO
•Gerenciador de recursos
•Fornecer uma alocação ordenada e controlada dos recursos (CPU, memória e dispositivos de E/S);
•Ocultar os detalhes complicados que têm de ser executados;
•Apresentar ao usuário uma máquina mais fácil de usar que o hardware;
•Enfim, ser uma interface entre homem-máquina.
“O usuário não deve usar o SO, ele nem deve notar que o mesmo existe, deve servir apenas como uma base para o usuário executar seus programas”
(Linus Torvalds)
Componentes de um SO
•Um SO não é só um software. Ele contem um ou mais processadores, memória principal, discos, impressoras, teclado, mouse, monitor, interface de rede.
•Além disso, o sistema operacional é composto por um conjunto de softwares que permitem gerir as interacções com o material. Neste conjunto de softwares distinguem-se geralmente os seguintes elementos:
•Núcleo
•Interpretador de comandos
•Sistema de arquivos
Componentes de um SO
•O núcleo (ou kernel) que representa as funções fundamentais do sistema operacional como a gestão da memória, dos processos, dos arquivos, das entradas/saídas principais, e das funcionalidades de comunicação.
•O intérprete de comandos (em inglês shell, ou “concha”) permite a comunicação com o sistema operacional através de uma linguagem de comandos, para permitir ao utilizador pilotar os periféricos ignorando muitas das características do material que utiliza, da gestão dos endereços físicos, etc.
•O sistema de arquivos (em inglês "file system", notado FS), permitindo registar os arquivos numa arborescência.
Abrindo parênteses para o Shell
•Como dito antes, o Kernel é o núcleo do Sistema Operacional. É ele quem conversa com o Hardware indicando o que deve ser feito.
•O Shell é a camada mais acima do Kernel. É a camada que o usuário tem acesso para que ele possa fazer as requisições para o Kernel, para que o Kernel entre em contato com o Hardware. Resumindo, o Shell nada mais é que o interpretador de comandos que transmite ao Kernel o deve ser realizado.
Abrindo parênteses para o Shell
Vale lembrar que existe uma diferença gritante de poder entre os Shells para Windows e os Shells para Linux. O Shell para linux tem muito mais recursos e é onde um administrador de servidores pode trabalhar a maior parte de seu tempo. Pode-se realizar muitas tarefas usando o shell e criando scripts para o mesmo.
Estruturas de SO
•Sistema monolítico
•Sistema de camada
•Micronúcleo
•Máquinas Virtuais
Estruturas de SO
•Sistema monolítico: o sistema operacional é executado como um único programa no modo núcleo. Um conjunto de procedimentos ligados ao núcleo onde cada um pode chamar qualquer outro se este oferecer um recurso que ele necessite. Todos os procedimentos estão visíveis uns aos outros, não existe ocultação de informação.
•É a organização mais simples de um sistema como um conjunto de procedimentos que podem interagir livremente umas com as outras (monoprogramável ou monotarefa).
•Problema: milhares de rotinas sendo chamadas podem levar a dificuldade de compreensão do sistema.
Estruturas de SO
•Sistema monolítico
Estruturas de SO
•Sistemas de camadas
•Divisão do SO em camadas;
•Camada inferior (camada 0) é o hardware;
•Camada superior (camada 5) é a interface de usuário;
•Cada camada usa os serviços da camada inferior (em um nível abaixo);
•Vantagem: modularidade;
Estruturas de SO
•Sistemas de camadas
Estruturas de SO
•Micronúcleo
•Menor número de processos possíveis sendo executados no núcleo do sistema operacional, operações simples são realizadas no modo usuário. Isso se justifica porque erros no modo núcleo podem derrubar o sistema. Um erro no modo usuário pode quebrar aquele componente mas não quebra o sistema.
Estruturas de SO
•Máquinas Virtuais
•Executado diretamente sobre o hardware;
•Implementa a multiprogramação;
•Não são máquinas estendias, são cópias exatas do hardware, inclusive com modo núcleo/usuário, E/S, interrupções, etc;
•Diferentes máquinas virtuais podem executar diferentes sistemas operacionais;
Processos
•Um processo é apenas uma atividade em execução, acompanhado dos valores do contador de programa, dos registradores e das variáveis.
•Analogia para entender o que é um processo: O Confeiteiro é a CPU, a receita do bolo é o programa, e os ingredientes são os dispositivos de entrada e saída. O processo é a atividade do confeiteiro ler a receita, buscar os ingredientes e assar o bolo.
•A ideia principal é que um processo constitui uma atividade. Ele possui programa, entrada, saída e um estado.
Processos
•Os processos sempre estão sendo executados um por vez na CPU, essa troca rápida realizada pela CPU é chamada de multiprogramação. O mecanismo que determina quando a CPU deve parar um processo e servir outro é algoritmo de escalonamento.
Processos
Criação de processos
•Há quatro eventos principais
...