Baixe o app para aproveitar ainda mais
Prévia do material em texto
U F P A - P P G E E – L P R A D - L IN C Universidade Federal do Pará Sistemas Operacionais Prof. Diego Cardoso diego@ufpa.br dlisboacardoso@gmail.com mailto:diego@ufpa.br U F P A - P P G E E – L P R A D - L IN C Ementa Sistemas Operacionais (Operating Systems) Disciplina(s) de base: Arquitetura e Organização de Computadores Ementa: Introdução: definições, histórico e classificação. Gerência de processos/processador: definições e conceitos fundamentais, concorrência, sincronização e comunicação entre processos, algoritmos de escalonamento de processos, monoprocessamento e multiprocessamento. Gerência de memória: definições e conceitos fundamentais, swapping, memória virtual e paginação e segmentação de memória. Sistemas de arquivo: Definições e conceitos fundamentais, diretórios, Segurança e mecanismos de proteção. Gerência de entrada e saída: entrada e saída por hardware e software, discos, terminais, relógios e vídeo. Alocação de recursos e “deadlocks”. Estudo de casos. Bibliografia TANENBAUM, A. Sistemas Operacionais Modernos. 3 nd Ed.: Prentice Hall, 2010. SILBERSCHATZ, ABRAHAM / GALVIN, PETER BAER / GAGNE, GREG, Fundamentos de Sistemas Operacionais, 8 ed. LTC, 2010. ALBERT S. Sistemas Operacionais: Projeto e Implementação. 3 Ed. Prentice-Hall, 2008. DEITEL & CHOFFNES. Sistemas Operacionais, 3 ed. Editora: Prentice- Hall, 2005. Carga Horária: 60 horas Créditos: 4 U F P A - P P G E E – L P R A D - L IN C Livro Texto U F P A - P P G E E – L P R A D - L IN C Definições e Informativos 3 Avaliações (Prova e Trabalhos) 3 Trabalhos (pequenos trabalhos + trabalho final) 3 Provas (pelo menos duas) 3 Celular e Notebooks 3 Presença 3 SIGAA 3 Possíveis faltas do professor 3 Onde me encontrar: 3 FCT (quase nunca) 3 LPRAD / LPO (quase sempre) 3 Prédio Anexo, segundo andar, última sala (interseção) U F P A - P P G E E – L P R A D - L IN C Assunto da Aula 3 Definição 3 Funções de um SO 3 Máquina de Níveis 3 Histórico 3 Tipos de SO U F P A - P P G E E – L P R A D - L IN C Sistemas Operacionais Sistemas Operacionais existem em toda parte (em qualquer aparelho com processamento)!! U F P A - P P G E E – L P R A D - L IN C Tipos de Sistemas U F P A - P P G E E – L P R A D - L IN C Sistemas Emergentes U F P A - P P G E E – L P R A D - L IN C Sistemas Emergentes U F P A - P P G E E – L P R A D - L IN C Um S.O. para cada tipo de máquina Alguns Exemplos: PCs/Netbooks: Linux, variantes do UNIX, Windows 7, Vista, Mac OS X, ... Cloud Computing: Hadoop, Amazon EC, Xen, ... Celulares: Symbian, Windows Mobile, Smartphones/PDAs: iOS, PalmOS, Android, Windows Mobile, BlackBerry, AlyunOS... Embarcados: iOS, inferno, Maemo, etc. Sistemas de Tempo Real: QNX, RT-UNIX, e muitos outros Redes de Sensores (MicaMotes): TinyOS, Contiki, ... Clusters/Sist. distribuídos: Mach, Plan9, Amoeba, Beowulf, Chorus .. WebOS: ChromeOS, JoliOS, DesktopTwo, EyeOS, ... U F P A - P P G E E – L P R A D - L IN C Definição Definição de SO: é um programa cuja tarefa principal é gerenciar cada um dos recursos da máquina, contabilizando o tempo de uso e garantindo o acesso ordenado de usuários a esses recursos. Exemplos: UNIX, MS-Windows, Android. U F P A - P P G E E – L P R A D - L IN C Funções de um SO • Como Máquina Estendida (Máquina Virtual) ⚫ Facilita o acesso aos recursos do sistema; ⚫ O usuário interage com o SO; ⚫ Visão Top-down. Como Gerente de Recursos ⚫ Compartilha os recursos de forma organizada e protegida; ⚫ Visão Bottom-up. U F P A - P P G E E – L P R A D - L IN C Funções de um SO Sistema Computacional = hardware + software; SISTEMA OPERACIONAL é quem controla todos os recursos do computador (dispositivos físicos e funções de software). Ex.: U F P A - P P G E E – L P R A D - L IN C Funções de um SO U F P A - P P G E E – L P R A D - L IN C Objetivos de um S.O. Gerenciamento dos Recursos: O S.O. deve evitar conflitos no uso do hardware. Abstração do Hardware: O S.O. deve definir interfaces abstratas para os recursos do hardware, visando atender os seguintes objetivos: ◼ Tornar os aplicativos independentes do hardware; ◼ Definir interfaces de acesso homogêneas para dispositivos com tecnologias distintas. U F P A - P P G E E – L P R A D - L IN C Funções de um S.O. Um sistema operacional possui as seguintes funções: ◼ Gerência de Processos: Distribui a capacidade do processador de forma justa. ◼ Gerência de Memória: Fornece a cada aplicação um espaço de memória próprio, independente e isolado dos demais. ◼ Gerência de Dispositivos: Implementa a interação com cada dispositivo por meio de drivers. ◼ Gerência de Arquivos: Cria abstração de arquivo e diretório, definindo também sua interface de acesso e regras para seu uso. U F P A - P P G E E – L P R A D - L IN C Máquina de Níveis Aplicativos Utilitários Sistemas Operacionais Microprogramação Linguagem de Máquina Dispositivos Físicos U F P A - P P G E E – L P R A D - L IN C Máquina de Níveis (Linux) U F P A - P P G E E – L P R A D - L IN C Máquina de Níveis U F P A - P P G E E – L P R A D - L IN C Máquina de Níveis U F P A - P P G E E – L P R A D - L IN C Componentes Típicos de um SO U F P A - P P G E E – L P R A D - L IN C Histórico 4 Primeira Fase (1945 – 1955): ◼ Surgimento dos primeiros computadores digitais: Válvulas. ◼ Sem Sistemas Operacionais ◼ ENIAC (Eletronic Numerical Integrator and Computer) foi o primeiro computador de propósito geral (18 mil válvulas, 10 mil capacitores, 70 mil resistores e pesava cerca de 30 toneladas). U F P A - P P G E E – L P R A D - L IN C Histórico 4 Primeira Fase (1945 – 1955): ◼ Programação realizada em painéis (Linguagem de máquina). ◼ EDVAC (Eletronic Discrete Variable Automatic Computer): 1ª proposta de máquina com programa armazenado (Instituição da “Arquitetura de von Neumann”). ◼ UNIVAC (Universal Automatic Computer): 1º computador comercial de sucesso. U F P A - P P G E E – L P R A D - L IN C Arquitetura de von Neumann Unidade de Controle Unidade de Aritmética e Lógica Armazenamento UCP Dispositivo de Entrada Dispositivo de Saída U F P A - P P G E E – L P R A D - L IN C Histórico 4 Segunda Geração (1955-1965): − Criação do transistor e das memórias magnéticas. − Criação das primeiras linguagens de programação: ⚫ Assembly; ⚫ Fortran. ◼ Surgimento dos primeiros SO: FMS (Fortran Monitor System) e o IBSYS. U F P A - P P G E E – L P R A D - L IN C Histórico 4 Segunda Geração (1955-1965): − Processamento Batch (em lote). − SO passa a ter seu próprio conjunto de rotinas para operações de Entrada/Saída – IOCS (Input/Output Control System). ◼ Spooling. U F P A - P P G E E – L P R A D - L IN C Histórico 4 Terceira Geração (1966-1980): − Surgimento dos Circuitos Integrados (CIs). − Diminuição de custos dos sistemas computacinais. − IBM lança a série 360 (S.O. OS/360). − Multiprogramação: Compartilhamento de memória. − Interação on-line (terminais de vídeos e teclado). U F P A - P P G E E – L P R A D - L IN C Histórico 4 Terceira Geração (1966-1980): − Time-Sharing. − Lançamento do CTSS, o primeiro sistema de compartilhamento de tempo, desenvolvido pelo MIT. − Criação do Unix. U F P A - P P G E E – L P R A D - L IN C Histórico 4 Quarta Geração (1981-1990): − LSI (Large Scale Integration). − VLSI (Very Large Scale Integration). − Surgimento dos PCs de 16 bits. − DOS (Disk Operation System). − Sistemas Multiusuários. U F P A - P P G E E – L P R A D - L IN C Histórico 4Quarta Geração (1981-1990): − Sistemas Multitarefas. − Multiprocessamento. − Sistemas Operacionais de Rede (ex: Novell). U F P A - P P G E E – L P R A D - L IN C Histórico 4 Quinta Geração (1991-??): − IA, Multimídia, BD Distribuídos, Redes Neurais, entre outras. − VLSI evoluem para ULSI (Ultra Large Scale Integration). − Arquiteturas Paralelas. − Programação Concorrente. − Sistemas Operacionais Distribuídos. U F P A - P P G E E – L P R A D - L IN C Histórico 4 Quinta Geração (1991-??): − Problemas: Segurança, Gerência e Desempenho (SO e Redes). − S.O. baseados em interfaces gráficas. U F P A - P P G E E – L P R A D - L IN C Tipos de SO Sistemas Operacionais Sistemas Monoprogramáveis/ Monotarefa Sistemas Multiprogramáveis/ Multitarefa Sistemas com Múltiplos Processadores U F P A - P P G E E – L P R A D - L IN C Sistemas Monoprogramáveis/Monotarefa Execução de um único programa, para um outro programa executar deve aguardar o término do programa concorrente. Apenas um único usuário pode interagir. Processador, memória e periféricos são exclusivamente dedicados a uma única tarefa. Relacionados ao surgimento de mainframes (1ª geração). Não tem problema com proteção. U F P A - P P G E E – L P R A D - L IN C Sistemas Multiprogramáveis/ Multitarefa Vários programas dividem os mesmos recursos. ◼ Exemplo: Enquanto um programa espera por uma operação de leitura, outros programas podem estar sendo processados nesse intervalo de tempo. Controla o acesso concorrente à memória, processador (escalonamento de CPU) e periféricos, de forma ordenada e protegida. U F P A - P P G E E – L P R A D - L IN C Sistemas Multiprogramáveis/ Multitarefa Sistemas Batch Sistemas de Tempo Compartilhado Sistemas de Tempo Real Tipos de Sistemas Multiprogramáveis/Multitarefa U F P A - P P G E E – L P R A D - L IN C Tipos de Sistemas Multiprogramáveis/Multitarefa Sistemas em Batch ◼ Programas quando submetidos são armazenados em discos ou fitas para serem executados seqüencialmente. Sistemas de Tempo Compartilhado ◼ Permitem a interação do usuário com o sistema através de terminais, vídeos, teclados e outros. ◼ Sistemas online: registram na hora o que está sendo feito, mas não necessariamente obtém uma resposta imediatamente. U F P A - P P G E E – L P R A D - L IN C Tipos de Sistemas Multiprogramáveis/Multitarefa Sistemas de Tempo Compartilhado ◼ Alocação de uma fatia de tempo para cada usuário, caso o processamento não seja terminado nesse tempo, o programa é substituído por outro, e esse programa antigo fica esperando por uma nova fatia de tempo. ◼ Fornece a impressão que todo o sistema está dedicado exclusivamente a um usuário. U F P A - P P G E E – L P R A D - L IN C Tipos de Sistemas Multiprogramáveis/Multitarefa Sistemas de Tempo Real ◼ Tempo de resposta exigido dentro de um limite. ◼ Não existe fatia de tempo e sim prioridade. – Exemplo: Controle de tráfego aéreo. U F P A - P P G E E – L P R A D - L IN C Sistemas com Múltiplos Processadores Duas ou mais CPUs interligadas, trabalhando em conjunto. Possibilitam aumentar a capacidade computacional (escalabilidade), além de permitir a reconfiguração e o balanceamento do sistema. Reconfiguração: capacidade de um sistema poder continuar o processamento mesmo se um dos processadores falhar. U F P A - P P G E E – L P R A D - L IN C Sistemas com Múltiplos Processadores Balanceamento: possibilita distribuir a carga de processamento entre diversos sistemas de configuração, melhorando o desempenho. É importante observar a forma de comunicação entre as CPUs e o grau de compartilhamento da memória e dos dispositivos de E/S. U F P A - P P G E E – L P R A D - L IN C Tipos de Sistemas com Múltiplos Processadores Sistemas Com Múltiplos Processadores Sistemas Fortemente Acoplados Sistemas Fracamente Acoplados Sistemas Simétricos Sistemas Assimétricos SO de Rede SO Distribuídos U F P A - P P G E E – L P R A D - L IN C Sistemas com Múltiplos Processadores Sistemas Fortemente Acoplados: ◼ Único espaço de endereçamento virtual que é compartilhado por todos os processadores. – Exemplo: Se qualquer processador escrever 44 no endereço 1000, qualquer outro processador que venha ler esse endereço, encontrará o número 44. ◼ Compartilhando um único sistema operacional. U F P A - P P G E E – L P R A D - L IN C Sistemas com Múltiplos Processadores Sistemas Fortemente Acoplados: ◼ Vários programas podem ser executados ao mesmo tempo, ou subdividido em subprogramas para a execução simultânea em mais de um processador. ◼ Problemas de concorrência, pois vários processadores podem estar acessando as mesmas áreas de memória. ◼ Retardo baixo e a velocidade de transmissão é alta. U F P A - P P G E E – L P R A D - L IN C Sistemas com Múltiplos Processadores Sistemas Fortemente Acoplados: U F P A - P P G E E – L P R A D - L IN C Sistemas Fortemente Acoplados Classificação devido à simetria: ◼ Sistemas Assimétricos (Mestre/Escravo): ⚫ Apenas um processador pode executar serviços do sistema operacional. (Ex. realizar operações de E/S), sempre que um escravo precisar de um tipo de operação, deve requisitar ao mestre. ⚫ O sistema pode se tornar ineficiente devido ao número de interrupções para o escravo executar operações de E/S. U F P A - P P G E E – L P R A D - L IN C Sistemas Fortemente Acoplados Classificação devido à simetria: ◼ Sistemas Assimétricos (Mestre/Escravo): ⚫ Se o mestre falhar, o sistema fica incapaz de continuar o processamento e deve ser reconfigurado para um escravo assumir a posição do mestre. U F P A - P P G E E – L P R A D - L IN C Sistemas Fortemente Acoplados Classificação devido à simetria: ◼ Sistemas Simétricos: ⚫ Todos os processadores realizam as mesmas funções. ⚫ Apenas algumas poucas funções ficam a cargo de um único processador, como o boot. ⚫ Programa pode ser executado paralelamente em vários processadores. ⚫ Em caso de falha, o sistema continua normal, porém com menor capacidade. U F P A - P P G E E – L P R A D - L IN C Sistemas com Múltiplos Processadores Sistemas Fracamente Acoplados: l Cada máquina tem seu próprio espaço de endereçamento (memória). – Exemplo: Se qualquer processador escrever 44 no endereço 1000, qualquer outro processador que venha ler esse endereço, encontrará um número diferente de 44, pois estará lendo o SEU próprio espaço de memória. l O retardo de transmissão é alto e a velocidade de transmissão é baixa. U F P A - P P G E E – L P R A D - L IN C Sistemas com Múltiplos Processadores U F P A - P P G E E – L P R A D - L IN C Sistemas com Múltiplos Processadores Sistemas Fracamente Acoplados: l Problema: Como os computadores irão se comunicar uns com os outros ?? → É necessário um esquema de conexão. l Com base no grau de interação entre os nós, podem ser divididos em: SO de Rede e SO Distribuídos U F P A - P P G E E – L P R A D - L IN C Sistemas Fracamente Acoplados Sistemas Operacionais de Rede: ◼ Cada nó possui seu próprio SO, além de hardware e software que possibilitam o sistema ter acesso a outros componentes de rede. ◼ Possibilitam: cópia remota de arquivos, emulação de terminal, impressão remota e etc. ◼ Cada nó é independente do outro. ◼ Problema na conexão, o sistema continua operando, sem alguns recursos disponíveis. U F P A - P P G E E – L P R A D - L IN C Sistemas Fracamente Acoplados Sistemas Operacionais Distribuídos: l Existência de um relacionamento mais forte entre seus componentes. l É como se não existisse redes de computadorese apenas um único sistema centralizado. U F P A - P P G E E – L P R A D - L IN C Universidade Federal do Pará Sistemas Operacionais Prof. Diego Cardoso
Compartilhar