PROGRAMANDO UM COMPUTADOR - 1º Técnico em Informática
Sabemos que programar, é elaborar uma sequência de instruções a um computaor. Ao desenvolvermos um "Software" - um programa que será executado em um "PC", estamos efetivamente, desenvolvendo um Programa convertido em uma sequência de instruções que serão executadas pelo sistema do Computador. Quando falamos "em sistemas operacionais," estamos no referindon mais de uma sucessão de passos a serem executados do que propriamente de um Programa. Modernamente,só uma parte de um programa é carregado em cada instante. A parte complementar do programa, espera numa unidade de disco até que seja necessário. Assim, economiza-se espaço de memória.
Os processadores, são os Executores dos Programas no Computador. Sintetizando, diríamos que um Chip é um Processador que executa as instruções de um programa. Esses processadores executam milhões de instruções por segundo conforme estudamos no Bimestre passado.
UM PROCESSO
Processo ou tarefa, é parte de um programa em execução. Todo programa se compõe de várias tarefas, cada uma com um funcionamento especifico, como uma unidade autônoma - talvez se comunicando entre si periodicamente.
FILEIRA,LINHA - A Thread:
Thread é uma parte separada de um processo; logicamente um Processo compõem-se de várias "Threads", todas sendo executadas separadamente. Exemplificando: uma trataria de gráficos na tela, outra da impressão, outra thread trataria do mouse e o teclado. Esse processo tem um bom tempo de resposta em programas de certas complexidades. No momento citaremos o Windows NT com um exemplo de um Sistema Operacional que suporta multi-thread.
SISTEMAS OPERACIONAIS DE MULTI-PROCESSO
Existem Sistemas que executam sómente um único processo, e outros executam múltiplo processos de cada vez. Grande parte dos Computadores estão baseados em um único processador, que só pode executar uma única instrução por vez. Se assim é, como se torna possivel um único processador executar múltiplos processos? Devemos observar, que o processador do Computador, executa um processo por um período curto de tempo, e na sequência muda para o próximo processo, e assim vai contínuamente;lembrem-se que o processo é executado por milhões de instruções por segundo, dando-nos a impressão de execução ao mesmo tempo.
Havendo um sistema de computador que executa mais de um processo de cada vez, algum mecanismo deve ser utilizado para intercalar o tempo de uma tarefa para a outra. Atualmente existem dois métodos principais sendo usados para fazer a troca:
1. Escalonamento por Cooperação - indica que uma tarefa que está sendo executada atualmente deixará voluntáriamente em algum momento o processador e permitirá que outros processos sejam executados;
2. Escalonamento Preemptivo significa que uma tarefa concorrente será interrompida e o processador se dedicará a outro processo em estado de espera.
Obs>: Somente o programa de 32Bits em Windows 95, utiliza escalonamento preemptivo. Os programas de 16 Bits ainda são escalonados cooperativamente, significando que ainda é fácil para um programa de 16bits travar um Computador Windows.
CONTEXTO DE TROCA
Ocorrendo a mudança de um processo para outro (efetuado pelo processador), o seu estado deve ser salvo, pois algum tempo depois, será reiniciado o processo e continuará como se nunca fora interrompido. O próximo processo em espera será ativado. Essa é uma ação que envolve carga nos registradores do processador e na memória, com todos os dados previamente salvos, reiniciando na instrução que seria excutada quando houvesse a última interrupção. A esse processo de mudança é dado o nome de "Troca de Contexto". Ao período de tempo que um processo execute antes de ser trocado é chamado de "Time Slice ou período de quantum."
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário