Sistemas Operacionais. BSI / UAB 2013 Hélio Crestana Guardia

Documentos relacionados
Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Sistemas Operacionais

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistemas de Informação. Sistemas Operacionais

Processos. Adão de Melo Neto

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios. Aula 06.

Sistemas Operacionais. Sistema de entrada e Saída

Entrada/Saída. Capítulo 5. Sistemas Operacionais João Bosco Junior -

SISTEMAS OPERACIONAIS

Sistemas Operacionais II. Linux 2: Threads, Escalonamento, Gerenciamento de Memória e Sistemas de Arquivos

Redes de Computadores. INF201 - Fundamentos de Sistemas Operacionais - 2º Período

Sistemas Operacionais

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

Sistemas Operacionais. Interrupção e Exceção

Sistemas Operacionais

Sistemas de Entrada e Saída

Capítulo 2. Multiprogramação. Conteúdo. Objetivo. Recordando. Recordando. DCA-108 Sistemas Operacionais

Processos. Estruturas de Controle

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Fundamentos de Sistemas Operacionais

Sistemas Operacionais

Processos. Processos e Recursos (1) Tabelas de Controle do S.O. Processos e Recursos (2)

Processo. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

Sistemas Operacionais

Sistemas Operacionais Aula 15: Sistemas de I/O. Ezequiel R. Zorzal

Periféricos possuem características diferentes. Periféricos são mais lentos que UCP e Memória Necessita-se de módulos de Entrada/Saída


Introdução aos Sistemas Operacionais

SOP Sistemas Operacionais Módulo 04: Processo

Capítulo 13: Sistemas de E/S. Operating System Concepts with Java 7th Edition, Nov 15, 2006

Entrada e Saída e Dispositivos

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 2. Gerência de Processos

Sistemas Operacionais I

Sistemas Operacionais

Infra-Estrutura de Software. Entrada / Saída

Exercícios de Sistemas Operacionais 3 B (1) Gerência de Dispositivos de Entrada e Saída

ENADE 2011 SISTEMAS OPERACIONAIS

Davidson Rodrigo Boccardo

Sistemas Operacionais Aula 3

Sistemas Operacionais. Processos e Threads

Aula 03 - Concorrência. por Sediane Carmem Lunardi Hernandes

LabSO Gerência de Processos. Processos. Porque eu preciso entender este assunto?

Sistemas Operacionais I

Capítulo 5 Entrada/Saída

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

Arquitetura e Organização de Computadores

SISTEMAS OPERACIONAIS

Sistemas Operacionais

Processos. Conceitos Básicos

Gerência de Entrada e Saída

AULA Nº 08 SISTEMAS OPERACIONAIS. Threads

Infra-Estrutura de Software. Escalonamento

Sistemas Operacionais

14/05/2017. Conceitos de Processos. Conceitos de Processos. Conceito de processo

Dispositivos de Entrada e Saída

Sistemas Operacionais. Rodrigo Rubira Branco

( ) Sistemas de Computação - Unifacs Professor : Marco Antônio C. Câmara - Lista de Exercícios II - Dia 18/10/2009

Arquitetura de Sistemas Operacionais Francis Berenger Machado / Luiz Paulo Maia (Material Adaptado)

Gerência de Dispositivos. Adão de Melo Neto

Sistemas de Entrada e Saída

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Introdução aos Sistemas Operacionais

Sistemas Operacionais. Concorrência

Gerência de Dispositivos. Adão de Melo Neto

Notas da Aula 7 - Fundamentos de Sistemas Operacionais

PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca

Problemas com Entrada e Saída

Infra-Estrutura de Software

Processos O conceito de processos é fundamental para a implementação de um sistema multiprogramável. De uma maneira geral, um processo pode ser entend

Sistemas Operacionais. Capítulo 5 Processos

Estrutura de Sistemas Operacionais. Capítulo 1: Introdução

Notas da Aula 2 - Fundamentos de Sistemas Operacionais

Sistemas Operacionais. Entrada/Saída

Dispositivos de Entrada e Saída

Introdução. Pedro Cruz. EEL770 Sistemas Operacionais

Introdução e Conceitos Básicos

Exceções no Fluxo de Execução: Interrupções e Traps

Introdução a Arquitetura de Sistemas Operacionais. Parte 01

Dispositivos de Entrada e Saída

Sistemas Operacionais

Aula 04. Capítulo 3 Gerência de Processos. 3.1 Conceito de Processo. 3.2 Escalonamento de Processos. 3.3 Opera ões sobre Processos

Programas Aplicativos. Sistema Operacional. Hardware

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Processos. Conceitos Básicos

Sistemas Operacionais (SO)

SOP - TADS Processos. Revisão Ultima aula

Processos. Pedro Cruz. EEL770 Sistemas Operacionais

Capítulo 13: Sistemas de E/S. Operating System Concepts 8 th Edition

SSC0640 Sistemas Operacionais I

Entrada e Saída. Walter Fetter Lages

Fundamentos de Sistemas Operacionais

Processos. Pedro Cruz. EEL770 Sistemas Operacionais

Sistemas de Entrada e Saída

Fundamentos de Sistemas Operacionais

Sistemas Operacionais

Processos. Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa. Fernando Ramos, Nuno Neves, Sistemas Operativos,

SOP - TADS Threads. Revisão Ultima aula. Programa em execução Cada processo têm sua própria CPU

Capítulo 8: Memória Principal. Operating System Concepts 8 th Edition

Transcrição:

Sistemas Operacionais BSI / UAB 2013 Hélio Crestana Guardia

Visão do SO SO: camada de software, executado diretamente sobre o hardware (físico ou virtual) Permite que hardware seja usado de forma eficiente e segura Visões do Sistema Operacional: Máquina abstrata: o SO esconde detalhes da operação e do uso do hardware o SO oferece serviços que simplificam o trabalho do programador Gerente de recursos: o SO controla o funcionamento dos recursos (processador, discos, rede,...) o SO provê compartilhamento seguro e eficiente do uso dos recursos

Processos Programas em execução são tratados como processos SO usa estrutura de dados para manter informações dos processos: o Bloco de controle de processo (Process Control Block) Informações sobre processos: o Identificador do processo (PID), prioridades, credenciais de usuário, permissões, limites de uso de recurso e contabilizações, ponteiros para área de memória contendo o código, ponteiros para área de memória contendo os dados (variáveis estáticas, alocação dinâmica e pilha), informações sobre arquivos abertos, estruturas para tratamento de sinais, mecanismos de comunicação e outros recursos. o Pilha de execução o Contexto: estado dos registradores do hardware o Tabela de páginas o Estado de execução: pronto, bloqueado, terminado,

Threads Uma thread é uma linha de execução de um processo Processos têm ao menos uma thread, associada à função main() (para programas em C) Processos podem ter várias threads Threads de um processo compartilham suas áreas de memória o Código é o mesmo, embora cada thread execute uma função diferente o Área de dados e variáveis são as mesmas para o processo e suas threads o Cada thread tem sua própria pilha o Cada thread tem sua própria cópia do contexto do hardware

Processos X threads Criação Estruturas de controle Compartilhamento de informações Código que executam: funções [diferentes ou várias instâncias da mesma] dentro do mesmo código

Múltiplos processos Multitasking: capacidade do SO de ter mais de um processos (e/ou threads) em execução ao mesmo tempo o Num dado instante, o número de processos que pode estar tendo suas instruções executadas é limitado ao número de processadores o Sistemas Operacionais conseguem salvar contextos de processos (e threads) e restaurálos para continuação da execução posteriormente o Execução do processo interrompido pode prosseguir como se ela não tivesse sido interrompida.

Tipos de processos CPU Bound: predominância de instruções a executar I/O Bound: predominância de operações de Entrada e Saída de dados

Troca de contexto!

Escalonamento Ao compartilhar o uso do processador, SO precisa decidir qual processo a executar quando o processo atual deixa a UCP Diferentes políticas podem ser empregadas Critérios: o Balanceamento do uso o Justiça o Atendimento a prioridades o Rapidez o Maximização do número de processos concluídos

Escalonamento Algoritmos: o FIFO o Round Robin (Lista circular) o Múltiplas filas de prioridade o... Processos p4 p3 p2 p1 Tempo (t)

Interrupções Interrupção é um mecanismo que notifica o processador que uma condição excepcional (evento) ocorreu Uso de interrupções evita que o SO tenha que ficar periodicamente interagindo com controlador de dispositivos para ver se é preciso ler ou transferir dados Tipos de interrupção: o o o Externa: gerada por outro dispositivo, como o controlador de disco, interface de rede ou timer programável Exceção: gerada em decorrência da execução de instruções: Falta de página Divisão por 0 Overflow Acesso inválido à memória Operação ilegal Instrução de interrupção: usada para chamada dos serviços do SO

Tratamento de Interrupções Ao receber sinal de interrupção ou exceção, o processador: o o o Salva na pilha o valor dos flags e o conteúdo do registrador que indica a próxima instrução a executar Usa número da interrupção ou exceção para localizar endereço da rotina de tratamento Endereços das rotinas são mantidos numa área de memória (vetor de interrupções) Desvia execução para a rotina de tratamento Endereço da rotina apropriada é carregado no registrador de instruções (PC) Qual é o papel do SO no tratamento de interrupção ou exceção? o o SO cria rotinas de tratamento e as coloca na memória SO preenche vetor de interrupções com os endereços de suas rotinas Ação típica de uma rotina de tratamento: o Salva registradores que serão usados no código de tratamento da INT o Trata evento ou o Presta serviço solicitado (se INT foi usada para chamada de sistema) o Se processo atual precisa aguardar condição ou se processo mais prioritário ficou pronto com o tratamento da INT: Contexto do processo atual é salvo Escalonador é executado para escolher processo a executar Contexto do processo selecionado é restaurado SO devolve libera o uso do processador, que é desviado para a execução do processo selecionado Resultado: SO sempre retoma o controle quando uma interrupção ocorre

Chamadas de Sistema Serviços oferecidos pelo SO para os programas: Simplificam a programação Proveem acesso seguro aos recursos Promovem compartilhamento ordenado e eficiente dos recursos Acesso: Instrução de interrupção ou Instrução específica de chamada: syscall / sysenter Código do SO é executado com maior nível de privilégio do processador (kernel mode / anel de privilégio 0) Ao executar com privilégio, SO pode executar instruções restritas de acesso ao hardware

Estratégias do SO Para alternar o uso do(s) processador(es) entre vários processos, SO usa multiprogramação e fatias de tempo Multiprogramação: sobreposição de serviços de entrada e saída de dados dos processos solicitantes com a execução de código de outro(s) processo pronto Fatias de tempo: processos não executam sem parar até acabar. o Atribuição do uso do processador é feita por períodos o Dispositivo de timer presente na placa mãe gera interrupções periódicas, programas pelo SO o Rotina de tratamento das interrupções do timer ativa troca de contexto

Gerenciamento de memória Espaço de endereçamento dos processos é virtual Espaço de memória é organizado e gerenciado pelo SO, criando uma tabela de páginas para cada processo Divisão em páginas, contando com o auxílio do hardware SO mantém tabela de páginas para cada processo Processador (MMU) usa tabela de páginas para tradução dos endereços virtuais em endereços reais Threads de um processo compartilham suas áreas de memória, portanto usam a mesma tabela de páginas.

Memória virtual End. Tabela de Segmentos t Endereço Virtual v = (s,p,d) s + s p d s b : : : s' Tabela Segmentos p+s' s' p s : p : Mem Assoc : : : p' p' Tabela de Páginas p' p' d Endereço Real r = p' + d

Memória virtual Páginas dos programas são carregadas na memória por demanda Programas não precisam estar presentes na memória o tempo todo Área de Swap no disco pode ser usada para auxiliar no armazenamento das páginas não residentes Diferentes políticas podem ser usadas para substituir páginas quando há falta de espaço: FIFO, LRU, NRU, Aspectos: o Working set (conjunto de páginas de trabalho) o Trashing

Sistemas de Arquivo Armazenamento persistente em disco: arquivos e diretórios Discos: dispositivos de bloco o Requer organização dos blocos o Transferências ocorrem em blocos SO mantém relação de blocos disponíveis e dos espaços ocupados por diretórios e arquivos Formatação: determinação dos blocos existentes e organização de uma estrutura que indica blocos livres e ocupados Arquivos: conjuntos de blocos o Diferentes formas de organização: listas ou estruturas (i-nodes) Operações: o Ler, gravar, apagar, renomear, remover, manipular diretórios,

Sistemas de Arquivo Transferências de/para uma unidade de armazenamento (disco) é feita em blocos de tamanho fixo (múltiplos de 512 bytes) Processos fazem requisição em tamanhos variados SO lê blocos, copiando-os para buffers, e repassa volumes solicitados aos processos o Próximas leituras podem ser atendidas direto dos buffers SO gera blocos com dados gravados pelos processos o SO pode retardar a escrita, esperando agrupar dados o Possíveis inconsistências no sistema de arquivos de unidades removíveis

Sistema E/S SO gerencia uso dos dispositivos de E/S o Emite comandos para os dispositivos o Atende interrupções geradas pelos dispositivos o Trata erros nas operações desses dispositivos o Provê uma interface para utilização dos dispositivos; se possível a mesma para todos eles, de forma que a sintaxe das operações seja independente dos dispositivos. Controladores de dispositivo (device drivers) fornecem interface aos dispositivos físicos Interação com controladores: o Leitura e escrita via barramento: IN e OUT o DMA o Interrupções

Sistema E/S Organização do software de E/S o Tratadores de interrupção o Controladores de dispositivos o Software de E/S independente de dispositivo o Software de E/S ao nível do usuário

Boa prova! Dúvidas?