PROFESSOR ÉVERSON MATIAS DE MORAIS Graduação em Processamento de Dados Especialização em Ciência da Computação Mestrado em Ciência da Computação SISTEMAS OPERACIONAIS Sistemas operacionais (so) Aula 1 Sistemas Operacionais Roteiro Sistema Operacional (SO); Recursos; Camadas; História; Gerência de Recursos; Gerência de Recursos – Eventos; Gerência de Recursos – Processador. SO O que é um Sistema Operacional ? SO SO ‐ Principais Recursos É um conjunto de rotinas executadas pelo processador; Sua principal função é controlar o funcionamento do computador, como um gerente dos diversos recursos disponíveis no sistema. São interligados através de barramentos. SO ‐ Localização em Relação às Camadas de um Sistema Computacional Aplicação 1 Aplicação 2 SO ‐ História Aplicação 3 Sistema Operacional Hardware SO ‐ Exemplos Mac OS; MS‐DOS; Novell (rede); OS/2; Unix/Linux; Windows; Solaris. Primeira Fase (1945‐1955): Não havia linguagem de programação e sistema operacional; Segunda fase (1956‐1965): Surgem os sistemas operacionais; Terceira Fase (1966‐1980): Início da multiprogramação; Quarta Fase (1981‐1990): Sistemas operacionais de rede. Quinta Fase (1991‐Atual): Consolidação dos sistemas operacionais baseados em interfaces gráficas. SO Para dispositivos móveis: Palm OS; Symbian OS; Windows Mobile; BREW; Android. Gerência de Recursos SO – Gerência de Recursos Um sistema computacional consiste na execução de instruções. Ao ser iniciada a máquina, uma instrução, é colocada no IR. SO – Gerência de Recursos ‐ Bootstrap O primeiro programa em execução é o bootstrap (programa de inicialização/pré‐carga do sistema); Contém instruções para carregar o núcleo (kernel) do S.O., do HD para a memória principal. Kernel IR (Registro de Instrução): um dos registradores do processador. Gerencia as principais funções dentro do S.O. Mas de onde vem essa instrução??? Ex.: Memória, processos, arquivos e dispositivos E/S. SO – Gerência de Recursos ‐ Bootstrap O bootstrap é armazenado no firmware; Firmware: conjunto de instruções operacionais programadas diretamente no hardware, localizado no BIOS (Sistema Básico de Entrada/Saída) da máquina. Atividade em Sala Para que serve o firmware? Cite exemplos de equipamentos que utilizam um firmware. Perguntas. BIOS: armazenado em uma memória não volátil (permanente), como exemplo: ROM, PROM, EPROM, EEPROM ou Flash. Atividade em Sala Respostas: Firmware: software que vem gravado da fábrica, presente em vários tipos de equipamentos, com instruções que permitem o funcionamento; Exemplos: microondas, celulares, câmeras digitais, PlayStation, impressoras, entre outros. SO – Gerência de Recursos Eventos Exemplos: Um clique em um programa que será executado; Um comando de impressão; Salvar um documento. Após sua inicialização, o S.O. permanece em execução e fica no aguardo de algum evento. SO – Gerência de Recursos Eventos Alguns métodos para o S.O. identificar se aconteceu algum evento: Polling: o S.O. “pergunta” para os dispositvos se desejam iniciar algum evento; Interrupção: é provocada pelo hardware ou enviada pelo software. SO – Gerência de Recursos Eventos Os SOs atuais utilizam a interrupção; Quando uma interrupção é gerada: A UCP pára o que está fazendo e executa a outra instrução requisitada. Ao término dessa instrução: Os dados do processo que sofreu a interrupção voltam a ser executados no mesmo ponto de parada. SO – Gerência de Recursos Eventos Portanto, a partir do gerenciamento do processador, memória e dispositivos de E/S pelo SO. é possível a execução de várias tarefas ao “mesmo tempo”, como: jogar, escutar música e Imprimir um documento. Multiprogramação Os endereços de rotinas de interrupção ficam armazenados no vetor de interrupção; Esse vetor é indexado pelo número do dispositivo que gerou a interrupção; Esse número é o endereço do dispositivo. SO – Gerência de Recursos Eventos Vídeo Atividade em Sala Trânsito de motos em Saigon Indique o evento essencial na multiprogramação; Principal objetivo da multiprogramação; Perguntas. Atividade em Sala Respostas: Indique o evento essencial na multiprogramação? R.: Interrupção. Principal objetivo da multiprogramação. R.: Permite a execução de várias tarefas ao “mesmo tempo”. SO – Gerência de Recursos: Processador 8086 Através do processador 8086, podemos visualizar como funciona a base do gerenciamento deste recurso pelo SO; Lançado em 1978, é da família intel, e também, a base dos computadores atuais. SO – Gerência de Recursos: Processador SO – Gerência de Recursos: Processador 8086 Possui 2 processadores no mesmo chip: Unidade de Execução (EU); Unidade de Interface de Barramento (BIU). Cada processador possui seus próprios registros. Trabalham de maneira assincrona com o outro. Unidade de Execução EU SO – Gerência de Recursos: Processador 8086 Unidade de Interface de Barramento (BIU) 8086 Unidade de Interface de Barramento BIU Unidade de Interface de Barramento (BIU) BIU Igual ao IR Proporciona a comunicação com o meio exterior; Composição: Registros de segmento; Registros de comunicação interna; Indicador de instrução (IP); Registro fila (QUEUE); Somador de endereços; Lógica de controle de barramentos. 8086 Unidade de Interface de Barramento BIU Responsável pela comunicação de dados entre a EU e o meio externo (memória, E/S), através do barramento, como: Busca de instruções; Arranjo de instrução na fila (QUEUE); Busca e armazenamento dos operandos; Realocação de endereços e controle dos barramentos. BIU ‐ Funcionamento Se a BIU estiver processando uma pré‐busca, e se a EU requisitar uma operação, a BIU terminará primeiramente a execução de busca. BIU: utiliza um mecanismo de O registro fila é do tipo FIFO: pré‐busca. o primeiro byte armazenado Busca instruções deixando‐ será o primeiro a ser retirado as na fila (QUEUE), pela EU. proporcionando um aumento da velocidade de processamento. Atividade em Sala Quem gerencia a BIU? Qual a importância da BIU em relação ao SO? Perguntas. Atividade em Sala Respostas: Quem gerencia a BIU? R.: SO. Qual a importância da BIU em relação ao SO? R.: O SO gerencia todas as transações das instruções, tanto, internamente (entre os recursos), como também, dos recursos com o meio externo. Unidade de Execução (EU) É responsável pela decodificação e execução de todas instruções; Sua composição: Unidade Lógico‐Aritmética (ULA); Flags (sinalizadores) de estado e controle; Registros gerais; Registros temporários; Lógica de controle de fila. SO – Gerência de Recursos: Processador 8086 Unidade de Execução (EU) 8086 Unidade de Execução EU EU ‐ Funcionamento 1 EU: busca as instruções do registro de fila da BIU. 2 Processa a decodificação destas instruções. 3 Gera endereços de operandos/tarefas. 4 Transfere estes endereços à BIU, requisitando ciclos de leitura/gravação na memória ou E/S. 5 Processa a operação de instrução sobre estes operandos/tarefas. EU ‐ Funcionamento EU ‐ Funcionamento Na execução a EU testa os flags de estado e controle. Quando a EU executa uma instrução de desvio, ela transfere o controle para uma nova localização de memória; Modifica estes flags conforme a instrução. Dessa forma, a EU não precisa esperar pela busca na memória. + Agilidade Geralmente, o registro fila contém no mínimo 1 byte de código de instrução. Neste instante, a BIU reinicia o registro da fila, e passa a executar a pré‐busca das instruções da nova localização. Atividade em Sala Qual a principal função da EU? Perguntas. Atividade em Sala Qual a principal função da EU? R.: Praticamente, ela executa (calcula, decodifica) todo processamento de um processador, ou seja, todo resultado requisitado por uma rotina estabelecida por um programa. Vídeo Nanotecnologia Inovação Nanoestrutura: Memória de computador Registradores Elementos de memória muito rápidos, alocados dentro do processador: Dados; Indicadores/ponteiros e de índice; Segmento; Estado/flags e indicador de instrução. 8086 – Registradores Registradores de dados São utilizados nas operações aritméticas e lógicas, e são divididos em: AX: funciona como acumulador. BX: utilizado p/ referenciar Ex: multiplicação. posições de memória. CX: tem a função de contar o número de bytes/palavras de uma string. DX: é usado em operações, como exemplo, na divisão para armazenar o resto. E ainda, para especificar endereço de E/S. Registradores indicadores/ ponteiros e de índice Armazenam valores de deslocamento a fim de acessar certas posições de memória muito usadas, como, pilha ou uma array, sendo: SP e BP: armazenam deslocamentos no segmento de pilha. SI e DI: usados p/ armazenar deslocamentos no segmento de dados. Registradores de flags Indica o estado do microprocessador durante a execução de cada instrução, sendo, um conjunto de bits individuais, onde, cada bit indica alguma propriedade. Registradores de segmento Áreas alocadas para o programa; Os dados e a pilha são endereçadas separadamente, mas podem se misturar a qualquer momento. CS, DS, SS, ES: são usados para apontar a base dos 4 segmentos endereçáveis de memória: código, dados, pilha e extra. IP: no segmento de código corrente, localiza a posição da próxima instrução a ser executada. Registradores de flags Subdividem‐se em: FLAGS de estado (status) e FLAGS de controle. Registrador de 16 bits: 6 FLAGS de estado; 3 FLAGS de controle; 7 bits não utilizados (sem função). Exemplo de registrador de 16 bits Linguagem de Máquina Exemplo de manipulação direta dos registradores a nível de linguagem de máquina, utilizando a linguagem Assembly (“Assembler”). Por ser uma linguagem de máquina é considerada de baixo nível. Programa em Assembler MOV AX,0006: Insere o valor 0006 no registrador AX; MOV BX,0004: Insere o valor 0004 no registrador BX; ADD AX,BX: Adiciona BX ao conteúdo de AX; INT 20: Finaliza o Programa. Obs.: A única coisa que este programa faz é salvar dois valores em dois registradores e adicionar o valor de um ao outro. Atividade em Sala Qual a função geral dos registradores? Perguntas. Atividade em Sala Qual a função geral dos registradores? R.: Eles são responsáveis por todos arranjos dos dados de uma instrução, ou seja, organizam as entradas das tarefas possibilitando o cálculo do resultado. Os exemplos podem ser: instrução básica de soma, cáculo matemático complexo, jogos, arranjos de textos, montar uma imagem, entre outros. Aprendizado Parabéns a todos vocês, pela busca de conhecimento!!! REFERÊNCIAS: Deitel, H. M.; Deitel, D. R.; Choffnes, D. R.; Sistemas Operacionais. Pearson Education do Brasil, São Paulo, 2005. Machado, Francis B.; Maia, Luiz P.; Arquitetura de Sistemas Operacionais. LTC, Rio de Janeiro, 2007. Mateus, Eloá J. F.; Sistemas Operacionais. Pearson Education do Brasil, São Paulo, 2010. © 2011 – Todos os direitos reservados.Uso exclusivo no Sistema de Ensino Presencial Conectado.