Introdução à Sistemas Operacionais. Glauber Magalhães Pires - PDF Free Download
Download "Introdução à Sistemas Operacionais. Glauber Magalhães Pires"
Oswaldo da Mota Ribas
1 Introdução à Sistemas Operacionais Glauber Magalhães Pires
2 Agenda O que são sistemas operacionais? Histórico Primeira geração ( ) Segunda geração ( ) Terceira geração ( ) Quarta geração (1980-até agora) Conceitos Básicos Estrutura do Sistema Operacional
3 "Uma camada de software por cima do hardware básico para gerenciar todas as partes do sistema e oferecer ao usuário uma interface ou máquina virtual que é mais fácil de entender e de programar." "Um programa que esconde do programador a verdade sobre o hardware e apresenta uma bela e simples visão (máquina virtual)" O que são sistemas operacionais? "O sistema operacional está aí para gerenciar todas as partes de um sistema complexo"
4 O que são sistemas operacionais? Uma interface entre usuários e o hardware Permite uso conveniente e esconde as coisas "tediosas" (simplifica e cria a base) Permite o uso eficiente e paralelo do hardware Provê segurança da informação Dá a cada usuário um "pedaço" dos recursos Atua como um programa de controle
5 O que são sistemas operacionais? Visão do Sistema Operacional p r o g r a m a d o r e s e a n a l i s t a s u s u á r i o s p r o g r a m a s, s i s t e m a s e a p l i c a t i v o s U s u á r i o s S i s t e m a O p e r a c i o n a l m e m ó r i a d i s c o s H a r d w a r e U C P f i t a s i m p r e s s o r a s m o n i t o r e s
6 O que são sistemas operacionais? Visão do Usuário u s u á r i o s S i s t e m a O p e r a c i o n a l H a r d w a r e
7 O que são sistemas operacionais? Máquina de Níveis A p l i c a t i v o s U t i l i t á r i o s S i s t e m a O p e r a c i o n a l L i n g u a g e m d e M á q u i n a M i c r o p r o g r a m a ç ã o C i r c u i t o s E l e t r ô n i c o s
8 Primeira Geração ( ) Computadores de cálculo (mais lenta que calculadoras atuais) Um único grupo de pessoas projetava, contruía, programava, operava e mantinha cada máquina. A programação era feita em linguagem de máquina (ligando com fios painéis) Após horas inserindo o programa, esperava-se torcendo para que nada no computador queimasse (válvulas) No início da década de 50 introduziram os cartões perfurados.
9 Cartões Perfurados Programador escrevia o programa (normalmente em FORTRAN) em um papel e então transformava em cartões perfurados.
10 Segunda Geração ( ) Introdução do transistor (mais confiabilidade) e das primeiras linguagens de programação Separação entre projetista, construtores, operadores, programadores e pessoas da manutenção Batch System (Sistema de processamento em lote)
11 Processamento Batch(Lote) Os programas em cartões era lidos e colocados em uma fita de entrada; A fita era lida e seus programas eram executados um por vez e tinham seus resultados salvos na fita de saída; A fita de saída era lida e impressa;
12 Terceira Geração ( ) Início do uso de circuitos integrados e da multiprogramação Primeira tentativa de tornar compatíveis máquinas diferentes (IBM 360), usando máquinas de mesma arquitetura e conjunto de instruções SO extremamente complexo e grande (milhares de bugs) Memória dividida em partições, enquanto um job esperava I/O outro job podia executar (melhor uso da CPU, pois I/O é/era muito lento)
13 Quarta Geração (1980-hoje) Uso de CIs com maior integração, popularização dos computadores pessoais Interface gráfica amigável para usuários que não conheciam muito sobre computadores e que também não queriam aprender Surgimento do Unix, MS-DOS e Windows
14 Estrutura do SO [2] Sistemas Monolíticos Formada por vários módulos compilados separadamente e que, após linkados, formam um único programa executável, onde seus módulos podem interagir livremente Sistemas em Camadas (1968) Agora o SO é dividido em níveis sobrepostos. Cada camada oferece um conjunto de funções que podem ser utilizadas apenas pelas camadas superiores.
15 Estrutura do SO [2] Máquinas Virtuais (1979) OS/370 da IBM Cria um nível intermediário entre o hardware e SO, denominado de gerência de máquinas virtuais. Este nível cria diversas VMs independentes, onde cada uma oferece uma cópia vitual do hardware. Como cada VM é independente, é possível que cada VM tenha seu próprio SO. Permitindo que os usuários executem suas aplicações como se todo o computador fosse dedicado a cada uma delas. Modelo Cliente-Servidor (microkernel) Uma tendência nos SO modernos é tornar o núcleo do sistema operacional o menor e mais simples possível.
16 Conceitos Básicos [2] Hardware Processador Controla e executa instruções presentes na memória principal. Registradores São dispositivos com a função principal de armazenar dados temporariamente. Contador de Instruções (IP) ou contador de programa (PC) contém o endereço da próxima instrução que o processador deve buscar e executar Memória Principal Local onde são armazenadas instruções de instruções e dados. É composta por unidades de acesso chamadas células, sendo cada célula composta por um determinado número de bits (usualmente 8 bits ou 1 byte).
17 Conceitos Básicos [2] Memória Cache Memória volátil de alta velocidade, usada para minimizar a diferença existente entre a velocidade com que o processador executa instruções e a velocidade com que os dados são lidos e gravados na memória principal. Memória Secundária Memória não volátil, lenta, mas com baixo custo por unidade de armazenamento. Dispositivos de Entrada e Saída São utilizados para permitir a comunicação do SO com o meio externo. São divididos entre os de memória secundária e os de interface homem-máquina.
18 Conceitos Básicos [2] Barramento Meio de comunicação compartilhado que permite a comunicação entre as unidades funcionais do SO. Pipelining É a técnica que permite ao processador executar múltiplas instruções paralelamente em estágios diferentes. Interrupções São eventos que ocasionam um desvio forçado no fluxo de execução de um 'programa'. São ocasionados por sinalização de algum dispositivo de hardware externo ao processador ou da execução de alguma instrução no próprio 'programa'.
19 Interrupções Um sinal de interrupção é gerado para o processador Após o término da execução de uma instrução corrente, o processador identifica o pedido de interrupção O conteúdo do registrador PC (contador de programa) é salvo O processador identifica qual a rotina de tratamento será executada e carrega seu PC A rotina salva o conteúdo dos registradores que irá utilizar na pilha A rotina de tratamento é executada Após seu termino os registradores são restaurados
20 Conceitos Básicos [1] Software Chamadas de Sistema: Interface entre SO e os programas do usuário. Oferece serviços aos usuários e suas aplicações. Processos Espaço de endereçamento (válido para o processo) Arquivos Tabela de Processos Comunicação interprocessos Diretório Nome de caminho Diretório-raiz
21 Referências [1] Tanenbaum, Andrew S. Sistemas Operacionais Modernos. Pearson Brasil, [2] Machado, Francis B., Maia, Luiz P. Arquitetura de Sistemas Operacionais. LTC, 4 ed