Sistemas Operacionais Contexto de Hardware
Por: t50san • 1/6/2023 • Resenha • 783 Palavras (4 Páginas) • 85 Visualizações
CONTEXTO DE HARDWARE
Quando se cria um processo é carregado um programa para a memória, é reservado um espaço para armazenar o conteúdo dos registradores da CPU, com o objetivo de voltar àquele processo do ponto que parou.
Espaço para endereçar todas as variáveis que foram declaradas no início da programação. O SO reserva esse espaço na memória principal.
Registradores Gerais: guarda valores de parciais (outros números para fazer a próxima conta)
Registrador PC: contador de programa (Program Counter), armazena o endereço da próxima instrução que o programa vai executar. Ali será dito em que posição de memória está a próxima instrução do programa.
Registrador SP: (step pointer) contador da pilha de coisas pendentes que o processo tem pra fazer. Como se fosse “empilhando” as solicitações, formando uma fila. Vai dizer a posição de memória em que está a primeira pendência que ele vai ter que resolver quando ele for liberado da tarefa atual, vai te dizer qual o topo da pilha.
Registrador de Status: cria um bit, para marcador, para dizer o resultado de um comando (positivo, negativo, nulo). Onde se armazena o resultado da última operação para fazer os desvios da programação. Exemplo um if, while, sair do loop.
[pic 1]
ESPAÇO DE ENDEREÇAMENTO
É onde se armazena as variáveis que foram declaradas quando se iniciou um programa.
A figura abaixo mostra a operação chamada Mudança de Contexto: o momento de transição entre dois processos. Salva os registradores do contexto de Hardware do programa A, e carrega para a CPU os registradores salvos no contexto de hardware do processo B.
[pic 2]
CONTEXTO DE SOFTWARE
Lembrando que se trata de uma estrutura de dados, onde se é criado vários campos. No contexto de software esses campos armazenam 3 tipos de informação:
Identificação: número de identificação do processo (PID – process identification) e o dono do processo (UID – user identification), importante para poder gerenciar as prioridades de uso. Hora de início do processo, para ver se está muito tempo parado, ou se começou agora e “está andando demais”, para gerenciar se vai atender ou mudar o atendimento.
Quotas: são parcelas dos recursos limitados que o sistema tem, tipo memoria buffer tempo de processamento. É o máximo que pode ter para que caiba tudo na memória. Exemplo de informações:
- Nº máximo de arquivos abertos simultaneamente;
- Nº máximo de memória principal e secundária (buffer = um pedaço de memória);
- Nº máximo de operações de entrada e saída pendentes;
- Tamanho máximo do buffer para operações de E/S;
- Nº máximo de processos, subprocessos e threads que podem ser criados
Dependendo do SO essa distribuição de quotas pode ser estática ou dinâmica. Exemplo os SO de plataforma móvel, com menor capacidade de varias coisas inclusive bateria, podem ser muito mais rígidos, estáticos.
Privilégios: dizer o que um programa pode fazer em relação aos demais programas. Basicamente, quem estabelece os privilégios é por quem disparou o processo (UID).
BLOCO DE CONTROLE DO PROCESSO
A estrutura varia de um sistema para outro. Cada processo tem um bloco desse. As informações podem ser visualizadas na saída disparada por linha de comando (gerenciador de tarefas no caso do Windows)
[pic 3]
ESTADO DE CRIAÇÃO > SO carrega o programa para a memória principal para ser executado. Aqui ele cria o bloco de controle de processo.
...