Sistemas Operacionais

Documentos relacionados
Sistemas de Informação. Sistemas Operacionais

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

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

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. Capítulo 5 Processos

Sistemas Operacionais

Sistemas Operacionais

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

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

Processos. Adão de Melo Neto

Sistemas Operacionais. Processos e Threads

Prof. Kleber R. Rovai

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

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

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

Sistemas Operacionais

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

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

Capítulo 2 Processos e Threads

Processos. Prof. Gustavo Leitão

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

Sistemas Operacionais I

Sistemas Operacionais

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

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

Processos. Conceitos Básicos

Sistemas Operacionais I

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

Notas da Aula 7 - Fundamentos de Sistemas Operacionais

Processos. Conceitos Básicos

Gerência de Processos. Instituto Federal da Bahia Campus Salvador INF009 - Sistemas Operacionais Profª Flávia Maristela

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

Sistemas de Informação. Sistemas Operacionais

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 13

Processos. Estruturas de Controle

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

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

Fundamentos de Sistemas Operacionais

SSC0640 Sistemas Operacionais I

Davidson Rodrigo Boccardo

Arquitetura de Sistemas Operacionais

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO PROCESSOS PROFESSOR CARLOS MUNIZ

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

SOP - TADS Processos. Revisão Ultima aula

Processos. Conceitos Básicos

Sistemas Operacionais

Thread. Thread. Sistemas Operacionais. Leonard B. Moreira. UNIVERSIDADE ESTÁCIO DE SÁ fevereiro, / 41

Processos. Pedro Cruz. EEL770 Sistemas Operacionais

Sistemas Operacionais

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

SISTEMAS OPERACIONAIS

Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo

Processos. Pedro Cruz. EEL770 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

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

Técnicas Avançadas de Programação

Sistemas Operacionais. Processos IC - UFF

Sistemas de Informação. Sistemas Operacionais

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

Sistemas Operacionais. Conceito de Processos

Sistemas Distribuídos Aula 3

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

ARQUITETURA DE COMPUTADORES

Estrutura do Sistema Operacional

Curso: Redes de Computadores

GERENCIAMENTO DE TAREFAS. Prof. Me. Hélio Esperidião

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS

Figura 01 Programa e Processo

PROCESSOS. Sistemas Operacionais. Vinícius Pádua

Sistemas Operacionais

Sistemas Operacionais

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. Universidade Federal de Minas Gerais. Aula 2. Gerência de Processos

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

Conceitos básicos e serviços dos Sistemas Operacionais

A IMPORTÂNCIA DE THREADS NO DESEMPENHO DE APLICAÇÕES

Capítulo 2 Processos e Threads

Questões de Múltipla escolha

Sistemas Operacionais

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais. Referências Bibliográfica. Referências Bibliográfica

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO Bacharelado em Sistemas de Informação. Processamento Paralelo Threads. Aluno: Wagner Palacio

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

Processos e Threads. Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto

Concorrência em Processos

Fundamentos de Sistemas Operacionais

Programação de Sistemas em Tempo Real

AULA Nº 08 SISTEMAS OPERACIONAIS. Threads

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

SISTEMAS OPERACIONAIS

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

Sistemas Operacionais Aula 3

Disciplina: Sistemas Operacionais

Estados dos processos. Infra Estruturas Computacionais. A troca de contexto. Escalonamento de Processos. Escalonamento de Processos

Sistemas de Computação. Processos e escalonamento

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

Fundamentos de Sistemas Operacionais

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

Transcrição:

Sistemas Operacionais 04 Processos

Introdução Um sistema de computação quase sempre tem mais atividades a executar que o número de processadores disponíveis. Diferentes tarefas têm necessidades distintas de processamento, então, estratégias precisam ser definidas para que cada tarefa receba uma quantidade de processamento que atenda suas necessidades. Assim, é necessário criar métodos para multiplexar o(s) processador(es) da máquina entre as atividades presentes.

Programa x processo programa é um conjunto de uma ou mais sequências de instruções escritas para resolver um problema específico, constituindo assim uma aplicação ou utilitário (estático) processo é a execução, pelo processador, das sequências de instruções definidas em um programa para realizar seu objetivo (dinâmico).

Processo Quando um programa é executado ele se torna um processo Um processo é um programa que foi carregado na memória principal e está pronto para execução Conceito central de qualquer SO multiprogramado; Mantém a capacidade de operações (pseudo)concorrentes;

Processo Transformam uma única UCP em várias UCP s virtuais. Através de processos, um programa pode alocar recursos, compartilhar dados, trocar informações e sincronizar sua execução O SO cria um contexto de execução para rodar um programa (área da RAM a ser usada, arquivos acessados, privilégios de segurança, prioridade etc.)

Compartilhamento de Tempo Nessa solução, cada atividade que detém o processador recebe um limite de tempo de processamento, denominado quantum. Esgotado seu quantum, a tarefa em execução perde o processador e volta para uma fila de tarefas prontas, que estão na memória aguardando sua oportunidade de executar.

Compartilhamento de Tempo

Modelo de Processo Todos os softwares executados (inclusive o SO), são organizados em vários processos sequenciais; Através da multiprogramação, a CPU troca a todo momento, de um processo para outro; Processo constitui uma atividade; possui uma sequencia de instruções a serem executadas, entradas e saidas, além de um estado. Um mesmo programa pode ter vários processos

Modelo de Processo Multiprogramação de quatro programas Modelo conceitual de 4 processos sequenciais, independentes Somente um programa está ativo a cada momento

Estrutura de um Processo Um processo é composto por 3 partes: Contexto de hardware: O contexto de hardware armazena registradores de uso geral e específicos de processador Contexto de software: são especificados limites e características dos recursos alocados pelo processo junto ao SO Espaço de endereçamento: é a área da memória principal reservada ao processo, onde instruções e dados do programa são carregados para execução pelo processador

Estrutura de um processo owner (UID) nome PID registradores gerais prioridade de execução 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

Criação de Processos SO s precisam de mecanismos para criar processos; Principais eventos de criação de processos: -Início do sistema; -Execução de uma chamada de sistema(por um processo em execução processos filhos); -Requisição do usuário; -Inicio de uma tarefa em lote;

Término do processo Depois de iniciado, um processo começa a executar e faz o seu trabalho. Em um dado momento ele encerrará, possíveis razões: -Saída normal (voluntária); -Saída por erro (voluntária); -Erro fatal (involuntária) -Cancelamento por outro processo(involuntário)

Hierarquias de Processos Em alguns SO s, quando um processo cria outro, ambos permanecem de certa forma associados; Subprocessos - Processos e subprocessos criados dentro de uma estrutura hierárquica; Processo pai e processo filho - Dependência entre processos pai e filho Término do processo pai elimina respectiva estrutura de subprocessos filhos

Hierarquias de Processos Processo A Processo B Processo C Processo D Processo E Formam uma hierarquia -UNIX chama isso de grupo de processos - Windows não possui o conceito de hierarquia de processos; Todos os processos são criados iguais

Implementação de Processos Para implementar o modelo de processos, o SO mantém uma tabela de processos ou process control blocks (blocos de controles de processos BCP) -Contém informações sobre: o estado do processo, a alocação de memória, informações sobre o seu escalonamento e etc... - Gerência de processos realizada exclusivamente através de System Calls Criação, alteração, eliminação, suspensão, sincronização, etc ponteiros Estado do processo Nome do processo Prioridade do processo Registradores Limites de memória Lista de arquivos abertos.

Implementação de Processos Bloco de controle do processo (BCP) Todos os PCBs residem em área exclusiva da MP -Limitação desta área é parâmetro do SO, assim como o Nmáx de processos

Troca de contexto O SO também responde à interrupções; Quando o SO interrompe um processo, ele usa seu BCP para armazenar informações sobre os diversos registradores de processador; Permitem que um programa continue mais tarde, exatamente a partir do ponto onde foi interrompido; O SO gerencia as diversas filas de estados através de listas encadeadas de BCPs de processos

Gerenciamento de Filas SO gerencia filas de BCPs para os estados de pronto e bloqueado

Sinais O sinal é usado para sincronização entre processos e SO; Interrupção e exceção ocorre entre HW e SO, sinal ocorre entre SO e processos ou entre processos

Comunicação interprocessos Em ambientes multiprogramação é comum que processos distintos se comuniquem; mecanismos para a comunicação interprocessos (IPC), que podem ser: Sinais: são interrupções de software que notificam a ocorrência de um evento sem permitir a troca de dados entre processos (usado para sincronizar) Troca de mensagens: evoluiu muito, dada a utilização dos sistemas distribuídos, e inclui mecanismos de confirmação e autenticação para troca de dados, inclusive entre plataformas diferentes

Foreground x background Um processo em foreground roda em primeiro plano e permite a comunicação direta do usuário com o processo; Um processo em background roda em segundo plano e não existe a comunicação direta do usuário com o processo Normalmente, os processos em foreground são interativos e os processos em background são processos do tipo lote (batch)

Foreground x background

Estados de Processos Apesar de serem entidades independentes, as vezes precisam interagir com outros;

Estados de Processos Estado de pronto (ready) - Processo aguardando para ser executado; -Temporariamente parado para dar lugar a outro processo Estado de execução -Processo que está sendo executado pela CPU Estado Bloqueado (wait ou blocked) - Processo que aguarda algum evento externo ou liberação de recurso (ex: operação de E/S)

Estados de 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

Mudanças de Estados de Processo Transição 1: ocorre quando o SO, percebe que um processo não pode prosseguir (dados externos); Transição 2: ocorre quando se esgota a fatia de tempo destinada à tarefa (ou seja, o fim do quantum); Transição 3: ocorre quando a tarefa é escolhida pelo escalonador para ser executada, dentre as demais tarefas prontas; Transição 4: quando o recurso solicitado pela tarefa se torna disponível, ela pode voltar a executar

Mudança de Estado do Processo Criação de processo se dá com adição de novo BCP e alocação dos devidos espaços de endereçamento - Estado de criação (new): SO cria novo BCP 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 BCP - 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

Mudança de Estado do Processo Diagrama de estados um processo

Exercícios 1- Qual a importância dos processos na evolução dos Sistemas Operacionais? 2- Qual a diferença entre um processo e um programa? 3- Qual a estrutura de um processo?, comente cada uma de suas partes. 4- Na sua visão qual a principal relação entre um processo e um subprocesso?

Exercícios 5- Qual a estrutura utilizada pelo SO para a implementação de processos?, comente suas principais características. 6- Qual a relação entre sinais e interrupções? Comente suas diferenças 7- Monte o gráfico representativo dos estados e transições de um processo. Explique cada um deles.

Threads é como chamamos cada fluxo de execução do sistema, seja associado a um processo ou no interior do núcleo Em muitas aplicações ocorrem várias atividades ao mesmo tempo; modelo de programação se torna mais simples se decompomos uma aplicação em múltiplos threads;

Threads (a) Três processos cada um com um thread; (b) - Um processo com três threads

Threads - Características permitem um paralelismo de granularidade mais fina (paralelismo de instruções) um processo (paralelismo de aplicações). Para que uma thread possa ser executada ela deve pertencer a algum processo são conhecidas como processos leves. Assim como os processos, as threads possuem estados durante o ciclo de vida.

Threads -Benefícios Velocidade de Criação das Threads: as threads são mais fáceis de criar e destruir que os processos pois elas não tem quaisquer recursos associados a elas. Capacidade de Resposta: a utilização do multithreading pode permitir que um programa continue executando e respondendo ao usuário mesmo se parte dele está bloqueada ou executando uma tarefa demorada. Compartilhamento de Recursos: todos os recursos alocados e utilizados pelo processo aos quais pertencem são compartilhados pelos threads

Threads -Benefícios Economia: como os threads compartilham recursos dos processos aos quais pertencem, é maise conômico criar e realizar a troca de contexto de threads. Desempenho: obtido quando há grande quantidade de computação e E/S, os threads permitem que essas atividades se sobreponham e, logo, melhore o desempenho da aplicação.

Referências MACHADO F. MAIA L Arquitetura de Sistemas Operacionais. Capítulo 5 Processos. Revisto por Sidney Lucena. MARQUES, G. Sistemas Operacionais Conceitos de Processos e threads Aula 3 (Ref. Caps. 3 e 4 do livro) MAZIERO, C. Sistemas Operacionais I Conceitos Básicos. UFFPR. Edição 2011 TANENBAUM, A. Sistemas Operacionais Modernos. 3ª Edição 2010. editora Pearson. SILBERSCHATZ, GALVIN, GAGNE. Fundamentos de Sistemas Operacionais. 8ª Edição 2011 Editora LTC