Please enable JavaScript.
Coggle requires JavaScript to display documents.
Sistemas Operacionais
Operando em modo núcleo(Kernel) como uma máquina…
Sistemas Operacionais
Operando em modo núcleo(Kernel) como uma máquina estendida, o SO é responsável não só pela gerência e proteção dos recursos do computador, mas também age como um intermediário entre o usuário e o hardware, abstraindo processos de baixo nível em visualizações mais atraentes e intuitivas.
Estruturas
Monolítico
O sistema operacional roda inteiramente no
modo núcleo. O SO é formado por várias funções que possuem liberdade para chamar algum determinado serviço.
Existe o procedimento principal que chama essas funções utilitárias.
-
Em Camadas
É um sistema monolítico. É dividido em camadas, são elas
- O Operador(Processo que chama funções)
- User Programs
- Input/Output management
- Operator-process comunication
- Memory management
- Processor alocation and multiprograming
Essa abordagem existe para promover uma maior acessibilidade ao SO, possibilitando a sua alteração caso necessário.
- Modularidade
- HIerarquia
- Facilita a adptação e criação a novos ambientes.
Micronúcleo
Cliente-Servidor
Uma evolução do método Micro-núcleo, basicamente abstrai as funcionalidades do SO para um servidor que provêm serviços pro processador além de promover a comunicação entre os processos clientes( que são programas em execução) e os servidores (funções) que rodam no modo usuário.
Se estendermos essa ideia, podemos chegar em um cenário onde o SO roda em máquinas diferentes, sendo de responsabilidade do kernel a comunicação entre os servidores(Provedores) e os clientes(Requisitantes) em diferentes máquinas gerando um sistema distribuído.
Nessa arquitetura, o modo núcleo do SO possui o mínimo de funcionalidades, são elas:
- Escalonamento
- Passagem de mensagens
- Interrupções
todo o restante é convertido em modo usuário.
As vantagens desse método incluem a não exposição, afinal, caso algum problema ocorra em algum processo só é necessário reiniciar o mesmo, deixando o kernel menos exposto.
Um possível custo desse modo é perda de desempenho.
Virtualização
Nessa arquitetura, o objetivo do SO é o de prover várias máquinas virtuais capazes de rodar sistemas diferentes.
-
Podem ter 3 ESTADOS:
- Prontos: Que podem acontecer após a inicialização ou após as necessidades tenham sido satisfeitas.
- Rodando: Ocorre quando o processo está em andamento através do ciclo fetch-decod-execute. Processos que passam do tempo estabelecidos pelo escalonador em um sistema preemptivo são pausados mas voltam para o estado de pronto, esperando sua vez de serem executados de novo.
- Bloqueado, ocorre por alguns motivos, o processo pode ter sido bloqueado pelo SO devido a alguma neceidade de recurso bloqeado, ou algum tipo de interrupção.
Criação
Na criação e no desenvolvimento do processo, ele leva consigo o seu contexto, que basicamente se refrere ao seu conteúdo. Nesse contexto, encontramos:
- ID do processo
- Estado do Processo
- Prioridade
- PC
- Ponteiros da Memória
- Outros Registradores
- I/O Status
- Informações Gerais como tempo de CPU, usuário entre outros.
Podem ser criados a partir de uma "System Call" para a criação de um processo. (um processo chama outro).
Nesse esquema podemos associar a ideia de hierarquia de processos usados em alguns sistemas, ele utiliza a ideia de um processo pai e um processo filho criado por ele
Quando o computador liga, o SO é um programa em execução por si só e é capaz de dar origem a outros processos.
Processos
Abstração do SO para representar um programa em execução. Trás com eles o seu "contexto" que simbolizam o conteúdo e informações que esse processo trás na sua struct, basicamente, as informações que ele precisa para a sua execução.
Interrupções
Mecanismo que permite a CPU para um programa em execução para dar atenção a outro. Essa mudança ocorre através de sinais enviados para ela.
Sua importância está na ideia ganho de tempo e gerenciamento de recursos, por exemplo, imagine que para a execução de um processo, a CPU precise se comunicar com dispositivos de E/S. Sem a interrupção, enquanto aguardamos pela resposta do usuário, a CPU estaria perdendo tempo enão executando outras tarefas.
Assíncronas
Quando chamadas por um dispositivo externo a CPU, elas não dependem das instruções da CPU.
Síncronas
Quando chamadas por um programa em execução. Podem ser geradas pelo hardware caso um programa não tenha como prosseguir.
Multiprogramação
É um conceito que aborda sobre a execução de múltiplos processos aconteceno de forma simuntânea. MEsmo que não haja recurso computacionais suficientes, ocorre um chavemaneto entre processos que dá a cada um, a sua vez de ser executado.
Esse chaveamento é processado pelo Escalonamento que, a partir de uma fila de processos com estado pronto vai chaveando entre eles um por um.