Arquitetura de Sistemas Operacionais

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais - Aula 6
Advertisements

Sistemas Operacionais
Sistemas Operacionais Aula II
Sistemas Operacionais
Sistemas Operacionais
Capitulo 6: Entrada e Saída
Noções de Sistemas Operacionais
Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 5 – Processo1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo.
Sistemas Operacionais - 5
Sistemas Operacionais
Processos e Threads Processos.
Threads (Linha de execução )
Profa. Priscila Facciolli
Sistemas Operacionais
Processos no Unix e Linux
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais Francis Berenger Machado
Arquitetura de Sistemas Operacionais Francis Berenger Machado
Chapter 4: Threads.
Threads Estagiário: Bruno Guazzelli Batista Slides de autoria do Prof Drº Marcos José Santana baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum.
Estudo de Caso 1: UNIX e LINUX
Sistemas Operacionais
Processos Conceitos Básicos.
Estruturas de Controle
Arquitetura de Sistemas Operacionais
Sincronização e Comunicação entre Processos
09/03/10 20:13 Claudio de Oliveira – 1/21.
Threads.
Sistemas Operacionais
Sistemas Operacionais
Sistemas Operacionais I
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais – Machado/Maia 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 10 Gerência.
Unidade 1-1 Processos e Threads
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais – Machado/Maia 11/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 11 Sistema.
SISTEMAS OPERACIONAIS
Sistemas Operacionais
Sistemas Operacionais
Sistemas Operacionais
Sistema Operacional Processos
Processo Entidade dinâmica e efêmera
Sistemas Operacionais Profª Adriana Vettorazzo
Conteúdo 1. Introdução Threads 2. Ambiente Monothread 3. Ambiente Multithread 4. Arquitetura e Implementação 5. Modelos de Programação.
Unidade 2 - Parte 1 Programação Concorrente
Conteúdo Processos e threads Partes do processo
Tornar mais eficiente o aproveitamento dos recursos do computador
Conceito de processos Faculdade PITÁGORAS – Agosto de 2011
Claudio de Oliveira – Processos 09/03/10 20:13 Claudio de Oliveira –
Sistemas Operacionais
Processos.
Processos.
SISTEMAS OPERACIONAIS I
Computação L1: Infra-Estrutura Básica
Prof. Alexandre Monteiro Recife
Sistemas Operacionais
Arquitetura de Sistemas Operacionais
SISTEMAS OPERACIONAIS I
Prof. Werley T. Reinaldo 26/05/  Sistemas Operacionais:  Visão geral  As diferentes imagens do SO:  Visão Usuários;  Visão Projeto.  Multiprogramação;
S ISTEMAS OPERACIONAIS PROCESSOS Horácio Ribeiro.
Capítulo 2 Processos e Threads 2.1 Processos 2.2 Threads
Sistemas Operacionais IV – Gerenciamento de E/S
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
Sistemas Operacionais Processo
Capítulo 4 Estrutura do Sistema Operacional
Transcrição da apresentação:

Arquitetura de Sistemas Operacionais Francis Berenger Machado / Luiz Paulo Maia Complementado por Sidney Lucena (Prof. UNIRIO) Capítulo 5 Processo ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO)

5 – Processo Estrutura do Processo 5/1 ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 5/1

5 – Processo Contexto de Hardware Armazena o conteúdo dos registradores de uso gerais e específicos da CPU PC, IR, SP, Status Register Conteúdo destes registradores é salvo durante a troca de contexto (troca de processos) para posterior recuperação ASO – Machado/Maia – complem. por Sidney Lucena (UNIRIO) 5/2

5 – Processo Mudança de Contexto 5/3 Arquitetura de Sistemas Operacionais – Machado/Maia 5/3

5 – Processo Contexto de Software Especifica características e limites dos recursos alocados ao processo No. Máximo de arquivos abertos, prioridade de execução, tamanho de buffer de E/S, etc Maior parte das informações localiza-se no chamado “arquivo de contas”, de uso do administrador do SO Contexto de Software composto por 3 grupos: Identificação Quotas Privilégio Arquitetura de Sistemas Operacionais – Machado/Maia 5/4

5 – Processo Contexto de Software Identificação – única para cada processo e usuário Process Identification (PID) User Identification (UID) Quotas – limites de cada recurso p/uso do processo Nmáx. de arquivos abertos, tamanho máx. de alocação de memória, Nmáx de operações de E/S, buffer máx p/ E/S, Nmáx de subprocessos, etc Privilégios – ações permitidas ao processo Dividem-se em privilégios que afetam o próprio processo, afetam demais processos e afetam o próprio SO (conta root) Arquitetura de Sistemas Operacionais – Machado/Maia 5/5

5 – Processo Características da Estrutura de um Processo 5/6 Arquitetura de Sistemas Operacionais – Machado/Maia 5/6

5 – Processo Bloco de Controle do Processo (PCB) Cada processo é implementado no SO através do Process Control Block (PCB) Cada PCB mantém todas as informações de contexto do respectivo processo Todos os PCBs residem em área exclusiva da MP Limitação desta área é parâmetro do SO, assim como o Nmáx de processos Gerência de processos realizada exclusivamente através de System Calls Criação, alteração, eliminação, suspensão, sincronização, etc Arquitetura de Sistemas Operacionais – Machado/Maia 5/7

5 – Processo Bloco de Controle do Processo (PCB) 5/8 Arquitetura de Sistemas Operacionais – Machado/Maia 5/8

5 – Processo Estados do Processo Estado de execução Processo que está sendo executado pela CPU Estado de pronto (ready) Processo aguardando para ser executado Geralmente organizados em listas encadeadas Escalonamento da fila (lista) a critério do SO Estado de espera (wait ou blocked) Processo que aguarda algum evento externo ou liberação de recurso (ex: operação de E/S, relógio) Organizados em listas encadeadas Arquitetura de Sistemas Operacionais – Machado/Maia 5/9

5 – Processo Lista de PCBs nos Estados de Pronto e Espera 5/10 Arquitetura de Sistemas Operacionais – Machado/Maia 5/10

5 – Processo Lista de PCBs nos Estados de Pronto e Espera Lista no estado de pronto deve ser organizada de acordo com a prioridade de execução Logo após criação de processo, SO o coloca na fila de pronto Lista no estado de espera deve estar associada a evento ou recurso Quando o evento ocorre, todos os processos da respectiva fila de espera vão para a fila de pronto Quando o recurso é liberado, um número X de processos são colocados para a fila de pronto, X igual ao número de processos que podem acessar o recurso simultaneamente Arquitetura de Sistemas Operacionais – Machado/Maia 5/11

5 – Processo Mudanças de Estado do Processo Processos mudam de estado em função de eventos gerados por ele próprio ou pelo SO De pronto para execução De execução para espera De espera para pronto Nunca vai direto para estado de execução De execução para pronto Em geral, quando ocorre interrupção devido ao término da fatia de tempo alocado para o processo que estava sendo executado Arquitetura de Sistemas Operacionais – Machado/Maia 5/12

5 – Processo Mudanças de Estado do Processo 5/13 Arquitetura de Sistemas Operacionais – Machado/Maia 5/13

5 – Processo Mudanças de Estado do Processo Processos no estado de pronto ou no estado de espera podem estar residentes ou não na MP Processos não-residentes na MP ficam armazenados na memória secundária (disco) Situação onde não há espaço suficiente na MP para todos os processos Técnica para armazenamento de processos na memória secundária e reinserção dos mesmos na memória principal chamada de swapping Arquitetura de Sistemas Operacionais – Machado/Maia 5/14

5 – Processo Mudanças de Estado do Processo 5/15 Arquitetura de Sistemas Operacionais – Machado/Maia 5/15

5 – Processo Mudanças de Estado do Processo Criação de processo se dá com adição de novo PCB e alocação dos devidos espaços de endereçamento Estado de criação (new): SO cria novo PCB mas não coloca processo no estado de pronto por limitação no número de processos ativos Término do processo se dá com a desalocação dos recursos associados e eliminação do respectivo PCB Estado de término (exit): SO desaloca recursos, processo fica inativo, mas PCB ainda não eliminado por razões de contabilização de uso Arquitetura de Sistemas Operacionais – Machado/Maia 5/16

5 – Processo Mudanças de Estado do Processo 5/17 Arquitetura de Sistemas Operacionais – Machado/Maia 5/17

5 – Processo Processos Independentes, Subprocessos e Threads Maneiras diferentes de implementar concorrência numa mesma aplicação Processos Independentes Maneira mais simples Não há vínculo entre processo criado e processo criador Exige criação de novo PCB e alocação própria de espaço de endereçamento Arquitetura de Sistemas Operacionais – Machado/Maia 5/18

5 – Processo Processos Independentes, Subprocessos e Threads Processos e subprocessos criados dentro de uma estrutura hieráquica Processo pai e processo filho Dependência entre processos pai e filho Término do processo pai elimina respectiva estrutura de subprocessos filhos Subprocesso possui PCB e espaço de endereçamento próprio, mas pode compartilhar quotas com processo pai Arquitetura de Sistemas Operacionais – Machado/Maia 5/19

5 – Processo Estrutura de Processos e Subprocessos 5/20 Arquitetura de Sistemas Operacionais – Machado/Maia 5/20

5 – Processo Processo Multithread Criação, eliminação e comunicação entre processos independentes ou subprocessos demanda razoável consumo de recursos Threads Compartilham mesmo contexto de software e espaço de endereçamento Reduz tempo de criação, eliminação, comunicação e troca de contexto entre processos, economizando recursos do sistema Um processo pode suportar múltiplas threads, cada qual associada a uma parte do código Arquitetura de Sistemas Operacionais – Machado/Maia 5/21

5 – Processo Processo Multithread 5/22 Arquitetura de Sistemas Operacionais – Machado/Maia 5/22

5 – Processo Processos Foreground e Background Todo processo possui pelos menos um canal de entrada e um canal de saída a ele associado Canais de entrada (input) e saída (output) podem estar associados a terminais, arquivos ou mesmo a outros processos Canal de saída de um processo pode estar associado ao canal de entrada de outro processo através de um pipe Processo em foreground possui canal de entrada em comunicação direta com usuário Processos em background não possibilitam comunicação direta com usuário Arquitetura de Sistemas Operacionais – Machado/Maia 5/23

5 – Processo Processos Foreground e Background 5/24 Arquitetura de Sistemas Operacionais – Machado/Maia 5/24

5 – Processo Pipe Arquitetura de Sistemas Operacionais – Machado/Maia 5/25

5 – Processo Processos do SO Arquitetura microkernel faz uso intensivo de processos que disponibilizam serviços para outros processos (aplicações e processos do SO) Exemplos: Auditoria e segurança Serviços de rede Contabilização de uso de recursos Gerência de impressão Comunicação de eventos Interface de comandos de linha (shell) Arquitetura de Sistemas Operacionais – Machado/Maia 5/26

5 – Processo Processos CPU-bound x I/O-bound Processos CPU-bound ficam maior parte do tempo no estado de execução e pronto Processos I/O-bound ficam maior parte do tempo no estado de espera Arquitetura de Sistemas Operacionais – Machado/Maia 5/27

5 – Processo Sinais Mecanismo que permite notificar processos da ocorrência de eventos, possibilitando a gerência, a comunicação e a sincronização entre processos Quando um processo identifica a chegada de um sinal, uma rotina de tratamento específica é executada Podem ser gerados por temporizadores, onde um sinal é enviado em decorrência de um timetout Geralmente são originados pelo hardware ou pelo SO, através de interrupções e exceções, ou ainda por outros processos Arquitetura de Sistemas Operacionais – Machado/Maia 5/28

5 – Processo Sinais Arquitetura de Sistemas Operacionais – Machado/Maia 5/29

5 – Processo Sinais A geração propriamente dita ocorre quando o SO notifica o processo através de bits de sinalização localizados no seu PCB Um sinal recebido fica pendente até que o processo seja escalonado para execução e possa tratá-lo Ex: sinal de término (“kill -9 <PID>”) fica pendente até que o processo a ser eliminado seja escalonado para execução Tratamento semelhante ao das interrupções Contexto do processo é salvo e execução é desviada para rotina de tratamento do sinal (signal handler), retornando posteriormente Arquitetura de Sistemas Operacionais – Machado/Maia 5/30

5 – Processo Sinais Tratamento semelhante ao das interrupções Contexto do processo é salvo e execução é desviada para rotina de tratamento do sinal (signal handler) Após tratamento, execução retorna ao processo sinalizado Signal handler pode ser definido no próprio código do programa, podendo bloquear o sinal por um tempo ou em definitivo Sinais estão para processos assim como interrupções e exceções estão para o SO Arquitetura de Sistemas Operacionais – Machado/Maia 5/31

5 – Processo Sinais, Interrupções e Exceções 5/32 Arquitetura de Sistemas Operacionais – Machado/Maia 5/32