Baixe o app para aproveitar ainda mais
Prévia do material em texto
Universidade Federal do Pará Campus Universitário de Salinópolis Prof. Silvério Sirotheau (ssirotheau@gmail.com) Fundamentos da Computação Aula 2 – Introdução aos Sistemas Operacionais • Sistemas Operacionais existem em toda parte (em qualquer aparelho com processamento). Sistemas Operacionais Tipos de Sistemas Sistemas Emergentes Sistemas Emergentes • 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, ... Um S.O. para cada tipo de máquina 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. Definição Como Máquina Estendida (Máquina Virtual) • Facilita o acesso aos recursos do sistema; • O usuário interagi com o SO; • Visão Top-down. • Como Gerente de Recursos • Compartilha os recursos de forma organizada e protegida; • Visão Bottom-up. Funções de um SO Máquina de Níveis Aplicativos Utilitários Sistemas Operacionais Microprogramação Linguagem de Máquina Dispositivos Físicos Máquina de Níveis (Linux) 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). Histórico 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. Histórico Arquitetura de von Neumann Unidade de Controle Unidade de Aritmética e Lógica Armazenamento UCP Dispositivo de Entrada Dispositivo de Saída 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. Histórico 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. Histórico 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). Histórico 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. Histórico 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. Histórico Quarta Geração (1981-1990): Sistemas Multitarefas. Multiprocessamento. Sistemas Operacionais de Rede (ex: Novell). Histórico 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. Histórico Quinta Geração (1991-??): Problemas: Segurança, Gerência e Desempenho (SO e Redes). S.O. baseados em interfaces gráficas. Histórico Tipos de SO Sistemas Operacionais Sistemas Monoprogramáveis/ Monotarefa Sistemas Multiprogramáveis/ Multitarefa Sistemas com Múltiplos Processadores • 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. Sistemas Monoprogramáveis/Monotarefa • 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. Sistemas Multiprogramáveis/ Multitarefa Sistemas Multiprogramáveis/ Multitarefa Sistemas Batch Sistemas de Tempo Compartilhado Sistemas de Tempo Real 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. 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. 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. Tipos de Sistemas Multiprogramáveis/Multitarefa • 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. 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. Sistemas com Múltiplos Processadores Exemplos de Sistemas Operacionais 32 33 Relembrando a evolução do Windows MS-DOS Windows 1 (1985) Windows 2 (1987) Windows 3 (1990) Windows 95 (1995) Windows 98 Windows XP (2001) Windows Vista (2005) Windows 7 (2009) Windows 8 (2012) Windows 10 (2014) Todo Sistema Operacional deve: • Gerenciar o Sistema de Arquivos • Gerenciar Pastas e Diretórios • Gerenciar o acesso ao sistema • Gerenciar os recursos • Fornecer uma “interface” com o hardware e núcleo do SO • Fornecer segurança ao usuário e ao computador. Universidade Federal do Pará Campus Universitário de SalinópolisProf. Silvério Sirotheau (ssirotheau@gmail.com) Fundamentos da Computação Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32 Slide 33 Slide 34 Slide 35 Slide 36 Slide 37 Slide 38 Slide 39 Slide 40 Slide 41 Slide 42 Slide 43 Slide 44 Slide 45 Slide 46 Slide 47
Compartilhar