Figura 01 Programa e Processo

Documentos relacionados
Processos. Adão de Melo Neto

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

Sistemas de Informação. Sistemas Operacionais

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. Processos e Threads

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

Sistemas Operacionais. Capítulo 5 Processos

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

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

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

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

Sistemas Operacionais

Sistemas Operacionais

Sistemas de Informação. Sistemas Operacionais

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

Sistemas de Informação. Sistemas Operacionais

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

Infraestrutura de Hardware. Funcionamento de um Computador

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

Algoritmos Computacionais

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistemas Operacionais

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 13

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

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


Sistemas Operacionais

COMPUTADOR 2. Professor Adão de Melo Neto

Sistemas Operacionais - UCSAL Professor : Marco Antônio C. Câmara Primeira Lista de Exercícios

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

Sistemas Operacionais. Prof. Fabio Augusto Oliveira

Sistemas Operacionais

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

Sistemas Operacionais I

SSC0112 Organização de Computadores Digitais I

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

Técnicas Avançadas de Programação

Concorrência em Processos

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

Sistemas Operacionais I

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

Barramento. Prof. Leonardo Barreto Campos 1

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

Dispositivos de Entrada e Saída

Organização e Arquitetura de Computadores I

Sistemas de Computação. Processos e escalonamento

Organização e Arquitetura de Computadores INTRODUÇÃO

Sistemas Operacionais (SO)

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. Dr. Daniel Caetano

Hardware e Software. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

SSC510 Arquitetura de Computadores 1ª AULA

14/3/2016. Prof. Evandro L. L. Rodrigues

Processos. Adão de Melo Neto

AGT0001 Algoritmos Aula 01 O Computador

Processos e Threads e em sistemas distribuídos. Prof. Me. Hélio Esperidião

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

Sistemas Operacionais

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. Dr. Daniel Caetano

Sistema Operacional. Etapa

Matéria do Gavião. Capítulos 3, 5e7

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. MSc. Tiago Alves de Oliveira

Estrutura Básica de um Computador

18/10/2010. Unidade de Controle Controle. UC Microprogramada

Projeto Lógico de Computadores. Profa. MSc. Carolina Melo Santana

INFORMÁTICA: Informação automática

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

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS

Otimização de Execução em Processadores Modernos. William Stallings - Computer Organization and Architecture, Chapter 12 [Trad. E.Simões / F.

ICET CURSO: Ciência da Computação e Sistemas de Informação (Sistemas Operacionais Abertos) Estudos Disciplinares. Campus: Data: / / Nome: Questão 1:

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

ORGANIZAÇÃO DE COMPUTADORES

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

Computador Cleópatra

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 7

Introdução à Computação: Arquitetura von Neumann

Sistemas Operacionais. Adão de Melo Neto

Estrutura do Sistema Operacional

Processos. Conceitos Básicos

25/8/2010. Praticamente todas as arquiteturas de computadores fornecem mais de um modo de

Sistemas Operacionais. Sistema de entrada e Saída

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

Sistemas Distribuídos Capítulo 3 - Aula 3

ORGANIZAÇÃO DE COMPUTADORES O PROCESSADOR E SEUS COMPONENTES

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

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

Infra-Estrutura de Software. Escalonamento

Fundamentos de Sistemas Operacionais

Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:

Sistemas Operacionais

Fundamentos de Sistemas Operacionais. Threads. Prof. Edwar Saliba Júnior Março de Unidade Threads

Problemas com Entrada e Saída

Programação. Module Introduction. Cap. 1 Fundamentos de Computadores

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

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

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

Sistemas Operacionais. Processos IC - UFF

Transcrição:

02 PROCESSOS 2.1 Introdução Para poder controlar a execução dos diversos programas e o uso concorrente do processador e dos demais recursos um programa deve sempre estar sempre associado a um processo. Os processos são executados concorrentemente compartilhando o uso do processador, memória principal e dispositivos de E/S. Figura 01 Programa e Processo 2.2 Processos e Concorrência O processador executa instruções sem distinguir qual programa encontra-se em processamento: busca instruções na MP, armazena-a no registrador de instruções (RI) e decodifica seus bits e executa a instrução. O registrador Program counter (PC) armazena sempre a próxima instrução a ser executada Figura 02 Estrutura de um Computador

A figura abaixo ilustra a situação em que o uso da concorrência é benéfica Figura 03 - Concorrência no acesso a um banco de dados de uma loja Processo é definido como o conjunto de informações necessárias para que o sistema operacional implemente a concorrência entre programas. A figura abaixo ilustra a Concorrência entre três programas associados aos respectivos processos. Figura 04 Concorrência entre programas associados a processos

A figura abaixo ilustra a mudança de contexto, ou seja, a troca de um processo por outro no processador Figura 05 Concorrência de Programas associados a processos 2.3 Estrutura de um Processo Um processo é formado por três partes (contexto de hardware, de software e espaço de endereçamento) que juntas mantêm informações necessárias a execução de um programa.

Figura 06 Estrutura de um Processo 2.3.1 Contexto de Hardware O contexto de hardware armazena o conteúdo os registradores gerais, além dos de uso específico, como o program counter (PC), stack pointer Figura 07 Contexto de Hardware A mudança de contexto, base para a implementação da concorrência consiste em salvar o conteúdo dos registradores do processo que está deixando a CPU e carregá-los com os valores do novo processo que será executado.

Figura 08 Mudança de Contexto 2.3.2 Contexto de Software No contexto de software são especificados os limites e características dos recursos que podem ser alocados pelo processo. As figuras abaixo mostram estes limites e características

Figura 09 Contexto de Software Figura 10 Contexto de Software

2.3.3 Espaço de Endereçamento No contexto de software são especificados os limites e características dos recursos que podem ser alocados pelo processo. Figura 11 Espaço de Endereçamento 2.3.4 Bloco de Controle de um Processo O BCP reside na memória principal e mantêm todas informações sobre contexto de hardware, software e espaço de endereçamento de cada processo.

Figura 12 Bloco de Controle de um Processo 2.3.5 Listagem de Processos no Linux A figura abaixo exibe uma lista de processos correntes no linux obtido a partir de um comando usando a linguagem de comandos Figura 13 Listagem de processo no Linux

2.4 Estados de um Processo Um processo pode estar nos seguintes estados: estado de pronto, estado de execução e estado de espera. A figura abaixo explica as características de cada estado. Quando um processo está em estado de espera ou em estado de pronto ele fica respectivamente na lista de estados de espera e de pronto. Figura 14 Estados de um Processo

2.5 Mudanças de Estado de um Processo Um processo pode sofrer as seguintes mudanças de estado: (a) pronto para execução; (b) execução para espera; (c) espera para o estado de pronto e (d) de execução para o estado de pronto. A figura abaixo explica as situações em que ocorrem estas mudanças de estado Figura 15 Mudanças de Estados de um Processo

2.6 Tipos de Processos Os processos podem ser classificado em CPU-bound (ligados à CPU) ou I/Obound (ligado à E/S). Nas figuras abaixo descrevemos cada um deles Figura 16 Processo CPU-bound

Figura 17 Processo I/O-bound Os processos podem também serem classificados em processos foreground e background. Nas figuras abaixo descrevemos cada um deles Figura 18 Processo Foreground

Figura 19 Processo BackGround 2.7 Formas de Criação de um Processo Um processo pode ser criado pelo processo de logon interativo, via linguagem de comandos ou usando rotinas do sistema operacional. As figuras abaixo ilustram cada um destas formas. 2.7.1 Logon Interativo

Figura 20 Criação de um processo via logon 2.7.2 Via Linguagem de Comandos Um processo é criado para atender a um comando da linguagem de comandos do sistema operacional.

Figura 21 Criação de um processo via linguagem de comandos 2.7.3 Via Rotinas do Sistema Operacional Um processo pode ser criado a partir de qualquer programa executável com o uso de rotinas do sistema operacional Figura 22 Criação de um processo com uso de rotinas do sistema operacional 2.8 Processos Independentes, Subprocessos e Threads Processo, subprocessos e thread são formas de implementar a concorrência entre programas. A figura abaixo exemplifica uma situação em que o uso de concorrência é benéfica

Figura 23 Exemplo de situação em que o uso de concorrência é benéfico 2.8.1 Processos Independentes Lembre-se que cada programa está associado a um processo Figura 24 Todo programa está relacionado a um processo 2.8.2 Subprocessos Em subprocesso existe a dependência existência ao processo pai que o criou.

Figura 24 Subprocessos 2.8.3 Thread As threads são uma tentativa de reduzir o tempo gasto na criação/eliminação de processos, troca de contexto em processos na aplicações concorrentes e economizar recursos do sistema como um todo Em uma aplicação multithread um único processo pode suportar múltiplos threads, cada qual associado a uma parte do código da aplicação. Elas compartilham o mesmo contexto de software Figura 26 Thread

A figura abaixo mostra um programa em java desenvolvido utilizando a programação multithread. No referido programa são criadas 5 threads em que cada uma executa chama a função PrintHello. Figura 27 Programação Multithread

Figura 28 Possível saída do programa anterior