Introdução a Sistemas Operacionais SISTEMAS COMPUTACIONAIS HARDWARE SOFTWARE USUÁRIOS HARDWARE BÁSICO UCP MEMÓRIA I/O INTERAÇÃO USUÁRIO E HARDWARE USUÁRIO APLICATIVO LINGUAGEM SISTEMA OPERACIONAL HARDWARE SISTEMA DE UM COMPUTADOR Sistema Sistema de Bancário Estoque Compiladores Editores de texto Jogos Interpretadores de comandos Sistema Operacional } Programas de aplicação } Programas do sistema } Hardware Linguagem de Máquina Microcódigo Dispositivos físicos PROCESSADORES CISC OU RISC DESENVOLVIMENTO DE UM S.O. TAREFAS RESPONSABILIDADES USUÁRIO ALGORÍTIMOS ? RESPONSABILIDADES SISTEMA OPERACIONAL GERENCIAR RECURSOS HARDWARE HISTÓRICO DOS SISTEMAS OPERACIONAIS Quinta Geração (1990-___ )- Uma evolução contínua Quarta Geração (1981-1990)- Computadores pessoais Terceira Geração (1965-1980)- Cis e multiprogramação Segunda Geração (1956-1965)- Transistores e sistema batch Primeira Geração (1945-1955)- Painéis e vávulas SISTEMA BATCH SEGUNDA GERAÇÃO 1401 (A) (B) 7094 (C) (D) 1401 B - Leitora de Cartão e Fita Magnética D - Sistemas de Fita (Entrada/Saída) F - Sistema de Impressão (E) (F) TERCEIRA GERAÇÃO (1965-1980) DISCOS TERMINAL IMPRESSORA CPU Sistema de SPOOL TERCEIRA GERAÇÃO (1965-1980) Sistema de Tempo Compartilhado - Time-Sharing QUARTA GERAÇÃO (1981-1990) EVOLUÇÃO COMPUTADORES PESSOAIS QUINTA GERAÇÃO (1991-200_) Fase Primeira 1945-1965 Segunda 1956- 1965 Terceira 1966-1980 Quarta 1981-1990 Quinta 1991-2000 Computadores ENIAC EDVAC UNIVAC NCR IBM-7094 CDC-6600 Válvulas; Transistor; Tambor magnético; Memória magnética. Tubos de raios catódicos. Cray XMP IBM 308 VAX-11 IBM-PC LSI ou VLSI; Disco óptico; Microcomputador. IBM 3090 Pentium SUN Sparc Hardware IBM 360, 370 PDP-11 Cray 1 Cyber-205 C.I. Disco Magnético; Minicomputador; Microprocessador. Software Linguagem de máquina; Linguagem Assembly. Linguagem de alto nível; Processamento batch Linguagens estruturadas; Multiprogramação; Time-Sharing; Computação gráfica Muliprocessamento; Sistemas especiais; Linguagens orientadas a objetos Telecomunicações Telefone; Teletipo Transmissão digital Comunicação via satélite; Microondas; Redes Redes WAN; Redes Locais LAN. Processamento distribuído; Linguagens concorrentes; Programação funcional Linguagens naturais Redes Locais estendidas ELAN; Redes sem fio; Modelo Cliente Servidor Desempenho 10 ips 200.000 ips 5 Mips 30 Mips Ultra –LSI; Arquiteturas paralelas; Circuito Integrado 3-D 1 Gflops 1 Tflops CONCEITOS DE SOFTWARE PROGRAMA-FONTE TRADUTOR PROGRAMA-OBJETO LINGUAGEM DE MONTAGEM MONTADOR MÓDULO-OBJETO LINGUAGEM DO ALTO NÍVEL COMPILADOR MÓDULO-OBJETO CONCEITOS DE SOFTWARE PROGRAMA-FONTE TRADUTOR PROGRAMA-OBJETO LINGUAGEM DE MONTAGEM MONTADOR MÓDULO-OBJETO LINGUAGEM DO ALTO NÍVEL COMPILADOR MÓDULO-OBJETO CONCEITOS DE SOFTWARE MÓDULO-OBJETO S.O antigos MÓDULO-OBJETO PROGRAMA EXECUTÁVEL LINKER LOADER MÓDULO-OBJETO S.O novos NÚCLEO OU KERNEL DO S.O. •INTERRUPÇÕES E TROCA DE CONTEXTO Salva os registradores Identifica a origem da interrupção Interrupção Programa Obtém o endereço da interrupção Rotina de tratamento Restaura os registradores NÚCLEO OU KERNEL DO S.O. •INTERRUPÇÕES MASCARÁVEIS OU NÃO MASCARÁVEIS CPU Interrupção mascarável Interrupção não mascarável Descartar ou não Tratamento obrigatório Rotina de tratamento SISTEMAS DE TEMPO REAL •O programa ocupa o processador o tempo que for necessário; •Aplicados em controle de processos onde o tempo é fator primordial. RELÓGIO DE TEMPO REAL •Fornece o horário para o sistema. RELÓGIO INTERVALADOR •Fornece o clock do sistema. ARQUITETURA DE UM S.O. UNIX USUÁRIOS APLICAÇÕES COMANDOS SHELL KERNEL OU NÚCLEO HARDWARE SINCRONIZAÇÃO DE PROCESSOS Processo gravador Sincronização Dados Processo leitor Dados Buffer FORMAS DE SINCRONIZAÇÃO •Utilização de comandos PROGRAM A; PROGRAM B; FORK B; JOIN B; END. END. PARBEGIN Comando_1; Comando_2; Comando_n; PAREND PROBLEMA DE COMPARTILHAMENTO DE RECURSOS READ (Arq_Contas, Reg_Cliente); READLN (Valor_Dep_Ret); Reg_Cliente.Saldo :=Reg_Cliente.Saldo + Valor_Dep_Ret; Write (Arq_Contas, Reg_Cliente); SOLUÇÃO PARA PROBLEMA DE COMPARTILHAMENTO DE RECURSOS BEGIN Entra_Regiao_Critica; (* Protocolo de Entrada *) Regiao_Critica; Sai_Regiao_Critica; (* Protocolo de saída *) END