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

Documentos relacionados
Processos. Conceitos Básicos

Processos. Conceitos Básicos

Processos. Conceitos Básicos

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

Sistemas Operacionais

Processos. Escalonamento de Processos

Processos. Objetivos do Escalonamento. Políticas de Escalonamento. Algoritmos de Escalonamento. Maximizar a taxa de utilização da UCP.

SOP Sistemas Operacionais Módulo 04: Processo

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

Processos. Estruturas de Controle

Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistemas de Informação. Sistemas Operacionais

Sistemas Operacionais. Conceito de Processos

Sistemas Operacionais I

SISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios

Fundamentos de Sistemas Operacionais

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 I

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

Davidson Rodrigo Boccardo

Sistemas de Computação. Processos e escalonamento

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

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.

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

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

Sistemas Operacionais. Processos IC - UFF

Sistemas Operacionais. Capítulo 5 Processos

Sistemas Operacionais

! Os primeiros computadores permitiam a execução de apenas um programa de cada vez, com acesso completo aos recursos do sistema

SISTEMAS OPERACIONAIS

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

Processos. Adão de Melo Neto

Processos. Escalonamento de Processos

Questões de Provas de Períodos Anteriores

Processos. Escalonamento de Processos

Sistemas Operacionais

Sistemas Operacionais

SISTEMAS OPERACIONAIS

Disciplina: Sistemas Operacionais

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

Arquitetura de Sistemas Operativos

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

SOP - TADS Processos. Revisão Ultima aula

Sistemas Operacionais

Prof. Kleber R. Rovai

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

Escalonamento no Unix. Sistemas Operacionais

Sistemas Operacionais

PROCESSOS. Sistemas Operacionais. Vinícius Pádua

SSC0640 Sistemas Operacionais I

Notas da Aula 2 - Fundamentos de Sistemas Operacionais

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

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I SEM/12 PROVA I. Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos

Sistemas Operacionais Aula 07: Scheduling da CPU. Ezequiel R. Zorzal

Técnicas Avançadas de Programação

Processos Volnys B. Bernal Versão de 20/03/2015. Agenda. Processos. Programa x Processo. Programa x Processo. Programa.

Unix: Processos e o Kernel. Sistemas Operacionais

Unix: Processos e o Kernel

Sistemas Operacionais

Máquina de estados UNIX O

Máquina de estados UNIX O. Sistemas Operacionais 2008/1Profa. Patricia S.O. computação: recursos D. S.O S.O. controla eventos no sistema de

Processos. (c) 2005 Volnys B. Bernal Versão de 15/3/2006. Agenda. Processos. Introdução aos Processos. Introdução aos Processos

Sistemas Operacionais. Escalonamento de Processos

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

SSC0640 Sistemas Operacionais I

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

Sistemas Operacionais

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

Sistemas Operacionais & Sistemas de Programação II

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

Processos. Prof. Gustavo Leitão

Capítulo 3: Processos

Sistemas Operacionais

Threads. Agenda. Threads. Processo. Processo. Processo. Processo. (c) Volnys B. Bernal Versão de 22/3/2012

Sistemas de Entrada e Saída

Arquitetura e Organização de Computadores

SSC0640 Sistemas Operacionais I

Nível da Arquitetura do Conjunto das Instruções

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

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 de Computação - Unifacs Professor : Marco Antônio C. Câmara - Lista de Exercícios II - Dia 18/10/2009

Escalonamento no Unix. Sistemas Operacionais

Na Aula Anterior... Interrupções por software e hardware; Temporizadores; RTC; Temporizadores via software. Relação Processos Multiprogramação

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

ARQUITETURA DE COMPUTADORES

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

SO: Escalonamento. Sistemas Operacionais Flavio Figueiredo (

A D M I N I S T R A Ç Ã O D E S I S T E M A S / P E D R O B R A N D Ã O REFERÊNCIAS DOS SLIDES

Fundamentos de Sistemas Operacionais

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais

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

Transcrição:

Processos Conceitos Básicos Processo (1) Abstração usada pelo S.O. para designar a execução de um programa. É caracterizado por uma thread de execução, um estado corrente e um conjunto associado de recursos do sistema. Um processo é um programa individual em execução (uma instância de um programa rodando em um computador). É também referenciado como tarefa (task) ou mesmo job. O processo é uma entidade ativa (i.e., é um conceito dinâmico), ao contrário do programa. Cada processo é representado no SO por estruturas de controle (ex: bloco de controle de processo). LPRM/DI/UFES 2 Processo (2) Processo (3) Uma possível implementação de processos Do ponto de vista da UCP, um processo executa instruções do seu repertório em alguma seqüência ditada pelos valores do registrador PC (program counter). LPRM/DI/UFES 3 LPRM/DI/UFES 4 1

Processo (4) O comportamento de um processo pode ser caracterizado pela seqüência de instruções executadas (trace). Processo (5) A multiprogramação pressupõe a existência de vários processos disputando o processador. Necessidade de algoritmos de escalonamento de processos. overhead LPRM/DI/UFES 5 LPRM/DI/UFES 6 Overhead Criação de processo Execução do escalonamento Tarefa de alternar a CPU entre dois processos O tempo depende muito do hardware Velocidade da memória, no. de registradores, instruções especias de carga de registradores. 1 a 1000 microseg. Troca de contexto LPRM/DI/UFES 7 LPRM/DI/UFES 8 2

Criação de processo #include <stdio.h> void main (int argc, char *argv[]) { int pid; pid = fork(); if (pid < 0) { fprintf (stderr, Fork falhou ); exit (-1);} else if (pid == 0) { printf ( processo filho );} else { printf ( processo pai ); wait (NULL); printf ( filho concluiu ); exit(0);} } Processos: Chamadas de Sistema (SVCs) LPRM/DI/UFES 9 LPRM/DI/UFES 10 Estados de um Processo Modelo de 5 Estados (1) Durante a sua execução, um processo passa por diversos estados, refletindo o seu comportamento dinâmico, isso é, a sua evolução no tempo. Exemplos de estados: New: recém criado. Ready: pronto para execução. Running: em execução. Blocked: esperando por um evento. Exit: processo terminado. Apenas um único processo pode estar no estado running num dado processador, num dado instante. LPRM/DI/UFES 11 LPRM/DI/UFES 12 3

Modelo de 5 Estados (2) Transições de Estados (1) Null New: Um novo processo é criado para executar o programa. Novo batch job. Logon interativo (usuário se conecta ao sistema). S.O. cria processo para prover um serviço (ex: impressão). Processo cria um outro processo ( process spawning ). New Ready: No estado New, recursos foram alocados pelo S.O. mas não existe um compromisso de que o processo será executado. Número de processos já existentes; Quantidade de memória virtual requerida, etc. Manter um bom desempenho do sistema é o fator limitante da criação de novos processos. LPRM/DI/UFES 13 LPRM/DI/UFES 14 Transições de Estados (2) Ready Running: Definido pela política de escalonamento de processos adotada pelo S.O. Running Exit: Processo terminou as suas atividades ou foi abortado. Término normal; Término do processo pai (em alguns sistemas) Excedeu o limite de tempo; Memória não disponível; Erro aritmético ou de proteção; Execução de instrução inválida ou de instrução privilegiada no modo usuário; Intervenção do S.O.(ex: ocorrência de deadlock); Transições de Estados (3) Running Ready : Tempo máximo de execução sem interrupção foi atingida; Processo é preemptado pelo S.O. Running Blocked: Processo requisitou alguma coisa pela qual deve esperar Blocked Ready: Evento pelo qual o processo espera aconteceu. Ready Exit: Processo pai termina um processo filho. Processo pai é terminado, e os processos filhos associados são também finalizados. Blocked Exit: Idem anterior. LPRM/DI/UFES 15 LPRM/DI/UFES 16 4

Troca de Contexto Contexto de um processo são todas as informações necessárias para que o S.O. possa restaurar a execução do processo a partir do ponto interrompido. A troca de contexto ocorre sempre que um novo processo é selecionado para execução (isso é, quando a UCP é chaveada para um outro processo). O tempo de troca de contexto é puro overhead e é dependente de suporte de hardware (ex: salvamento automático do PC). Quando Chavear um Processo Interrupção do relógio Fatia de tempo de posse da UCP expirou; Interrupção de E/S Falta de memória Endereço de memória está na memória virtual (disco); logo deve ser trazido para a memória principal. Trap Ocorrência de erro. Pode fazer com que o processo seja movido para o estado Exit. LPRM/DI/UFES 17 LPRM/DI/UFES 18 Filas do Sistema (1) Um processo sempre faz parte de alguma fila. Eventos realizam a transição de uma fila para outra. Fila de prontos e uma ou mais filas de bloqueados. Filas do Sistema (2) Múltiplas filas de bloqueados LPRM/DI/UFES 19 LPRM/DI/UFES 20 5

Processos Suspensos (1) Processador é tão mais rápido que os dispositivos de E/S que todos os processos em memória poderiam ficar em situação de espera. Mesmo com multiprogramação, o processador poderia ficar a maior parte do tempo ocioso! Aumento de memória para acomodar mais processos: Aumento do custo; Disponibilidade de mais memória geralmente resulta em processos maiores e não em maior número de processos. Swapping: procedimento que consiste em mover todo ou parte de um processo da memória para o disco. Processos Suspensos (2) Quando nenhum dos processos na memória principal está no estado Ready o sistema operacional manda um dos processos bloqueados para o disco, e o coloca numa fila de processos suspensos. LPRM/DI/UFES 21 LPRM/DI/UFES 22 Processos Suspensos (3) O S.O traz então do disco algum outro processo da fila de suspensos ou atende a uma solicitação de criação de um novo processo. O swap é uma operação de E/S e, como tal, existe a possibilidade de tornar o problema ainda pior, caso o sistema de E/S não seja eficiente. Modelo mais elaborado: dois novos estados são então Blocked, suspend: o processo está em memória secundária e aguardando por um evento. Ready, suspend: o processo está em memória secundária mas está disponível para execução, tão logo ele seja carregado na memória principal. OBS: [Blocked: processo está na MP e aguardando por um evento] Processos Suspensos (4) LPRM/DI/UFES 23 LPRM/DI/UFES 24 6

Máquina de Estados do Unix (1) Máquina de Estados do Unix (2) LPRM/DI/UFES 25 LPRM/DI/UFES 26 Máquina de Estados do Linux Referências PROCESS STATE CODES R running or runnable (on run queue) D uninterruptible sleep (usually IO) S interruptible sleep (waiting for an event to complete) Z defunct/zombie, terminated but not reaped by its parent T stopped, either by a job control signal or because it is being traced W. Stallings, ''Operating Systems: internals and design principles'', 6th Edition, Editora Prentice-Hall, 2009. Capítulo 3 (até seção 3.4 inclusa) Deitel H. M.; Deitel P. J.; Choffnes D. R.;, 3ª. Edição, Editora Prentice-Hall, 2005 Capítulo 3 (até seção 3.3 inclusa) Silberschatz A. G.; Galvin P. B.; Gagne G.; ''Fundamentos de Sistemas Operacionais'', 8a. Edição, Editora LTC, 2010. Capítulo 3 LPRM/DI/UFES 27 LPRM/DI/ UFES 28 7