Data: 21/06/2019 Sistemas Multiprogramados/multitarefa Este tipo de sistema operacional é uma evolução dos sistemas operacionais monoprogramados/monotarefa. Enquanto os sistemas operacionais mono programados/mono tarefa permitiam apenas a execução de um único programa, uma única tarefa, os sistemas multiprogramados/multitarefas permitem que vários programas sejam executados compartilhando os recursos do computador tais como discos, impressora, memória e processador. Neste sistema enquanto um programa espera uma entrada de dados pelo usuário um outro programa pode estar sendo processado no mesmo intervalo de tempo. Neste caso tanto a memória quanto o processador são compartilhados e o sistema operacional deve gerenciar e controlar este compartilhamento dos recursos de forma segura e protegida. Como existem vários programas sendo executados, várias tarefas, é função do sistema operacional garantir que um programa não afete o outro, permitindo a execução das tarefas de forma independente umas das outras. Por permitir o compartilhamento dos recursos pelas várias tarefas sendo executadas este tipo de sistema operacional possibilita a redução de custos em hardware. Entretanto, os sistemas multiprogramados/multitarefa são de implementação muito mais complexa, por ser necessário o gerenciamento e controle de todas as tarefas em execução e do compartilhamento dos recursos entre as tarefas. Classificação dos sistemas multiprogramados/multitarefa Os sistemas multiprogramados podem ser classificados de duas formas: - Pelo número de usuários que interage com o sistema operacional; - Pela forma como as tarefas são gerenciadas; Número de usuários: os sistemas multiprogramados podem ser: monousuário ou multiusuário. Os sistemas multiprogramados monousuário são usados em computadores pessoais e estações de trabalho onde um usuário pode realizar várias tarefas como acessar a internet, enviar um e-mail e editar um documento. Os sistemas multiprogramados multiusuários são sistemas acessados por vários usuários que interagem com o sistema operacional realizando várias tarefas. É o caso de sistemas UNIX em minicomputadores e super minicomputadores. Com relação a forma como as tarefas são gerenciadas: - Sistemas Bach - Sistemas de Tempo compartilhado ( Time-Sharing ) - Sistemas de Tempo real ( real time ). Um sistema operacional multiprogramado pode suportar uma ou mais formas de gerenciamento de tarefa. Sistemas multiprogramados Bach Foram os primeiros sistemas operacionais multiprogramados e foram utilizados nos anos 60. Neste tipo de sistema os programas, chamados de Jobs, eram armazenados em cartões perfurados. O processamento era feito através de lotes de Jobs enfileirados e processados de forma sequencial, ou seja, um Job só era processado quando Job a sua frente terminava todo seu processamento. Cada Job era responsável por uma única função, como por exemplo o cálculo do salário dos funcionários. Dessa forma, os Jobs eram divididos em blocos de tarefas necessárias para o cálculo dos salários que, ao serem processadas, geravam o resultado final. Um dos objetivos do sistema Batch era reduzir o tempo de setup, tempo entre o fim do processamento de um programa e o início do próximo. Como os Jobs eram colocados enfileirados, após o fim de um Job, o segundo programa era automaticamente iniciado, sem a necessidade da troca manual. Com isso, o sistema Batch não tinha essa interatividade com o usuário. Sistemas multiprogramados de tempo compartilhado Permitem a execução de várias tarefas pela divisão de tempo do uso do processador em pequenos intervalos de tempo denominados fatia de tempo ( time slice ). Os programas em execução se alternam no uso do processador, cada programa em execução fazendo uso de sua fatia de tempo. Desta forma, o tempo de uso do processador é compartilhado pelas várias tarefas em execução pelo sistema operacional. Por este motivo. estes sistemas também são chamados de sistemas time-sharing. Quando um programa termina seu intervalo de tempo de uso do processador ele é interrompido pelo sistema operacional, sendo substituído por outro programa e fica aguardando um novo intervalo de tempo para ter sua execução reiniciada do ponto onde foi interrompido. Este tipo de sistema permite a interação dos usuários com as aplicações através de monitor, teclado e mouse. O sistema operacional possui uma linguagem de comandos que são usados pelo usuário para interagir com o sistema operacional. Os comandos são digitados em uma interface de linha de comandos ou em uma interface gráfica com o uso de mouse. Por permitir a interação entre o usuário com as aplicações, estes sistemas também são conhecidos por sistemas online. Observação: Atualmente todos os sistemas operacionais fazem uso de interface gráfica para interação com o usuário, porém a interface de linha de comandos também está presente em todos os sistemas operacionais. É muito importante conhecer a linguagem de comandos de um sistema operacional e fazer uso da interface de linha de comandos. Sistemas multiprogramados de tempo real Permitem a execução de várias tarefas de acordo com a prioridade de execução de cada tarefa. A diferença entre os sistemas de tempo real e os sistemas de tempo compartilhado é que nos sistemas de tempo compartilhado o tempo de resposta pode variar um pouco sem no entanto comprometer a execução das tarefas, enquanto que nos sistemas de tempo real o tempo de resposta é rigidamente controlado e devem estar dentro de limites de tempo definidos que devem ser obedecidos caso contrário podem ocorrer problemas irreparáveis as aplicações. Costuma-se dizer que estes sistemas tem tempo de resposta quase instantâneo por isso são conhecidos por sistemas de tempo real. Em sistemas de tempo real não existe fatia de tempo para as tarefas em execução. O mecanismo utilizado para o compartilhamento do processador é a prioridade. Uma tarefa permanece em execução pelo processador o tempo que for necessário, até que outra tarefa com maior prioridade seja iniciada. A prioridade de execução das tarefas é determinada pela aplicação e não pelo sistema operacional. Estes sistemas são usados para aplicações críticas como controle de refinarias, controle de tráfego aéreo, sistemas de defesa, usinas termoelétricas, usinas nucleares, etc. Nestes sistemas o tempo de resposta é crítico para o controle de operações. Por isso são usados sistemas de tempo real.
A Vantagem Competitiva Surge Fundamentalmente Do Valor Que Uma Empresa Consegue Criar para Seus Compradores e Que Ultrapassa o Custo de Fabricação Dessa Empresa