1 / 191

SISTEMAS OPERACIONAIS PROFESSOR - AIRTON KUADA EMAIL - airton@fesppr.br

SISTEMAS OPERACIONAIS PROFESSOR - AIRTON KUADA EMAIL - airton@fesppr.br. EMENTA DA DISCIPLINA. HISTÓRICO E EVOLUÇÃO TIPOS DE SISTEMAS OPERACIONAIS SERVIÇOS DO SISTEMA OPERACIONAL ESTRUTURA DE UM SISTEMA OPERACIONAL CONCEITOS DE HARDWARE E SOFTWARE PROCESSOS, COMUNICAÇÃO INTERPROCESSOS

Download Presentation

SISTEMAS OPERACIONAIS PROFESSOR - AIRTON KUADA EMAIL - airton@fesppr.br

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SISTEMAS OPERACIONAIS PROFESSOR - AIRTON KUADA EMAIL - airton@fesppr.br

  2. EMENTA DA DISCIPLINA • HISTÓRICO E EVOLUÇÃO • TIPOS DE SISTEMAS OPERACIONAIS • SERVIÇOS DO SISTEMA OPERACIONAL • ESTRUTURA DE UM SISTEMA OPERACIONAL • CONCEITOS DE HARDWARE E SOFTWARE • PROCESSOS, COMUNICAÇÃO INTERPROCESSOS • ESCALONAMENTO • GERENCIAMENTO DE MEMÓRIA, PAGINAÇÃO, MULTIPROGRAMAÇÃO MEMÓRIA VIRTUAL • SISTEMAS DE ARQUIVOS • GERÊNCIA DE DISPOSITIVOS

  3. BIBLIOGRAFIA • ARQUITETURA DE SISTEMAS OPERACIONAIS • FRANCIS B. MACHADO • LUIZ PAULO MAIA • SISTEMAS OPERACIONAIS MODERNO • ANDREW S. TANENBAUM

  4. INTRODUÇÃO

  5. O QUE É UM SISTEMA OPERACIONAL ???  CONJUNTO DE PROGRAMAS EXECUTADOS PELO PROCESSADOR DA MESMA FORMA QUE QUALQUER OUTRO PROGRAMA QUAL A FUNÇÃO DE UM SISTEMA OPERACIONAL ??  CONTROLAR O FUNCIONAMENTO DO COMPUTADOR, COMO UM GERENTE DOS DIVERSOS RECURSOS DISPONÍVEIS NO SISTEMA (IMPRESSORA, DISCO, VÍDEO, TECLADO, FITA)

  6. VISÃO DE UM SISTEMA DE COMPUTAÇÃO

  7. VISÃO DO COMPUTADOR PELO USUÁRIO

  8. MÁQUINAS DE NÍVEIS

  9. HISTÓRICO

  10. PRIMEIRA FASE (1945-1955) INÍCIO DA SEGUNDA GUERRA SURGEM OS PRIMEIROS COMPUTARES: MILHARES DE VÁLVULAS, NECESSIDADES DE GRANDES ÁREAS, ALTO CONSUMO, LENTO PRIMEIRO COMPUTADOR DE PROPÓSITO GERAL - ENIAC - CALCULO BÁLISTICO - 18 MIL VÁLVULAS - 10 CAPACITORES - 70 MIL RESISTORES - PESAVA 30 TONELADAS - CONSUMO DE 140 KVA EM FUNCIONAMENTO - 5 MIL ADIÇÕES POR SEGUNDO

  11. SEGUNDA FASE (1956-1965) - CRIAÇÃO DO TRANSISTOR E MEMÓRIA MAGNÉTICA - SURGIMENTO DOS PRIMEIROS SISTEMAS OPERACIONAIS - PRIMEIRAS LINGUAGENS ASSEMBLY E FORTRAN FACILITARAM A PROGRAMAÇÃO - PROCESSAMENTO BATCH - OS SISTEMAS OPERACIONAIS PASSARAM A TER O SEU PRÓPRIO CONJUNTO DE ROTINAS PARA OPERAÇÃO DE ENTRADA/SAIDA (INPUT/OUTPUT CONTROL - IOCS) - COM O IOCS O PROGRAMADOR NÃO NECESSITA ESCREVER A ROTINAS DE I/O (INDEPENDÊNCIA DO DISPOSITIVO)

  12. TERCEIRA FASE (1966-1980) - APARECIMENTO DOS CIRCUITOS INTEGRADOS E MICROPROCESSADORES, REDUÇÃO DE CUSTO E TAMANHO E AUMENTO DE PODER DE PROCESSAMENTO DAS MÁQUINAS -IBM LANÇA A SÉRIE 360 (PEQUENA, PODERASA E COMPATÍVEL) QUE DURANTE A EVOLUÇÃO GARANTIA A COMPATIBILIDADE COM AS GERAÇÕES ANTERIORES (PRESERVA O INVESTIMENTO) - DESENVOLVIMENTO DO OS/360 QUE TENTAVA ATENDER TODOS OS TIPOS DE APLICAÇÕES E PERIFÉRICOS - DEC LANÇA PDP-8

  13. TERCEIRA FASE (1966-1980) - COMPARTILHAMENTO DA MEMÓRIA PRINCIPAL E PROCESSADOR PERMITE A MULTIPROGRAMAÇÃO - SUBSTITUIÇÃO DE FITA MAGNÉTICAS POR DISCO INTRODUZ MELHORIA NO SISTEMA EM BATCH, PODES-SE ALTERAR A ORDEM DA SEQUENCIA DE PROCESSAMENTO - COMUNICAÇÃO COM O USUÁRIO (SISTEMAS ON-LINE) - TIME-SHARING - SURGIMENTO DO SISTEMA OPERACIONAL UNIX (1969) (ASSEMBLER DEPOIS C) EM UM PDP-7 BASEADO NO MULTICS (DEC) - SURGIMENTO DOS PRIMEIROS MICROCOMPUTADORES (CPM, 8 BITS)

  14. QUARTA FASE (1981-1990) - PROJETO DE MINIATURIZAÇÃO (LSI, VLSI) DE COMPONENTE - MINI E SUPERMINI COMPUTADORES GANHAM ESPAÇO - SURGIMENTO DO PC (PERSONAL COMPUTER) DE 16 BITS DA IBM E O SISTEMA DOS (DISK OPERATION SYSTEM). - OS SISTEMAS UNIX LIKE DOMINAM OS MINIS E SUPERMINIS - INTRODUÇÃO DO CONCEITO DE MULTIPROCESSAMENTO - REDES DISTRIBUIDAS (WAN) COM PROTOCOLOS SNA, DECNET, TCP/IP COMEÇA A DESPONTAR - PRIMEIROS SISTEMAS OPERACIONAIS DE REDE (NETWARE).

  15. QUINTA FASE (1991 - ????) - A REDE MUNDIAL DE COMPUTADORES (INTERNET) - SISTEMAS ESPECIALISTAS (INTELIGÊNCIA ARTIFICIAL) - REDES NEURAIS - PROCESSAEMENTO DE GRANDES VOLUMES DE DADOS - PROCESSAMENTO DISTRIBUÍDO (RPC, CORBA) - ARQUITETURA CLIENT/SERVER - SURGIMENTO DA INTERFACE GRÁFICO (WINDOWS) - MULTIMÍDIA - IMPLEMENTAÇÃO DE CONCEITOS UTILIZADOS EM COMPUTADORES GRANDES COMPUTADORES, AGORA NO DESKTOP

  16. CONCEITOS DE HARDWARE E SOFTWARE

  17. HARDWARE É COMPOSTO POR UM CONJUNTO DE COMPONENTES INTERLIGADOS: PROCESSADOR, MEMÓRIA PRINCIPAL, REGISTRADORES, TERMINAIS, IMPRESSORAS, DISCOS MAGNÉTICOS, FITAS MAGNÉTICAS, ETC. COMPONENTES SÃO DIVIDIDOS EM UNIDADES FUNCIONAIS: - UCP - MEMÓRIA PRINCIPAL - DISPOSITIVOS DE ENTRADA E SAÍDA

  18. UNIDADES FUNCIONAIS DE UM COMPUTADOR

  19. UCP - UNIDADES DA UCP: UC - CONTROLA AS ATIVIDADES DE TODOS OS COMPONENTES DO COMPUTADOR, MEDIANTE A EMISSÃO DE PULSOS ELÉTRICOS GERADO POR UM DISPOSITIVO CHAMADO DE CLOCK. ULA - REALIZAÇÃO DE OPERAÇÕES LÓGICAS (TESTES E COMPARAÇÕES) E ARITMÉTICAS (SOMAS E SUBTRAÇÕES) - VELOCIDADE DO PROCESSADOR É MEDIDA EM NÚMERO DE INSTRUÇÕES EXECUTADAS EM UMA UNIDADE DE TEMPO (SEGUNDOS), PODE SER MIPS, MEGFLOPS

  20. CLOCK - DISPOSITIVO DE ALTA VELOCIDADE, LOCALIZADO NA UCP - GERA PULSOS ELÉTRICO SINCRONOS EM DETERMINADO INTERVALO DE TEMPO - A QUANTIDADE DE VEZES QUE ESTE PULSO SE REPETE EM UM SEGUNDO DEFINE A FREQUENCIA DO CLOCK (MEDIDO EM HERTZ). A UC UTILIZA O SINAL DE CLOCK PARA A EXECUÇÃO DAS INSTRUÇÕES QUANTO MAIOR A VELOCIDADE, MAIOR A QUANTIDADE DE INSTRUÇÃO EXECUTADO EM UMA UNIDADE DE TEMPO

  21. REGISTRADORES - MEMÓRIA DE ALTA VELOCIDADE - LOCALIZADO NO INTERIOR DO PROCESSADOR - ARMAZENAMENTO TEMPORÁRIO DE DADOS - O NÚMERO DE PROCESSADOR VARIA EM FUNÇÃO DA ARQUITETURA DE CADA PROCESSADOR - REGISTRADORES COMUNS A TODAS ARQUITETURAS: - CONTADOR DE INSTRUÇÃO (IP) - STACK POINTER (SP) - REGISTRADOR DE ESTADO (FLAGS)

  22. DESCRIÇÃO DOS REGISTRADORES DO PC 8086 - 16 BITS

  23. DESCRIÇÃO DOS REGISTRADORES DO PC 80386 - 32 BITS

  24. ARQUITETURA DO PC

  25. MEMÓRIA PRINCIPAL (RAM) - ORGANIZADO EM CÉLULAS - CADA CÉLULA POSSUI UM NÚMERO DE BITS - BIT É A UNIDADE BÁSICA DE MEMÓRIA E POSSUI VALOR 0 OU 1 - ATUALMENTE TODOS OS COMPUTADORES TRABALHAM COM CÉLULAS DE 8 BITS (PODE EXISTIR COM 32, 64) - CADA CÉLULA POSSUI UMA IDENTIFICAÇÃO

  26. MEMÓRIA PRINCIPAL

  27. MEMÓRIA ROM - MEMÓRIA NÃO VOLÁTIL - NÃO NECESSITA DE ENERGIA PARA PRESERVAR O CONTEÚDO - PODE SER GRAVADAS UMA ÚNICA VEZ - GRAVAÇÃO ATRAVÉS DE LUZ ULTRA VIOLETA - EXISTEM OUTRAS VARIANTES: EPROM, EAROM, EAPROM, NVRAM

  28. MEMÓRIA CACHE - MEMÓRIA VOLÁTIL DE ALTA VELOCIDADE (nano) - TEMPO DE ACESSO MENOR QUE A MEMÓRIA PRINCIPAL - ANTES DE ACESSAR A MEMÓRIA PRINCIPAL É VERIFICADO A MEMÓRIA CACHE - A CADA ACESSO A MEMÓRIA PRINCIPAL, É LIDO UM BLOCO DA MEMÓRIA E ATUALIZADO A MEMÓRIA CACHE - POSSUI ALTO CUSTO

  29. MEMÓRIA SECUNDÁRIA - MEIO PERMANENTE DE ARMAZENAMENTO DE PROGRAMAS E DADOS - NÃO PRECISA DE ENERGIA PARA MANTER AS INFORMAÇÕES - ACESSO LENTO (mili), BAIXO CUSTO - GRANDE CAPACIDADE DE ARMAZENAMENTO - EXEMPLO DE MEMÓRIA SECUNDÁRIA - FITA MAGNÉTICA - DISCO MAGNÉTICO - DISCO ÓPTICO

  30. RELAÇÃO ENTRE OS TIPOS DE MEMÓRIAS

  31. DISPOSITIVO DE ENTRADA/SAÍDA - UTILIZADO PARA COMUNICAÇÃO ENTRE O COMPUTADOR E O MUNDO EXTERNO (TECLADO, IMPRESSORA, MONITOR, DISCOS, SCANNER, CANETA ÓTICA, MOUSE, MULTIMIDIA, FITAS) - ATRAVÉS DESTES DISPOSITIVOS A UCP E MEMÓRIA PODEM COMUNICAR-SE COM OS USUÁRIOS (ANALISTAS, PROGRAMADORES, USUÁRIOS FINAIS) - PODEM SER DIVIDIDOS DA SEGUINTE FORMA: - INTERFACE HOMEM/MÁQUINA - MEMÓRIA SECUNDÁRIA.

  32. BARRAMENTO - AS UNIDADES FUNCIONAIS DO COMPUTADOR SÃO INTERLIGADAS ATRAVÉS DE LINHAS DE COMUNICAÇÃO DENOMINADAS BARRAMENTOS. - NO BARRAMENTO TRAFEGAM INFORMAÇÕES COMO ENDEREÇOS, DADOS OU SINAIS DE CONTROLE - A COMUNICAÇÃO NO BARRAMENTO PODE SER UNIDIRECIONAL OU BIDIRECIONAL - ENTRE A UCP E MEMÓRIA EXISTE TRÊS BARRAMENTO: BARRAMENTO DE DADOS, BARRAMENTO DE ENDEREÇOS, BARRAMENTO DE CONTROLE

  33. BARRAMENTO

  34. PIPELINING - SEMELHANTE A UMA LINHA DE MONTAGEM, ONDE UMA TAREFA É DIVIDIDA EM SEQUENCIA DE SUBTAREFAS, E EXECUTADAS EM DIFERENTES ESTÁGIOS - EXEMPLO DE PIPELINE: EXECUÇÃO DE UMA INSTRUÇÃO - PODE SER UTILIZADA COMO TÉCNICA DE PARALELISMO EM SISTEMAS COM UM OU MAIS PROCESSADORES PARA AUMENTAR O DESEMPENHO DOS SISTEMA DE COMPUTADORES.

  35. ARQUITETURA CISCxRISC RISC (REDUCED INSTRUCTION SET COMPUTER) - POSSUI POUCAS INSTRUÇÕES DE MÁQUINA - INSTRUÇÃO EXECUTADO DIRETAMENTE PELO HARDWARE - GRANDE NÚMERO DE PROCESSADORES - EXEMPLO: SUN, SPARC, RS-6000, PA-RISC, ALPHA, MIPS CISC (COMPLEX INSTRUCTION SET COMPUTERS) - INSTRUÇÕES COMPLEXAS QUE SÃO INTERPRETADAS POR MICROPROGRAMAS NÚMERO DE REGISTRADORES PEQUENO - QQUER INSTRUÇÃO PODE ACESSAR A MEMÓRIA RAM - EXEMPLO: VAX, 80X86, PENTIUM, 68xxxx

  36. SOFTWARE - O HARDWARE POR SI SÓ NÃO POSSUI UTILIDADE. - DEVE EXISTIR UM CONJUNTO DE PROGRAMAS, UTILIZADO COMO INTERFACE ENTRE AS NECESSIDADES DO USUÁRIO E AS CAPACIDADES DO HARDWARE. - TIPOS DE SOFTWARE - TRADUTOR - INTERPRETADOR - LINKER - LOADER - DEPURADOR - LINGUAGEM DE CONTROLE (SHELL) - LINGUAGEM DE MÁQUINA

  37. TRADUTOR -INICIALMENTE, PARA PROGRAMAR ERA NECESSÁRIO CONHECER O HARDWARE E PROGRAMAR EM PAINÉIS E FIOS - A PROGRAMAÇÃO ERA FEITO EM LINGUAGEM DE MÁQUINA DIRETAMENTE E CARREGADO EM MEMÓRIA - COM O SURGIMENTO DAS LINGUAGENS DE MONTAGEM E ALTO NÍVEL, O PROGRAMADOR NÂO NECESSITA CONHECER ASPECTOS DE HARDWARE - OS PROGRAMAS EM LINGUAGEM DE MONTAGEM E ALTO NÍVEL NÃO PODEM SER EXECUTADOS DIRETAMENTE PELA UCP , NECESSITAM PASSAR POR UM PROCESSO DE TRADUÇÃO ONDE TODA REPRESENTAÇÃO SIMBÓLICA É TRADUZIDO PARA UM CÓDIGO BINÁRIO

  38. TRADUTOR - O MÓDULO GERADO PELO TRADUTOR É CHAMADO DE CÓDIGO OBJETO - DEPENDENDO DA LINGUAGEM DE PROGRAMAÇÃO UTILIZADO, O TRADUTOR PODE SER CHAMADO DE - MONTADOR - COMPILADOR.

  39. TRADUTOR

  40. dosseg .model small .stack 100h .data hello_message db 'Hello, World!',0dh,0ah,'$' .code main proc mov ax,@data mov ds,ax mov ah,9 mov dx,offset hello_message int 21h mov ax,4C00h int 21h main endp end main PROGRAMA HELLO.ASM

  41. #include <stdio.h> main ( ) { char hello_message[] = "'Hello, World!"; printf ("%s\n", hello_message ) } PROGRAMA HELLO.C

  42. 19BB:0010 B8BD19 MOV AX,19BD 19BB:0013 8ED8 MOV DS,AX 19BB:0015 B409 MOV AH,09 19BB:0017 BA0200 MOV DX,0002 19BB:001A D21 INT 21 19BB:001C B8004C MOV AX,4C00 19BB:001F CD21 INT 21 CÓDIGO BINÁRIO GERADO PELO MONTADOR

  43. TRADUTOR - LINGUAGEM DE MONTAGEM É UM CONJUNTO DE SÍMBOLOS MNEMÔNICOS ASSOCIADOS ÀS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA DO PROCESSADOR. - A LINGUAGEM DE MONTAGEM DEPENDE DA ARQUITETURA DE CADA PROCESSADOR, ISTO É VARIA DE COMPUTADOR PARA COMPUTADO (MASM, TASM NA PLATAFORMA 80X86) - A LINGUAGEM DE ALTO NÍVEL NÃO POSSUI LIGAÇÃO DIRETA COM A MÁQUINA, FICANDO ESSA PREOCUPAÇÃO COM O COMPILADOR. TODOS OS DETALHES DE ARQUITETURA DO PROCESSADOR FICA ESCONDIDO DO PROGRAMADOR QUE FICARÁ PREOCUPADO APENAS COM A APLICAÇÃO (COBOL, C, PASCAL).

  44. LINKER - O CÓDIGO BINÁRIO GERADO PELO TRADUTOR AINDA NÃO PODE SER EXECUTADO, APESAR DE ESTAR EM CÓDIGO DE MÁQUINA, PODE EXISTIR CHAMADAS DE SUB-ROTINAS EXTERNAS - O LINKER É O RESPONSÁVEL POR GERAR, A PARTIR DE UM OU MAIS MÓDULOS-OBJETOS, UM ÚNICO PROGRAMA EXECUTÁVEL FUNÇÕES BÁSICAS DO LINKER: - RESOLVER TODAS AS REFERÊNCIAS SIMBÓLICAS EXISTENTES ENTRE OS MÓDULOS (PESQUISA EM BIBLIOTECAS) - RESERVAR MEMÓRIA PARA A EXECUÇÃO DO PROGRAMA

  45. LINKER

  46. INTERPRETADOR - O INTERPRETADOR É UM TRADUTOR QUE NÃO GERA CÓDIGO-OBJETO. A PARTIR DE UM PROGRAMA-FONTE ESCRITO EM LINGUAGEM DE ALTO NÍVEL, O INTERPRETADOR TRADUZ CADA INSTRUÇÃO NO MOMENTO DA EXECUÇÃO E EXECUTA A INSTRUÇÃO - DESVANTAGEM - TEMPO GASTO NA TRADUÇÃO DAS INSTRUÇÕES DO PROGRAMA A CADA VEZ QUE FOR EXECUTADO VANTAGEM - RAPIDEZ NOS TESTES DE APLICAÇÕES QUE ESTÃO EM DESENVOLVIMENTO - EXEMPLOS: DBASE, BASI, APL,

  47. LOADER - É O UTILITÁRIO RESPONSÁVEL EM COLOCAR FISICAMENTE NA MEMÓRIA UM PROGRAMA PARA EXECUÇÃO. - O PROCEDIMENTO DE CARGA VARIA COM O CÓDIGO GERADO PELO LINKER, DESTA FORMA O LOADER É CLASSIFICADO COMO SENDO DO TIPO: - ABSOLUTO: O PROGRAMA É CARREGADO EM UMA POSIÇÃO EXATA DA MEMÓRIA - RELOCÁVEL - O PROGRAMA É CARREGADO EM QUALQUER POSIÇÃO DE MEMÓRIA

  48. DEPURADOR - DURANTE O DESENVOLVIMENTO DE PROGRAMAS ESTAMOS SUJEITO A ERROS - O DEPURADOR É UM UTILITÁRIO QUE PERMITE A EXECUÇÃO CONTROLADA DE UM PROGRAMA PARA REALIZAR A CORREÇÃO DE EVENTUAIS ERROS DE PROGRAMAÇÃO - FACILIDADES DE UM DEPURADOR - EXECUÇÃO PASSO - A - PASSO - ALTERAÇÃO/VISUALIZAÇÃO DE VARIÁVEIS - BREAKPOINTS - WATCHPOINT (AVISO DE ALTERAÇÃO DE VARIAVEL)

  49. LINGUAGEM DE CONTROLE - É A FORMA COMO O USUÁRIO COMUNICA-SE COM O SO - INTERPRETA TODOS OS COMANDOS EMITIDOS PELO USUÁRIO, DEVOLVE MENSAGENS DE ERRO OU FAZ CHAMADAS AS ROTINAS DO SISTEMA - FORNECE A POSSIBILIDADE DE AUTOMAÇÃO DE COMANDOS (ARQUIVOS DE COMANDOS) - INTERAÇÃO MAIS AMIGÁVEL ATRAVÉS DE JANELAS - RECONHECIMENTO DE COMANDOS DE VOZ

  50. TIPOS DE SISTEMAS OPERACIONAIS OS SISTEMAS OPERACIONAIS PODEM SER CLASSIFICADOS LEVANDO OS SEGUINTES ASPECTOS: - EVOLUÇÃO DE HARDWARE - APLICAÇÕES SUPORTADAS

More Related