? Desde o advento da computação moderna , os processadores tiveram de gerir os comandos de vários programas ao mesmo tempo. O gerente de processo emprega algoritmos para melhor horário que programas executar e em que momento. Com a introdução do Hyper-Threading da Intel , gestão de processos alterado. Gerentes de processo deve usar algoritmos que levam dois núcleos de processador abstratas em consideração , em vez de um contexto de processo único . Sistemas Multi- programação
Nos primórdios da computação , sistemas correu programas um de cada vez , através de entrada do programa manual ou por meio de sistemas de lote que corriam programas um após o outro em uma seqüência. Com a invenção do estável , a memória de acesso rápido , multi- programação foi criado. Multi- programação permite que os desenvolvedores têm vários programas em execução que residem na memória principal, com processadores capazes de recuperar código desses programas para executar em um determinado momento . Com vários programas na memória , o computador não está preso a uma rotina definida como no processamento em lote, mas é capaz de escolher e determinar o que os programas sejam executados com base em comandos do programador .
Processo Agendamento
Com vários programas na memória , processadores poderia, teoricamente, executar vários programas ao mesmo tempo . Um único processador pode executar apenas um único comando de cada vez . Para executar vários programas ao mesmo tempo, os interruptores de processador de controle a partir de um programa para outro várias vezes por segundo para fazer parecer como se os programas são executados simultaneamente. Para gerenciar o contexto múltiplo alterna entre programas , algoritmos de gestão de processos foram desenvolvidos para controlar os programas que tem acesso ao processador em um determinado momento .
Hyper Threading
para permitir que os processos a correr em verdadeiras condições simultâneos sem a necessidade de processo de mudança , os engenheiros desenvolveram processadores que foram divididos em sub- processadores. Cada sub- processador pode executar um thread de execução . Apesar de apenas um núcleo de processamento existe, hyper-threading permite que uma camada de abstração para interagir com o software, para que os processos agem como se existem dois núcleos. Isso permite que duas threads para executar , um de cada núcleo abstrato, em detrimento da velocidade do processador.
Agendamento Hiper Execução Tópico
Cada segmento tem sua própria programação, pois cada thread usa trocas de contexto interno entre os processos executados . Hyper-Threading engenheiros para reconsiderar gestores de processos em termos de tópicos hiper forçado. Hyper- threads compartilham o processador , por isso novos programadores podem fazer melhor , tendo os dois segmentos em conta. Escalonadores pode evitar dois memória partilha processo diferente. Contextos Hyper-Threading forçar os gestores do processo de considerar duas linhas de contexto de mudança , em vez de um.