Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano REVISÃO Professor: Danilo Giacobo Sistema operacional é um conjunto de programas que se encontra entre os softwares aplicativos e o hardware do computador. Software de sistemas abrange todos os programas relacionados com a coordenação de operações do computador, incluindo sistema operacional, compiladores de linguagem de programação e programas de serviço. O kernel (núcleo), grande parte do qual permanece na memória, é residente. O kernel controla todo o sistema operacional e, quando necessário, carrega do disco de armazenamento para a memória programas do sistema operacional não-residentes. O carregamento do sistema operacional para a memória chama-se booting. O sistema operacional tem três funções principais: (1) gerenciar recursos do computador, como a unidade central de processamento, a memória, unidades de disco e impressoras, (2) estabelecer uma interface com o usuário e (3) executar e distribuir serviços para softwares aplicativos. O usuário comunica-se com o sistema operacional por meio da interface com o usuário. Plataforma é uma combinação de hardware de computador com sistema operacional que determina que aplicativo os usuários podem executar em seu sistema. O > e o “C:\>” é um prompt, uma indicação de que o sistema está esperando uma instrução ao computador. Para executar determinado programa do DOS, o usuário deve digitar um comando, um nome que chama um programa específico do DOS. Um importante sistema operacional para PCs é o Microsoft Windows, um software cuja interface gráfica (GUI) é colorida. O Windows exibe imagens coloridas na tela, conhecidas por ícones, e listas denominadas menus; ambas favorecem o processo de apontar e dar um clique com o mouse, um método que agiliza e facilita o uso do computador. Os menus deslizantes desdobram-se como uma persiana quando um item é selecionado na barra de menus. Os menus pop-up surgem a partir de uma seleção na parte inferior da tela ou quando se dá um clique com o botão direito do mouse em qualquer lugar da tela. As versões anteriores do Windows na verdade eram uma camada de software sobre o sistema operacional, denominada ambiente operacional ou shell. O Microsoft Windows 95 é um sistema operacional verdadeiro, não um shell. Um recurso importante é o Plug and Play, um conceito que permite que o computador se autoconfigure quando um novo componente é adicionado. A tecnologia Windows denominada object linking and embedding (OLE) permite a incorporação ou vinculação de documentos. O Windows 98 foi desenvolvido com a mesma base de código do Windows 95, e é semelhante em aparência e na forma como interage com o usuário. Distintivamente, o Windows 98 incorpora o Internet Explorer, um navegador da Web, ao sistema operacional. O Windows Me é o último da série Windows 9x. O Windows NT (que significa “new technology” ou nova tecnologia), destinado principalmente a ambientes corporativos, interligados em rede, tem a mesma aparência do Windows 95, mas foi desenvolvido para obter estabilidade e conta com recursos de segurança muito mais eficientes. O Windows 2000 é a última geração da série NT. O Windows XP substitui tanto os Windows 9x quanto o Windows 2000, atendendo, com um único produto, tanto ao mercado de consumo como ao mercado corporativo de desktops. O Windows CE (de “consumer eletronics” ou eletrônicos de consumo) é um sistema operacional modular baseado no Windows para sistemas embutidos (sistemas incorporados em outros produtos) e outros novos dispositivos digitais. O Mac OS foi introduzido com o computador Macintosh da Apple em 1984. Sua primeira GUI foi um sucesso de vendas. A versão mais recente, o Mac OS X, ainda é considerada a mais fácil de usar por iniciantes. O Unix é um sistema operacional multiusuário, de tempo compartilhado, que executa em todos os tipos de computador. Hoje, esse sistema operacional é comumente usado em servidores de Internet. O Linux é um sistema operacional semelhante ao Unix, oferecido com base no conceito de fonte aberto (open source). Isso significa que é oferecido gratuitamente e não sob o controle de uma empresa em particular. Muitos usuários instalam o Linux em um sistema de boot duplo (dual boot), que possibilita que o usuário escolha entre o Windows e o Linux toda vez que inicia seu PC. O sistema operacional de rede (network operating system), projetado para que os computadores de uma rede compartilhem recursos como discos rígidos e impressoras, suporta compartilhamento de recursos, segurança de dados, diagnóstico e solução de problemas e controle administrativo. Partes do sistema operacional de rede executam no computador servidor, ao passo que outros componentes desse sistema executam nos computadores clientes. A família Windows dos sistemas operacionais de rede iniciou-se com o Windows NT Server e foi atualizada para o Windows 2000 Server. O Windows Server 2003 é uma atualização do Windows 2000 Server, que suporta a plataforma .NET da Microsoft, desenvolvida para facilitar o desenvolvimento e a distribuição de serviços de software na Internet acessíveis por qualquer dispositivo habilitado para a Web. O Netware da Novell é outro sistema operacional de rede popular projetado para o ambiente cliente-servidor. Alocação de recursos é o processo de atribuir recursos do computador a determinados programas para que sejam usados. Multiprocessamento significa que um computador com mais de uma CPU pode executar vários programas simultaneamente, cada um com seu próprio processador. Multiprogramação é a execução de dois ou mais programas no mesmo intervalo de tempo, de maneira concorrente, no mesmo computador. A multiprogramação é controlada por eventos, o que significa que um programa pode usar um recurso em particular (por exemplo, a CPU) para concluir uma determinada atividade (evento) antes de liberar o recurso a outro programa. Na multiprogramação, o sistema operacional utiliza interrupções, que são sinais que suspendem temporariamente a execução de programas específicos. Tempo compartilhado é um caso especial de multiprogramação em que diversas pessoas usam um computador simultaneamente. Esse sistema é controlado pelo tempo; a cada usuário é concedida uma fatia de tempo durante a qual o computador executa suas tarefas, antes de começar a executar as tarefas de outro usuário. Tempo de resposta é o tempo entre a solicitação do usuário e a resposta do computador. Gerenciamento de memória é o processo de alocar memória para os programas e de manter esses programas separados um do outro na memória. Alguns sistemas simplesmente dividem a memória em áreas distintas, às vezes chamadas de partições ou regiões. Cada uma dessas partições pode conter um programa. Computadores de grande porte de uso geral normalmente dividem a memória em uma área de primeiro plano para programas mais prioritários e uma área de segundo plano para programas menos prioritários. Os programas em espera para serem executados são mantidos em filas no disco. Na técnica de gerenciamento de memória denominada armazenamento virtual (ou memória virtual), parte do programa aplicativo é armazenada em disco e levada para a memória somente quando é necessária. Considera-se a memória o armazenamento real; o armazenamento secundário que contém o resto do programa é considerado o armazenamento virtual. O armazenamento virtual pode ser implementado de diversas maneiras. Uma delas é a paginação, que divide um programa em partes de igual tamanho (páginas) que se encaixam perfeitamente em espaços não contíguos da memória (page frames). O sistema operacional controla os locais de página usando uma tabela de páginas semelhante a um índice. Trashing (ultrapaginação) é uma situação em que a CPU gasta todo o seu tempo permutando páginas, que entram e saem da memória real. Em multiprogramação, proteção da memória é um processo do sistema operacional que define os limites de cada programa na memória, impedindo que os programas se destruam ou se modifiquem acidentalmente. O spooling grava temporariamente em um disco todo arquivo que será impresso, em vez de imprimi-lo de imediato. Assim que esse processo é concluído, todos os arquivos apropriados e um programa em particular podem ser impressos totalmente. Programas utilitários (utilitários) são programas que realizam inúmeras tarefas comuns para os usuários. Exemplos incluem os gerenciadores de arquivos, para organizar e gerenciar arquivos de disco em uma estrutura de diretórios, os utilitários de backup e restauração, para facilitar cópias de segurança de arquivos, os utilitários de compactação de arquivos, para reduzir a quantidade de espeço necessária aos arquivos, os desfragmentadores de disco, para reorganizar arquivos de disco em locais contíguos, e drivers de dispositivo, para que o sistema operacional se comunique com periféricos.