Monoprogrammable x sistemas multiprogramáveis
Tese: Monoprogrammable x sistemas multiprogramáveis. Pesquise 862.000+ trabalhos acadêmicosPor: KrogstaD • 31/5/2014 • Tese • 950 Palavras (4 Páginas) • 368 Visualizações
Sistemas Monoprogramáveis x Multiprogramáveis.
Monoprogramáveis
No sistema monoprogramável o que temos é apenas um processo sendo executado de cada vez, somente um programa permanece em memória e a CPU fica dedicada somente a ele, era muito clara a desvantagem deste tipo de sistema, no que diz respeito a limitação de tarefa (uma de cada vez), o que provocava muito desperdício de hardware.
Os sistemas monoprogramáveis estão ligados direto aos primeiros computadores da década de 50 e 60, embora os sistemas operacionais já tivessem evoluído, esse tipo de sistema era bastante usado na plataforma de microcomputadores pessoais devido a baixa capacidade de armazenamento na época.
Multiprogramáveis
O sistema multiprogramável foi criado porque o sistema monoprogramável tinha muitas limitações, com o sistema de multiprogramação pode-se mais de um processo de uma só vez e sem duvida a multiprogramação é uma das coisas mais importantes de um sistema operacional, pois você podendo fazer mais coisas de uma só vez, você aumenta a eficiência com um período de tempo menor.
Interrupções e exceções.
Uma interrupção ou exceção é o evento ocasionado pelo desvio forçado de um fluxo de execução, que pode causar um tipo de evento inesperado, por consequência de um hardware externo ou uma instrução do próprio programa. A diferença entre os dois é dada pelo tipo de evento ocasionado: A interrupção é o fundamento básico da multiprogramação, em cima disso o sistema operacional sincroniza a execução das rotinas, além de controlar dispositivos. É gerada por um sinal externo, ou seja, quanto um dispositivo avisa o processador que alguma operação de entrada ou de saída foi finalizada. Existem dois métodos de rotinas de tratamento de interrupção uma por vetor e outra que utiliza um registrador de status, esses tratamentos ocorrem no final da instrução, quando então a unidade de controle verifica o tipo de ocorrência.
Exceção é um evento síncrono, ou seja, é um resultado previsível e por consequência só podem ocorrer uma vez; interrupção é assíncrona, ou seja, não relacionada com a instrução. Há processadores que não permitem interrupções, porém o mecanismo de tratamento pode ser escrita pelo próprio programador, nesta forma é possível evitar um overflow por exemplo.
Operações de entrada e saída
Nos primeiros sistemas computacionais a comunicação entre o processador e os periféricos era feita através de instruções especificas, executadas pelo próprio processador (Instruções de entrada/saída). Com a utilização do controlador existiam duas maneiras pelas quais o processador se comunicava com os dispositivos E/S primeiro ele sincronizava com o periférico para o inicio da transferência de dados e em seguida o sistema ficava testando o estado do periférico para saber quando a operação acabaria. Na evolução deste modelo permitiu que após o inicio da transferência de dados o processador permanecesse livre para realizar outras tarefas. Com a implementação do mecanismo de interrupção, as operações de E/S ficaram mais eficientes, ao invés do sistema ficar sempre verificando o estado de uma operação pendente, o próprio controlador interrompia o processador para avisar o termino da operação.
Esta forma era eficiente, porém quando havia um grande volume de dados o processador realizava varias intervenções, o que reduzia a eficiência, para isso foi criada a técnica DMA (Direct Memory Acces) que permite que um bloco de dados seja transferido entre a memória principal e dispositivos de E/S sem a intervenção do processador (exceto no inicio e no final da operação). Isso permite que o DMA tenha sua própria memória, eliminando a necessidade dos programas de E/S serem carregados pela memória principal, com esta arquitetura varias funções de E/S pudera, ser controladas com mínima intervenção
...