Grátis 80 pág.
Pré-visualização | Página 11 de 17é fundamental para a implementa- ção da multiprogramação? 4. Explique o mecanismo de funcionamento das interrupções. 5. Pesquise sobre o termo traps em sistemas operacionais e em que situa- ções elas ocorrem. 6. O que é DMA e qual a vantagem desta técnica? Um sistema operacional fornece o ambiente no qual os programas são exe- e-Tec BrasilAula 4 – Elementos de hardware e software – Parte II 49 cutados. Esse ambiente é formado por um conjunto de rotinas que oferecem serviços aos usuários, às aplicações e ao próprio sistema. A esse conjunto de rotinas denominamos kernel. A Figura 4.3 nos mostra em que nível se encontra o kernel em um sistema computacional. O kernel é considerado o núcleo do sistema operacional. Aplicativos Utilitários Núcleo do Sistema Operacional Hardware Figura 4.3: Posicionamento do núcleo do sistema operacional em um sistema computacional Fonte: Adaptado de Machado, 2004 As principais funções do núcleo encontradas nos sistemas operacionais são: • Tratamento de interrupções e exceções; • Criação e eliminação de processos e threads; • Sincronização e comunicação entre processos e threads; • Gerência de memória; • Gerência do sistema de arquivos; • Gerência dos dispositivos de entrada e saída; • Suporte a redes locais e distribuídas; • Contabilização do uso do sistema; • Auditoria e segurança do sistema. Sistemas Operacionaise-Tec Brasil 50 Podemos destacar como funções principais do kernel do sistema operacional as quatro gerências: gerência de processos, gerência de memória, gerência de entrada e saída, e gerência de sistema de arquivos. Existem vários pontos de vista pelos quais poderíamos analisar um sistema operacional: • Examinando os serviços oferecidos aos usuários; • Analisando a interface disponibilizada aos usuários e programadores; • Desmontando o sistema em seus componentes mais básicos. Procure enumerar as atividades que você realiza e recursos que você costu- ma utilizar em computadores no seu dia a dia, para depois comparar com os serviços prestados por um sistema operacional, listados ao final desta aula. 4.6. Sistemas em lote Os primeiros computadores eram máquinas dependentes de um operador. Os dispositivos de entrada comuns eram leitoras de cartões e unidades de fita, e os de saída eram impressoras, unidades de fita e perfuradoras de car- tões. O usuário não interagia diretamente com o computador. Em vez disso, ele preparava uma tarefa (job), que consistia no programa, dados e algumas informações de controle sobre a natureza da tarefa (cartões de controle) e o entregava ao operador do computador. Algum tempo depois o resultado do programa podia ser obtido como uma listagem, uma fita, novo pacote de cartões ou uma listagem dos conteúdos dos registradores no caso de erro do programa. O sistema operacional nesses primeiros computadores era bem simples. Sua principal tarefa era transferir controle automaticamente de uma tarefa para a próxima tarefa. O sistema operacional estava sempre residente na memória e executava uma tarefa de cada vez. Para acelerar o processamento, os operadores reuniam as tarefas em lotes com necessidades semelhantes e os executavam no computador como um grupo. Assim os programadores deixavam seus programas com o operador e o operador classificava os programas em lotes com requisitos semelhantes. À medida que o computador ficava disponível, executava outro lote ou batch. O monitor residente foi considerado o primeiro sistema operacional (rudimentar). Era um programa que ficava permanentemente em memória e sua função era transferir a execução de um job para outro. e-Tec BrasilAula 4 – Elementos de hardware e software – Parte II 51 A saída de cada tarefa seria enviada de volta ao programador apropriado. Neste ambiente de execução, a CPU ficava muitas vezes ociosa porque as velocidades dos dispositivos mecânicos de E/S (leitores de cartão) eram intrinsecamente menores do que as dos dispositivos eletrônicos (CPU). Com o tempo, é claro, melhorias na tecnologia e a introdução de discos resultaram em dispositivos de E/S mais rápidos (Silberschatz, Galvin e Gagne, 2000. p. 5). 4.7. Escalonamento de tarefas e multipro- gramação A introdução da tecnologia de disco permitiu que o sistema operacional mantivesse todas as tarefas em um disco, em vez de em uma leitora de car- tões serial. Surge então o conceito de escalonamento de tarefas e posterior- mente de multiprogramação. A multiprogramação aumenta a utilização da CPU, organizando as tarefas de forma que a CPU esteja sempre ocupada. Assim, o SO mantém várias tarefas na memória simultaneamente, todas competindo pelos recursos do computador, conforme Figura 4.4. Programa/TarefaPrograma/Tarefa Programa/Tarefa Programa/Tarefa Memória UCP Dispositivos de E/S Figura 4.4: Sistema multiprogramável ou multitarefa Fonte: Adaptado de Machado, 2004 O sistema operacional escolhe e começa a executar a tarefa carregada na memória. Em alguns momentos a tarefa que está em execução deverá espe- Não é muito comum vermos tarefas sendo executadas em batch. Entretanto, existem alguns procedimentos que guardam bastante semelhança: os processos de backup e recuperação de bancos de dados, bem como o processo de inicialização do Windows. Em ambos os casos uma série de tarefas são executadas de forma automática, em sequência e de forma mais ou menos independente da vontade do usuário. Sistemas Operacionaise-Tec Brasil 52 rar a conclusão de alguma outra tarefa, como uma operação de E/S, que é muito mais lenta. Em um sistema operacional não multiprogramado, a CPU ficaria ociosa. Em um sistema de multiprogramação, o sistema operacional simplesmente passa para outra tarefa e a executa. Quando esta segunda tarefa precisar esperar, a CPU passará para outra tarefa e assim por diante. Por fim, a primeira tarefa terminará a sua operação de E/S e terá a CPU de volta. Neste esquema, a CPU nunca fica ociosa. Todos os jobs, ou tarefas, que entram no sistema são mantidos num pool de jobs (espécie de fila). Esse pool de jobs consiste em todos os processos residentes no disco aguardando alocação da memória principal (espaço na memória). O número de jobs que pode ser mantido simultaneamente na memória principal geralmente é muito menor do que o número de jobs que pode estar no pool de jobs. Se vários jobs estiverem prontos para serem car- regados na memória e se não houver espaço suficiente para todos, o sistema operacional deverá fazer a escolha. Essa tomada de decisão é chamada de escalonamento de tarefas ou de jobs. Os sistemas em batch multiprogramados forneciam um ambiente no qual os vários recursos do sistema, como por exemplo a CPU, memória e dispositivos periféricos, eram utilizados de forma eficaz, mas não permitiam a interação do usuário com o sistema de computação. Tempo compartilhado (time sha- ring) ou multitarefa é uma extensão da multiprogramação: a CPU executa vários jobs alternando entre eles (multiprogramação), mas as trocas ocorrem com tanta frequência que o usuário pode interagir com seu programa como se tivesse uma máquina exclusiva para ele. Assim se permite a comunicação direta entre o usuário e o sistema. Devido a esse tipo de interação, os siste- mas de tempo compartilhado também ficaram conhecidos como sistemas on-line ou de tempo real (real time). O usuário passa instruções ao sistema operacional ou a um programa diretamente, usando o teclado ou um mou- se, e espera por resultados imediatos. O tempo de resposta deve ser curto. Um sistema operacional de tempo compartilhado permite que muitos usu- ários compartilhem o computador ao mesmo tempo. Como cada ação ou O que é trap em sistemas operacionais?Um outro tipo de interrupção são as interrupções síncronas, muitas vezes também chamadas de traps. Traps ocorrem em consequência da instrução sendo executada. Algumas são geradas pelo hardware, para indicar por exemplo overflow em operações aritméticas ou acesso a regiões de memória não permitidas.
Qual a diferença entre interrupção e traps?Diferença essencial entre Trap e Interrupção: Traps são síncronas e Interrupções assíncronas. Traps - acontecem sincronamente porque resultam da execução do próprio programa; Interrupções - podem ser causadas por agentes externos (Ex.: o apertar de uma tecla do teclado). Ocorrência de um evento externo.
Qual é a diferença entre um Trap e uma interrupção qual é o uso de cada uma das funções?A interrupção está relacionada com os dispositivos de hardware, enquanto a instrução trap está relacionada com chamadas de sistema de programas de usuário. Ao contrário do trap, a interrupção não é visível para o programa de usuário. Ambas são exceções, ou seja, ambas desviam a CPU do fluxo de execução atual.
Quais são os tipos de sistemas operacionais?Os sistemas operacionais mais comuns que existem para computadores e que o mercado oferece são: Microsoft Windows, Mac OS X e Linux.. Microsoft Windows. A empresa Microsoft desenvolveu o sistema operacional Windows em meados da década de 80. ... . Mac OS X. Este é o sistema operacional desenvolvido pela Apple Inc. ... . Linux Ubuntu.. |