como os sistemas operacionais funcionam

Todas as informações necessárias para manter o controle de um processo quando a comutação é mantida em um pacote de dados chamado de bloco de controle de processo. O bloco de controle do processo normalmente contém:

  • Um número de ID que identifica o processo
  • Ponteiros para os locais em que o programa e seus dados para o tratamento e a última ocorreu
  • Registo conteúdo
  • Estados de vários sinalizadores e parâmetros
  • Ponteiros para os limites superiores e inferiores de memória necessária para o processo de
  • Uma lista de arquivos abertos pelo processo
  • A prioridade do processo
  • O status de todos os dispositivos de e/S necessários para o processo de

a Cada processo tem um status associado a ela. Muitos processos não consomem tempo de CPU até que obtenham algum tipo de entrada. Por exemplo, um processo pode estar esperando por uma tecla do Usuário. Enquanto ele está esperando pela tecla keystroke, ele não usa nenhum tempo CPU. Enquanto espera, é “suspenso”. Quando a tecla keystroke chega, o SO muda seu status. Quando o status do processo muda, de pendente para ativo, por exemplo, ou de suspenso para correr, a informação no bloco de controle do processo deve ser usada como os dados em qualquer outro programa para executar diretamente a parte de comutação de tarefas do sistema operacional.

anúncio

Este processo de troca acontece sem interferência direta do Usuário, e cada processo recebe ciclos CPU suficientes para realizar a sua tarefa em uma quantidade razoável de tempo. Problemas podem começar se o usuário tentar ter muitos processos funcionando ao mesmo tempo. O próprio sistema operacional requer alguns ciclos de CPU para realizar a poupança e troca de todos os registros, filas e pilhas dos processos de Aplicação. Se processos suficientes forem iniciados, e se o sistema operacional não tiver sido cuidadosamente projetado, o sistema pode começar a usar a grande maioria de seus ciclos de CPU disponíveis para trocar entre processos em vez de executar processos. Quando isso acontece, é chamado de thrashing, e geralmente requer algum tipo de intervenção direta do Usuário para parar os processos e trazer ordem de volta ao sistema.

este conteúdo não é compatível com este dispositivo.

este conteúdo não é compatível com este dispositivo.

uma maneira que os designers do sistema operacional reduzem a chance de bater é reduzindo a necessidade de novos processos para executar várias tarefas. Alguns sistemas operacionais permitem um “processo-lite”, chamado de thread, que pode lidar com todo o trabalho intensivo de CPU de um processo normal, mas geralmente não lida com os vários tipos de I/O e não estabelece estruturas que exigem o extenso bloco de controle de processo de um processo regular. Um processo pode iniciar muitos threads ou outros processos, mas um thread não pode iniciar um processo.

até agora, toda a programação que discutimos tem a ver com uma única CPU. Em um sistema com duas ou mais CPUs, o sistema operacional deve dividir a carga de trabalho entre as CPUs, tentando equilibrar as demandas dos processos necessários com os ciclos disponíveis nas diferentes CPUs. Sistemas operacionais assimétricos usam uma CPU para suas próprias necessidades e dividem os processos de aplicação entre as CPUs restantes. Sistemas operacionais simétricos se dividem entre os vários CPUs, equilibrando demanda versus disponibilidade de CPU, mesmo quando o próprio sistema operacional é tudo o que está funcionando.

Deixe uma resposta

O seu endereço de email não será publicado.