Sistemas Operacionais

Documentos relacionados
Sistemas de Informação. Sistemas Operacionais

Sistemas Operacionais. Capítulo 5 Processos

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

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

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

Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais

SISTEMAS OPERACIONAIS

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

Sistemas Operacionais

Processos. Processo (1) Processo (2) Processo (3) Conceitos Básicos

Processos. Conceitos Básicos

Prof. Kleber R. Rovai

Sistemas Operacionais

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

Sistemas Operacionais. Processos e Threads

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

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistemas Operacionais. Conceito de Processos

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

Sistemas de Computação. Processos e escalonamento

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 08. Conceitos sobre processos. Modelos de processos, BCP, contextos, estados de processos.

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

Arquitetura de Sistemas Operacionais

Estrutura dos Sistemas Operacionais. Sérgio Portari Júnior

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS

Processos. Sistemas Operacionais II. Anderson L. S. Moreira

Noções de Processos. Plano da aula. Serviços oferecidos. Definição & Objetivos. Definição & Objetivos. Sistemas Operacionais : introdução

Conceito de Processo. Estados de Processos. Diagrama de Estados de Processos

Unidade 2. Processos Threads Concorrência em Java

Arquitetura de Sistemas Operativos

SISTEMAS OPERACIONAIS. TÁSSIO JOSÉ GONÇALVES GOMES

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

Infra-Estrutura de Software. Escalonamento

Figura 01 Programa e Processo

LICENCIATURA EM COMPUTAÇÃO. Resenha Livro Sistemas Operacionais 4ª edição Capítulo quatro: Gerencia do processador

Notas da Aula 2 - Fundamentos de Sistemas Operacionais

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

Exercícios Cap I. 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) , 1.8 e 1.12 IC - UFF

SISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios

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 - UCSAL Professor : Marco Antônio C. Câmara Primeira Lista de Exercícios

Arquitetura e Organização de Computadores

Processos. Aula Passada. Aula Passada (2) Ciclos de CPU e de I/O (1)

Processos e Threads. Ciclo 2 AT3. Prof. Hermes Senger

Técnicas Avançadas de Programação

Questões de Provas de Períodos Anteriores

Sistemas Operacionais

TAREFAS IMPLEMENTAÇÃO DE TAREFAS AULA 06 Sistemas Operacionais Gil Eduardo de Andrade

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 3. Escalonamento

Sistemas Operacionais Gerenciamento de Processos

Sistemas Operacionais

Estrutura do Sistema Operacional

Notas da Aula 7 - Fundamentos de Sistemas Operacionais

Transcrição:

ANHANGUERA Sistemas Operacionais Prof. Esp. Rafael Gross Processos

Sumário Introdução Conceito de processo Estrutura do processo Estados do processo Mudanças de estado do processo Criação e eliminação de processos Processos independentes, subprocessos e threads Processos foreground e background Processos do sistema operacional Processos CPU-bound e I/O-bound Sinais

Introdução Multiprogramação (relembrando) Execução simultânea de vários programas com o objetivo de tornar mais eficiente o aproveitamento dos recursos do computador Conceitos necessários a multiprogramação Processo Interrupção Proteção entre processos O próprio sistema operacional é um programa

Conceito de processo (1) Diferenciação entre o programa e sua execução Programa Entidade estática e permanente Sequência de instruções Passivo sob o ponto de vista do SO Processo Entidade dinâmica e efêmera Altera seu estado a medida que avança sua execução Composto por programa (código), dados e contexto (vetores)

Conceito de processo (2) Abstração que representa um programa em execução Diferentes instâncias Um programa pode ter várias instâncias em execução, i.e., diferentes processos Mesmo código (programa) porém dados e momentos de execução (contexto) diferentes Forma pela qual o SO enxerga um programa e possibilita sua execução Processos executam Programas de usuários Programas do próprio sistema operacional (daemons)

Estrutura do Processo Programa em execução Unidade de alocação do processador Processo x Programa Contexto de Software programa Espaço de endereçamento Contexto de Hardware

Contexto de Software Identificação Quotas Privilégios

Espaço de Endereçamento Estrutura de um processo nome PID owner (UID) prioridade de execução registradores gerais registrador PC data/hora de criação Contexto de Software Contexto de Hardware tempo de processador registrador SP quotas privilégios Programa Espaço de Endereçamento registrador de status endereços de memória principal alocados

Bloco de Controle do Processo (1) p o n t e i r o s Imagem do Processo (conjunto de atributos) Process Control Block (PCB) Código Pilha Dados (parte modificável do espaço de endereçamento) E s t a d o d o p r o c e s s o N o m e d o p r o c e s s o P r i o r i d a d e d o p r o c e s s o R e g i s t r a d o r e s L i m i t e s d e m e m ó r i a L i s t a d e a r q u i v o s a b e r t o s.

Bloco de Controle do Processo (2) PCB => Process Control Block Identificação Estado Controle identificação estado registrador SP registrador PC registradores de uso geral informações de escalonamento limites de memória privilégios relação de arquivos abertos

Ciclos de vida de um processo Criação Execução Término

Criação (1) Momento da execução Chamadas de sistemas P.ex. fork, wait, etc Pode ser associada a uma sessão de trabalho P.ex. Login de usuários: login + senha -> shell (processo) Identificado por um número único (PID)

Criação (2) Nova tarefa em batch Login interativo Serviço do S.O. Processo filho Exemplo: Unix init login shell ps logout término

Criação (3) Etapas de Criação Atribui um identificador único (PID) Aloca uma entrada na tabela de processos Aloca espaço para o processo Inicializa o PCB (Process Control Block) Coloca o processo na fila apropriada Cria estruturas auxiliares

Execução (1) Processos apresentam dois ciclos básicos de operação Ciclo de processador Tempo que ocupa a CPU Ciclo de entrada e saída Tempo em espera pela conclusão de um evento (p.ex. E/S) Primeiro ciclo é sempre de processador Troca de ciclos por: CPU -> E/S: chamada de sistema E/S -> CPU: ocorrência de evento (interrupção)

Execução (2) Processos CPU bound Ciclo de processador >> ciclo de E/S I/O bound Ciclo de E/S >> ciclo de processador Situação ideal Misturar processos CPU bound com I/O bound Benefícios a nível de escalonamento

Término Final de execução (normal) Por erros P.ex. proteção, aritméticos, E/S, tentativa de execução de instruções inválidas, falta de memória (falta de recurso), exceder limite de tempo, violação de acesso. Intervenção de outros processos (kill) logoff de usuários (forçado)

Relacionamento entre processos (1) Processos: independentes ou cooperativos Processos independentes Não afetam e nem são afetados pelos demais processos Não apresentam relacionamentos com outros processos Processos cooperativos Afetam e são afetados pelos demais processos Apresentam algum tipo de de relacionamento P.ex. Filiação Podem compartilhar recursos Definição de de hierarquia

Relacionamento entre processos (2) Hierarquia de processos Processo criador é processo pai Processo criado é processo filho Representação através de uma árvore Semântica associada: o que fazer na destruição de um processo? Toda a descendência morre A descendência é herdada pelo processo vô Postergar a destruição efetiva do processo pai até o final de todos processos filhos.

Estados do Processo (1) Após criado, o processo necessita entrar em ciclo de processador Hipóteses Processador não está disponível Vários processos sendo criados Que fazer? Criação de um fila de processos aptos (p/ espera pelo processador) Estados de um processo (modelo simplificado) Execução (running) Pronto (ready) Espera ou bloqueado (wait ou blocked)

Estados do Processo (2) Modelo simplicado a dois estados Manter uma fila de processos aptos aa executar Esperando pelo processador ficar livre Escalonador (dispatcher) Atribui o processador a um processo da fila de aptos Pode prevenir um único processo de monopolizar o processador Criação Apto Dispatcher Executando Término Pausa Time-out

Estados do Processo (4) Lista de processos L i s t a d e p r o c e s s o s e m e s t a d o d e p r o n t o. P C B # 5. P C B # 1 L i s t a d e p r o c e s s o s e m e s t a d o d e e s p e r a. P C B # 9.. P C B # 2 P C B # 4

Mudanças de Estado (1) Mudanças de estado do processo (1) E s t a d o d e E x e c u ç ã o b d a c E s t a d o d e E s p e r a E s t a d o d e P r o n t o

Mudanças de Estado (2) Mudanças de estado do processo (2) E s t a d o d e E x e c u ç ã o r e s i d e n t e n ã o r e s i d e n t e E s t a d o d e E s p e r a E s t a d o d e P r o n t o E s t a d o d e E s p e r a E s t a d o d e P r o n t o

Modelo de 5 estados (1) Executando (running) Pronto (ready) Bloqueado (blocked) Criação (new) Destruição (exit)

Modelo de 5 estados (2) Necessidade de filas Admissão Pronto Dispatch Time-out Execução Liberação (término) Novo Saída Ocorrência do Evento (interrupção) Espera do evento (chamada de sistema) Bloqueado

Modelo de 5 estados (3) Mudanças de estado do processo (3) criação e eliminação E s t a d o d e E x e c u ç ã o E s t a d o d e T é r m i n o E s t a d o d e E s p e r a E s t a d o d e P r o n t o E s t a d o d e C r i a ç ã o

Processos suspensos (1) Processador é mais rápido que operações de E/S Possibilidade de todos processos estarem bloqueados esperando por E/S Liberar memória ocupada por estes processos Transferidos para o disco (swap) Estado bloqueado assume duas situações Bloqueado com processo em memória Bloqueado com processo no disco Necessidade de novos estados Bloqueado suspenso (blocked suspend) Apto suspenso (ready suspend)

Processos suspensos (2) Swapping Razões para suspender um processo SO necessita liberar memória para executar um novo processo Solicitação do usuário Comportamento típico de depuradores Temporização Processo deve ter sua execução interrompida por um certo período de tempo Suspensão de um processo por outro processo P.ex. sincronização

Diagrama de estados de processos Novo com suspensão Admissão Admissão Suspensão Pronto, Suspenso Ativação Suspensão Pronto Dispatch Time out Execução Finalização Saída Ocorrência do Evento Ocorrência do Evento Espera do Evento Bloqueado, Suspenso Ativação Bloqueado

Processos Independentes, Subprocessos e Threads (1) Estrutura de processos e subprocessos P r o c e s s o A P r o c e s s o B P r o c e s s o C P r o c e s s o D P r o c e s s o E

Processos Foreground e Background (1) Processos foreground e background ( a ) P r o c e s s o F o r e g r o u n d e n t r a d a s a í d a t e r m i n a l t e r m i n a l ( b ) P r o c e s s o B a c k g r o u n d e n t r a d a s a í d a a r q u i v o d e e n tr a d a a r q u i v o d e s a í d a

Processo Foreground Background (2) Pipe e e n t r a d a d o P r o c e s s o A P r o c e s s o A s a í d a d o P r o c e s s o A e n t r a d a d o P r o c e s s o B P r o c e s s o B s a í d a d o P r o c e s s o B

Processos do Sistema Auditoria e segurança Serviços de rede Contabilização do uso de recursos Contabilização de erros Gerência de impressão Gerência de jobs batch Temporização Comunicação de eventos Interface de comandos (shell)

Processos CPU e IO Bound Processos CPU x IO Bound E / S E / S U C P U C P ( a ) C P U - b o u n d t e m p o t e m p o ( b ) I / O - b o u n d

Sinais Uso de sinais i n t e r r u p ç ã o S i s t e m a O p e r a c i o n a l s i n a l [ c t r l - C ] P r o c e s s o

Sinais Sinais, interrupções e exceções P r o c e s s o P r o c e s s o S i n a i s S i s t e m a O p e r a c i o n a l I n t e r r u p ç õ e s E x c e ç õ e s H a r d w a r e