Sistemas Operacionais - 5 Kernel Prof. M. Sc. Flávio Viotti [email protected] Kernel Definição: “Conjunto de rotinas que fornecem serviços aos usuários, às suas aplicações e também ao próprio sistema” Também conhecido como núcleo do sistema; É importante não confundir núcleo do sistema com aplicações, utilitários ou interpretador de comandos. Kernel Principais funções: Tratamento de interrrupções e exceções Criação e eliminação de processos e threads Sincronização e comunicação entre processos e threads Escalonamento e controle dos processos e threads Gerência de memória Gerência do sistema de arquivos Gerência de dispositivos de E/S Suporte a redes locais e distribuídas Contabilização do uso do sistema Auditoria e segurança do sistema Estrutura do Sist. Operacional Aplicativos Utilitários Núcleo do Sistema Operacional Hardware System Call Chamadas ao núcleo do sistema System Call Aplicação Biblioteca Núcleo do Sistema Operacional Hardware 5 – Processo Estrutura do Processo Contexto de Software Contexto de Hardware Programa Espaço de Endereçamento 5 – Processo Mudança de Contexto Sistema Operacional Processo A Processo B executando Salva registradores do Processo A Carrega registradores do Processo B executando Salva registradores do Processo B Carrega registradores do Processo A executando 5 – Processo Características da Estrutura de um Processo nome PID owner (UID) registradores gerais prioridade de execução data/ hora de criação registrador PC Contexto de Software Contexto de Hardware registrador SP tempo de processador quotas Programa privilégios Espaço de Endereçamento endereços de memória principal alocados registrador de status 5 – Processo Bloco de Controle do Processo (PCB) ponteiros Estado do processo Nome do processo Prioridade do processo Registradores Limites de memória Lista de arquivos abertos .. .. .. .. 5 – Processo Lista de PCBs nos Estados de Pronto e Espera Lista de processos em estado de pronto .. .. . .. . .. .. . .. . PCB# 5 PCB# 1 . .. .. .. . . .. .. .. . . .. .. .. . PCB# 9 PCB# 2 PCB# 4 Lista de processos em estado de espera 5 – Processo Mudanças de Estado do Processo Estado de Execução d b a c Estado de Espera Estado de Pronto 5 – Processo Mudanças de Estado do Processo Estado de Execução Estado de Espera Estado de Pronto Estado de Espera Estado de Pronto residente não residente 5 – Processo Mudanças de Estado do Processo Estado de Execução Estado de Espera Estado de Término Estado de Pronto Estado de Criação 5 – Processo Processos Foreground e Background (a) Processo Foreground entrada saída terminal terminal (b) Processo Background entrada arquivo de entrada saída arquivo de saída 5 – Processo Pipe saída do Processo A entrada do Processo A saída do Processo B entrada do Processo B Processo A Processo B 5 – Processo Processos CPU-bound x I/O-bound E/ S E/ S UCP UCP tempo (a) CPU-bound tempo (b) I/ O-bound