Baixe o app para aproveitar ainda mais
Prévia do material em texto
Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 11 Vamos agora entrar no mundo dos Sistemas Operacionais. Vivemos em um presente com muitos sistemas efi cientes e efi cazes. Efi cientes por fazerem o trabalho corretamente e efi cazes por fazerem o trabalho bem feito, com máquinas que têm uma velocidade surpreendente que, muitas vezes, até duvidamos de sua capacidade de processamento. E a cada dia, hora, minuto continua a nos surpreender com o avanço tecnológico e a velocidade dos processadores. Ressaltamos também que tanto para os processadores quanto para os equipamentos periféricos os preços sempre estão em declínio com o passar do tempo. Aula 01 INTRODUÇÃO AOS SISTEMAS OPERACIONAIS Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 12 Com esses avanços, hoje podemos realizar tarefas que antes nunca imaginávamos realizar com nossos computadores pessoais. Podemos editar textos, visualizar fi lmes, fotos, enviar e receber e-mails. Esses equipamentos se tornaram acessíveis a muitas pessoas porque seu custo está sempre em declínio. Durante todo esse tempo, houve também um crescimento no desenvolvimento dos sistemas operacionais. Lembramos do velho DOS até os atuais, sendo o mais conhecido deles aquele com código aberto, o Linux. No início, o sistema operacional era tido como o programa que tinha a tarefa de controlar o hardware. De um tempo para cá os sistemas operacionais estão tendo uma tarefa mais ampla que no passado. Hoje temos sistemas multiprogramáveis ou multitarefa que gerenciam o processamento de cada aplicativo executado pelo usuário. No início, os sistemas operacionais apresentavam uma interface menos amigável, pois todos os comandos tinham que ser digitados, são as linhas de comando. O usuário tinha que ter conhecimento dos comandos para utilizar os sistemas. Hoje, com o avanço dos sistemas operacionais e do hardware, as interfaces fi caram mais amigáveis. Muitos têm a interface gráfi ca orientada ao usuário (GUI graphic user interfaces). Sistemas operacionais são desenvolvidos para que o usuário possa executar programas de forma mais agradável, mais compreensível, ou seja, mais simples e fácil de ser manipulado. Isso dá ao usuário uma visão mais simples e mais ágil de seus aplicativos. No entanto, estamos falando de sistemas, em sua maioria, dos sistemas operacionais utilizados no PC1s. Mas não podemos nos esquecer dos sistemas operacionais dos computadores de grande porte como o MainFrame2. O sistema operacional pode se considerar o programa que tem mais ligação com o hardware. Sim, é ele que tem o maior contato e controle do computador e seus periféricos, trabalha como um gerenciador dos recursos do computador e controla os dispositivos de entrada e saída que são: teclado, mouse, impressora etc. Para a utilização do tempo de processamento de cada job3 nos sistemas operacionais multiprogramável ou multitarefa são os próprios sistemas que fazem o escalonamento do tempo para cada aplicativo ser processado, ou seja, defi ne a quantidade de tempo que cada aplicativo vai ter para ser processado. Os sistemas multiprogramável ou multitarefa podem ser classifi cados em sistemas batch, que têm a característica de não exigir a interação do usuário com a aplicação, em que toda entrada e saída de dados são executadas por algum tipo de memória secundária; os sistema de tempo compartilhado (time-shoring) são os que executam diversos programas a seguir de uma divisão de tempo do processador. Ele divide em pequenos intervalos, que são denominados de fatia de tempo (time-slice). Se a fatia não for sufi ciente para o término da aplicação, o sistema operacional interrompe e substitui por outro. Enquanto fi ca esperando por uma nova fatia de tempo, os sistemas de tempo real (real-time) têm a mesma ideia do sistema 1 PC – Personal computer – Computador Pessoal, computadores de mesa. 2 MAINFRAME – Computador de grande porte, dedicado normalmente ao processamento de um grande volume de informações. 3 Job – Termo utilizado para designar a tarefa submetida ao computador pelo usuário. Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 13 de tempo compartilhado, mas com a ressalva de que nos sistemas de tempo real não existe a fatia de tempo. Um programa utiliza o processador pelo tempo que for necessário ou até que apareça outro mais prioritário. Na próxima fi gura tem um exemplo dos dois tipos de sistema operacional. A fi gura mostra como é um sistema, onde se opera somente uma aplicação e onde se operam várias aplicações multiprogramáveis ou multitarefas. Na multiprogramável é formada uma fi la de aplicativos, e o sistema operacional gerencia por quanto tempo o aplicativo utiliza o processador. Já o sistema monotarefa executa uma tarefa por vez e, quando se tem uma tarefa requerida, de entrada e saída, o processador fi ca totalmente ocioso. Enquanto um sistema gerencia apenas uma aplicação, outro que é multiprogramado gerencia várias aplicações ao mesmo tempo, determinando o tempo de processamento de cada uma das aplicações. Esses sistemas podem ser Sistema Batch, Sistema de tempo compartilhado ou Sistema de tempo real. O sistema operacional é o responsável por resolver problemas de espaço de memória, tempo de CPU4, espaço de armazenamento de arquivo e dispositivos de I/O5. Sistema multiprogramado ou multitarefa são sistemas mais sofi sticados, pois a CPU nunca fi ca ociosa com esse tipo de sistemas. Basicamente, esses sistemas funcionam da seguinte forma: o processador está com uma aplicação sendo executada e outras aplicações estão na fi la esperando para serem processadas. Se por um determinado momento a primeira aplicação tiver que aguardar para que uma tarefa, como uma I/O, seja terminada, nesse momento a CPU é redirecionada para outra aplicação e executa. Se essa aplicação necessitar de alguma espera, então ele redireciona a CPU para uma próxima aplicação, assim a CPU não fi ca ociosa. Os sistemas operacionais são gerados para criar um sistema computacional utilizável. O princípio de um sistema computacional é executar aplicações do usuário. 4CPU – Central processing unit, unidade central de processamento o processador do computador. 5I/O – Input/output, dispositivos de entrada/saída. Figura 1 Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 14 SISTEMAS MULTIPROCESSADORES Até aqui, falamos sobre sistemas que utilizam apenas um processador. Vamos conhecer, agora, os sistemas que possuem vários processadores, conhecidos como Sistemas multiprocessadores, Sistemas paralelos ou sistemas fortemente acoplados, e que compartilham a bus do computador. Existem três vantagens defi nidas nos sistemas multiprocessadores. 1º Throughput aumentado - aumentando o número de processadores, espera-se aumentar a quantidade de trabalho executado em um espaço de tempo menor. 2º Economia de escala - eles podem compartilhar os periféricos, memória de massa e suprimentos de energia, com mais economia do que nos sistemas com um só processador. Se vários programas operam sob o mesmo conjunto de dados, é mais barato armazenar esses dados em um disco, fazendo com que todos os processadores o compartilhem. 3º Confi abilidade aumentada - se as funções podem ser distribuídas aproximadamente entre vários processadores, então, a falha de um processador não interrompe o sistema, apenas o torna mais lento. (Silbershatz, Galvin, Gagne, Ed. LTC – 2001) Esse tipo de sistema permite que vários programas sejam executados ao mesmo tempo e com um grau de segurança maior do que nos outros sistemas, pois com mais de um processador é possível ser mais estável. Há também a vantagem de que um programa seja subdividido em várias partes para serem executadas simultaneamente em mais de um processador. Assim, a aplicação torna-se mais ágil, com um programa sendo executado por vários processadores, como mostra a fi gura 2. Uma das soluções que envolvem mais de um processador é a sua duplicação.Funciona da seguinte maneira: um processador é o principal e o outro é backup7, onde são mantidas duas cópias do processo, uma em cada processador. Durante a execução, é fi xado o estado de cada job, nisso incluindo uma cópia da imagem da memória que é enviada da Figura 2 7Wikipédia – Em informática, cópia de segurança é a cópia de dados de um dispositivo de armazenamento a outro para que possa ser restaurado em caso de perda dos dados originais, o que pode envolver apagamentos acidentais ou corrupção de dado. Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 15 máquina principal para o backup. Caso aconteça uma falha, a cópia de backup é ativada e reinicia o processo do ponto de controle mais próximo. Essa solução torna-se cara pois existe a duplicação de harware. Hoje em dia é comum, no uso de multiprocessadores, o sistema de multiprocessamento simétrico (SMP – symmetric multiprocessing), em que cada processador executa uma cópia do sistema operacional. Se essas cópias se comunicam entre si, o SMP defi ne que todos os processadores são pares e que, diferentemente do sistema chamado assimétrico, ele não tem um relacionamento mestre-escravo entre os processadores. O outro sistema é chamado multiprocessamento assimétrico, em que cada processador executa uma tarefa e um processador mestre controla todo o sistema. Todos os outros processadores procuram esse processador mestre para instruções, ou já possuem tarefas específicas, isto é, já têm as suas tarefas definidas. Este segundo sistema é definido como mestre-escravo, pois um processador mestre define o trabalho para os processadores escravos. Uma das grandes vantagens do sistema multiprocessador é que N processos podem ser executados se existirem N processadores. No entanto, deve-se controlar a E/S para garantir que os dados alcancem o processador apropriado. Outro fator que chama a atenção é que as CPU são separadas e pode acontecer de uma ficar ociosa, enquanto a outra pode ficar sobrecarregada. Isso torna o sistema ineficiente se não forem tomados alguns cuidados. Com o avanço das tecnologias de comunicação e dos computadores pessoais, veio um novo modelo de computação. São as redes de computadores em que cada computador tem o seu sistema independente e interligado através de uma rede telefônica que oferece algum tipo de serviço. Nesse sistema, a informação deixa de ser centralizada e passa a ser distribuída pelos diversos sistemas da rede. Outra forma de sistema distribuído são os clusters8. É quando se tem vários servidores ligados, geralmente em uma rede de alto desempenho. Os computadores pessoais têm tido tantos avanços e se tornado cada vez mais baratos. Com isso, as estruturas de sistemas centralizados têm diminuído, pois com um servidor se pode satisfazer requisitos que são gerados por vários computadores clientes. Assim, interfaces que antes eram manejadas por sistemas centralizados, hoje são cada vez mais realizadas por computadores pessoais. Essa estrutura, ou seja, esse sistema, é chamado de cliente-servidor. De maneira geral, os servidores podem ser de processamento ou de arquivo. No de processamento, o usuário envia uma solicitação para que o servidor processe e envie uma resposta de volta, já no servidor de arquivos, o cliente pode criar atualizar e apagar arquivos. 8Wikipédia – Clusters, ou aglomerado de computadores, é formado por um conjunto de computadores, que utiliza um tipo especial de sistema operacional classifi cado como sistema distribuído. Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 16 Na fi gura abaixo é representado um sistema de cliente-servidor. DMA – DIRECT MEMORY ACCESS Em geral, quando algo começa a ser lido em um driver de terminal de entrada simples, quando o primeiro caráter é recebido pelo computador, o terminal onde está conectado interrompe a CPU, pois quando a solicitação de interrupção chega à CPU está pronta para executá-la. Caso a CPU esteja no meio da execução de uma instrução, a interrupção fi ca pendente até o término da execução da instrução. Se os caracteres forem digitados em um terminal com 9600 baud9 é utilizado o acesso direto à memória (DMA) para dispositivos de I/O (E/S) de alta velocidade. Para serem executados, os programas devem estar na memória principal, memórias também chamadas de memória de acesso randômico ou RAM. É onde o processador tem o acesso direto. Esse acesso é implementado em tecnologia semicondutora, também chamada de DRAM (memória de acesso randômico dinâmica). Mas essa memória tem suas particularidades, a de não ser usada como memória de armazenamento dos arquivos, porque a memória principal é muito pequena para armazenar permanentemente todos os arquivos. Ela é um dispositivo de armazenamento volátil que perde todo o seu conteúdo assim que a energia é desligada. O armazenamento para todos os arquivos dos programas fi ca a cargo da memória secundária, como os discos rígidos ou fi tas magnéticas. Em um sistema operacional existem várias rotinas para servir ao usuário e suas aplicações. Todo esse conjunto de rotina é chamado de kernel, que é o núcleo do sistema operacional, camada mais próxima do hardware. Alguns sistemas operacionais são fornecidos com vários utilitários que não fazem parte do kernel ou do núcleo do sistema, como editores de texto, por exemplo. ATIVIDADES As atividades referentes a esta aula estão disponibilizadas na ferramenta Figura 3 9Baund - Unidade de medida de velocidade de transmissão de dados. Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 17 “Atividades”. Após respondê-las, envie-nas por meio do Portfólio- ferramenta do ambiente de aprendizagem UNIGRAN Virtual. Em caso de dúvidas, utilize as ferramentas apropriadas para se comunicar com o professor. Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 18
Compartilhar