Sistemas Operacionais (Capítulo 3) INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. 2. 3. 4. 5. Definições Classificações CPU Memória Utilitários Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto Definições Classificações CPU Memória Utilitários O que se espera de um sistema de computação? •Execução de programas de usuários •Permitir a solução de problemas Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 4 Definições Classificações CPU Memória Utilitários O que se espera de um sistema de computação? •Execução de programas de usuários •Permitir a solução de problemas Sistema Operacional (SO) é um programa colocado entre o hardware do computador e os programas dos usuários de forma a atingir esses dois objetivos. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 5 Definições Classificações CPU Memória Utilitários Sistema Operacional: Conceito •Um programa que controla a execução de programas aplicativos •Interface entre aplicativos e hardware Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 6 Definições Classificações CPU Memória Utilitários Objetivos do Sistema Operacional • Tornar mais conveniente a utilização de um computador – “Esconder” detalhes internos de funcionamento • Tornar mais eficiente a utilização de um computador – Gerenciamento “justo” dos recursos do sistema • Facilitar a evolução do sistema – Desenvolvimento, teste e atualização de novas facilidades Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 7 Definições Classificações CPU Memória Utilitários Componentes do Sistema Operacional O SO é um sistema muito complexo, que é dividido em partes menores para simplificação. Cada uma dessas partes deve ser uma porção bem delineada do sistema. Nem todos os SO têm a mesma estrutura, no entanto, compartilham a meta de dar suporte aos seguintes componentes. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 8 Definições Classificações CPU Memória Utilitários Componentes do Sistema Operacional •Gerência de processos •Gerência de memória principal •Gerência de arquivos •Gerência do sistema I/O •Gerência de armazenamento secundário •Redes •Sistema de Proteção •Sistema interpretador de comandos Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 9 Definições Classificações CPU Memória Utilitários Kernel (Núcleo) • Gerencia o sistema operacional. • Carregado do disco rígido para a memória quando o computador é inicializado. Booting refere-se a iniciar o computador. • Carrega do armazenamento em disco outros programas do sistema operacional, quando necessário. • Outros programas são chamados de não-residentes. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 10 Definições Classificações CPU Memória Utilitários Sistemas Operacionais para Computadores Pessoais Plataforma: combinação de hardware de computador e software de sistema operacional. Wintel (Microsoft Windows que roda em um PC baseado em Intel) é a mais comum. Plataformas Comuns: MS-DOS Windows MAC OS Unix Linux Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 11 Definições Classificações CPU Memória Utilitários MS-DOS • Usa uma interface de linha de comando. •A tela apresenta prompts ao usuário. •O usuário digita comandos. •Amplamente substituído pelas interfaces gráficas. •Não é amigável (user-friendly). Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 12 Definições Classificações CPU Memória Utilitários Microsoft Windows •Iniciou-se como um ambiente operacional para o MS-DOS. Não era um sistema operacional completo; necessitava do MSDOS. • Usa uma interface gráfica. Os usuários podem usar os comandos e a interface do DOS. • Agora é uma família completa de sistemas operacionais. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 13 Definições Classificações CPU Memória Utilitários Ambiente Operacional MS-DOS • Windows 3.1 • Uma camada adicionada “por cima” do DOS. •Separa o sistema operacional do usuário. •Torna o sistema operacional mais fácil de usar. Denomina-se shell. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 14 Definições Classificações CPU Memória Utilitários Interface Gráfica O usuário dá um clique em um ícone para executar tarefas. O menu Iniciar no canto inferior esquerdo abre programas. Usa menus para ativar comandos. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 15 Definições Classificações CPU Memória Utilitários Recursos do Windows Nomes de arquivo extensos (até 255 caracteres). Plug and Play: Torna mais fácil a instalação de componentes de hardware. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 16 Definições Classificações CPU Memória Utilitários A Família Windows Windows 9x Windows 95 Windows 98 Windows Millennium Edition (ME) Mercado corporativo Windows NT Windows 2000 Windows 2003 Windows 2008 Windows XP (Vista e 7) Windows CE Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 17 Definições Classificações CPU Memória Utilitários Windows 9x Serve ao mercado doméstico e de consumo. Não é mais um shell, mas um sistema operacional independente. Iniciou-se com o Windows 95. Geração seguinte: Windows 98 Windows ME Muitas melhorias em relação ao Windows 3.1. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 18 Definições Classificações CPU Memória Utilitários Melhorias do Windows 98 Capacidades para navegação na Internet/intranet. Suporte para hardware como DVD e multimídia. Suporte para unidades de disco de enorme capacidade. Assistentes: software passo a passo para instalar, configurar e usar software. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 19 Definições Classificações CPU Memória Utilitários Melhorias do Windows Me Suporte para multimídia: Media Player, edição de vídeo. Suporte para redes domésticas. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 20 Definições Classificações CPU Memória Utilitários Mercado Corporativo Windows NT NT é a sigla de “new technology” – nova tecnologia. Windows 2000 Windows 2003 Windows 2008 Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 21 Definições Classificações CPU Memória Utilitários Windows NT A Área de Trabalho tem a aparência do Windows 98 e age como ele. Destina-se a ambientes corporativos, ligados em rede. Projetado para garantir escalabilidade (a capacidade de suportar muitos usuários). Segurança mais rígida. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 22 Definições Classificações CPU Memória Utilitários Windows 2000 A última geração do Windows NT. Um computador “serve” a muitos usuários. Você se identifica e o sistema sabe suas preferências. Você obtém “sua” área de trabalho e arquivos, independentemente de qual PC usa para acessar a rede. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 23 Definições Classificações CPU Memória Utilitários Windows XP Reúne em um único produto as versões corporativas e aquelas destinadas ao consumidor do Windows. Possui a versão doméstica (Home) e a profissional (Professional). Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 24 Definições Classificações CPU Memória Utilitários Melhorias do Windows XP •Melhor interface com o usuário: •Área de trabalho muito mais clara e desobstruída. •Mais ícones no menu Iniciar redesenhado. •Melhor suporte para multimídia. •Mais personalização. •Suporte para múltiplos usuários •Suporte e proteção para a Internet. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 25 Definições Classificações CPU Memória Utilitários Windows CE Versão em menor escala do Windows 9x: Projetado para funcionar em máquinas com telas pequenas e, se for o caso, com armazenamento pequeno. Usado em Pocket PCs. Usado em sistemas embutidos. Dispositivos computadorizados integrados em outros produtos; ou seja, robôs. O CE .NET suporta a plataforma .NET. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 26 Definições Classificações CPU Memória Utilitários MAC OS Projetado para o computador Macintosh. Primeira GUI bem-sucedida comercialmente. Serviu como modelo para o Windows e outros produtos GUI desenvolvidos a partir de então. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 27 Definições Classificações CPU Memória Utilitários UNIX •Desenvolvido em 1971 para ser usado no minicomputador DEC. • Sistema baseado em caracteres com interface de linha de comando. • Não é ligado a nenhuma família de processadores. •Roda praticamente em qualquer tipo de sistema (PC, mainframe, estação de trabalho) de qualquer fabricante. • Principal sistema operacional em uso em servidores de Internet. •Manipula facilmente muitos usuários ao mesmo tempo. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 28 Definições Classificações CPU Memória Utilitários Linux •Foi desenvolvido pelo finlandês Linus Torvalds, inspirado no sistema Minix •Usa interface de linha de comando. •Muitas companhias criaram uma GUI para funcionar com o Linux. • Conceito de fonte aberta. •O código-fonte é livre. •Usuários podem baixar (download), modificar e distribuir o software. • Mais estável do que o Windows. • Aplicativos relativamente escassos???. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 29 Definições Classificações CPU Memória Utilitários Sistemas Operacionais para Redes Sistema Operacional de Rede – Network operating system (NOS): •Manipula funções de rede. •Faz parecer que os recursos rodam nos computadores clientes. •Sistemas comuns. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 30 Definições Classificações CPU Memória Utilitários Funções de Rede •Compartilhar recursos (discos rígidos e impressoras). • Segurança de dados. • Diagnóstico e solução de problemas (troubleshooting). • Controle administrativo. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 31 Definições Classificações CPU Memória Utilitários Sistemas Operacionais de Rede Windows NT Server Windows 2000 Server Windows 2003 Server Windows 2008 Server Windows .NET Server Novell Netware Unix Linux Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 32 Definições Classificações CPU Memória Utilitários Compartilhando a CPU Multiprocessamento Multiprogramação Tempo compartilhado Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 33 Definições Classificações CPU Memória Utilitários Multiprocessamento O uso de um computador potente com múltiplas CPUs. Múltiplos programas rodam simultaneamente. Cada um é executado em seu próprio processador. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 34 Definições Classificações CPU Memória Utilitários Multiprogramação Dois ou mais programas executados concorrentemente. Os programas se alternam na utilização da CPU. Baseada em eventos. • Uma interrupção suspende o processamento para a execução de um outro programa. permitir • Depois que o segundo programa é executado, o sistema operacional retorna a CPU a outro programa. Geralmente é usada em programas em lote que não exigem entrada do usuário. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 35 Definições Classificações CPU Memória Utilitários Tempo Compartilhado Os programas se alternam na utilização da CPU. Baseado no tempo. A cada usuário é designada uma fatia de tempo (fração de segundo). A CPU trabalha somente nas tarefas desse usuário durante sua fatia de tempo. Tempo de resposta: o tempo entre o pedido digitado e a resposta do computador. Tipicamente, é usado em aplicações com muitos usuários. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 36 Definições Classificações CPU Memória Utilitários Compartilhando Memória Gerenciamento da memória Divide a memória Usa armazenamento virtual Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 37 Definições Classificações CPU Memória Utilitários Gerenciamento da Memória •Divide a memória em partições distintas. • Aloca memória para programas. • Mantém os programas mutuamente separados. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 38 Definições Classificações CPU Memória Utilitários Primeiro Plano e Segundo Plano Primeiro plano: para programas com alta prioridade, que receberão mais tempo de CPU. Segundo plano: para programas com menor prioridade, que receberão menos tempo de CPU Os programas que aguardam para ser executados são colocados em filas, baseando-se em sua prioridade. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 39 Definições Classificações CPU Memória Utilitários Armazenamento Virtual Os programas que estão atualmente em execução são armazenados em disco. Partes do programa são levadas para a memória conforme a necessidade. Minimiza a quantidade de memória necessária. Pode ser implementado por meio de paginação. Divide a memória em páginas pequenas, de tamanho fixo. A tabela de páginas (page table) controla as localizações na memória. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 40 Definições Classificações CPU Memória Utilitários Compartilhando Recursos de Armazenamento •Controla a localização dos arquivos. •Responde a comandos para manipular arquivos. • Controla pedidos de entrada e saída de arquivos •Processa-os na ordem em que são recebidos. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 41 Definições Classificações CPU Memória Utilitários Compartilhando Recursos de Impressão Spooling: o programa escreve uma linha em um arquivo em disco em vez de enviá-la diretamente a uma impressora. Quando o arquivo é concluído, é colocado numa fila. O arquivo é impresso quando a impressora se torna disponível. Permite a um programa concluir a execução muito mais rapidamente. Escrever em disco é muito mais rápido do que escrever em uma impressora. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 42 Definições Classificações CPU Memória Utilitários Programas Utilitários Executam tarefas secundárias. Exemplos: Gerenciador de arquivos Compactação de arquivos Outros Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 43 Definições Classificações CPU Memória Utilitários Gerenciador de Arquivos Armazena arquivos em uma estrutura de diretórios hierárquica. O Windows usa o Windows Explorer. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 44 Definições Classificações CPU Memória Utilitários Compactação de Arquivos Reduz a quantidade de espaço que um arquivo requer. Faz o arquivo ocupar menos espaço em disco. Toma menos tempo para transmitir por meio de linhas de comunicação. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 45 Definições Classificações CPU Memória Utilitários Outros Programas Utilitários Backup e Restauração: Backup: faz cópias de discos e armazena-as seguro. Restauração: restaura arquivos de backups. em um lugar Desfragmentador de disco: reorganiza o disco a fim de que todos os arquivos sejam armazenados em localizações contíguas. Driver de dispositivo: manipula comandos para dispositivos, como, por exemplo, impressoras e dispositivos de armazenamento. Univasf – Engenharia de Computação - INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO - Prof.: Rosalvo Neto 46