Diferença entre multiprogramação e sistemas de compartilhamento de tempo

Sistemas de multiprogramação vs tempo compartilhado

Multiprogramação é a alocação de mais de um programa simultâneo em um sistema de computador e seus recursos. A multiprogramação permite o uso eficaz da CPU, permitindo que vários usuários usem a CPU e os dispositivos de E / S com eficiência. A multiprogramação garante que a CPU sempre tenha algo a ser executado, aumentando assim a utilização da CPU. Por outro lado, o compartilhamento de tempo é o compartilhamento de recursos de computação entre vários usuários ao mesmo tempo. Como isso permitirá que um grande número de usuários trabalhe em um único sistema de computador ao mesmo tempo, reduziria o custo de fornecer recursos de computação.

O que é o sistema de multiprogramação?

A multiprogramação é a troca rápida de CPU entre vários programas. Um programa geralmente é composto de várias tarefas. Uma tarefa geralmente termina com alguma solicitação para mover dados, o que exigiria a execução de algumas operações de E / S. A multitarefa costumava ser feita para manter a CPU ocupada, enquanto o programa atualmente em execução está executando operações de E / S. Comparado a outras instruções de execução, as operações de E / S são extremamente lentas. Mesmo que um programa contenha um número muito pequeno de operações de E / S, a maior parte do tempo gasto no programa é gasta nessas operações de E / S. Portanto, usar esse tempo ocioso e permitir que outro programa utilize a CPU naquele momento aumentará a utilização da CPU. A multiprogramação foi desenvolvida inicialmente no final da década de 1950 como um recurso dos sistemas operacionais e foi usada pela primeira vez na computação de mainframe. Com a introdução das tecnologias de memória virtual e máquina virtual, o uso da multiprogramação foi aprimorado.

O que é o sistema de compartilhamento de tempo?

O compartilhamento de tempo, que foi introduzido na década de 1960, é o compartilhamento de recursos de computação entre vários usuários ao mesmo tempo. Nos sistemas de compartilhamento de tempo, vários terminais são conectados a um único servidor dedicado com sua própria CPU. Ações / comandos executados pelo sistema operacional de um sistema de compartilhamento de tempo têm um período de tempo muito curto. Portanto, a CPU é atribuída aos usuários nos terminais por um curto período de tempo; assim, um usuário em um terminal fica com a sensação de que ela possui uma CPU dedicada atrás do terminal. O curto período de tempo em que um comando é executado em um sistema de compartilhamento de tempo é chamado de intervalo de tempo ou quantum de tempo. Com o desenvolvimento da Internet, os sistemas de compartilhamento de tempo tornaram-se mais populares, já que os farms de servidores caros podiam hospedar um número muito grande de clientes compartilhando os mesmos recursos. Como os sites operam principalmente em rajadas de atividade seguidas de períodos de inatividade, o tempo de inatividade de um cliente pode ser usado efetivamente por outro, sem que nenhum deles perceba o atraso.

Qual é a diferença entre o sistema de multiprogramação e o sistema de compartilhamento de tempo?

A principal diferença entre a multiprogramação e o compartilhamento de tempo é que a multiprogramação é a utilização efetiva do tempo da CPU, permitindo que vários programas usem a CPU ao mesmo tempo, mas o compartilhamento de tempo é o compartilhamento de uma instalação de computação por vários usuários que desejam usar a mesma instalação ao mesmo tempo. Cada usuário em um sistema de compartilhamento de tempo obtém seu próprio terminal e tem a sensação de que está usando a CPU sozinha. Na verdade, os sistemas de compartilhamento de tempo usam o conceito de multiprogramação para compartilhar o tempo da CPU entre vários usuários ao mesmo tempo.