Sistemas Operativos: Threads

Tamanho: px
Começar a partir da página:

Download "Sistemas Operativos: Threads"

Transcrição

1 Sistemas Operativos: Threads Pedro F. Souto March 8, 2012

2 Sumário Conceito de Thread Uso de threads Implementação de Threads Escalonamento de Threads Leitura Adicional

3 Processos em Unix Em Unix e SOs dele derivados, como Linux, um processo dispõe essencialmente dum computador virtual: a maioria dos recursos usados por um processo é reservado para seu uso exclusivo; cada processo usa a sua própria memória, a qual, por omissão, não é partilhada com outros processos. Um processo pode ser visto como: Uma máquina virtual para execução de programas em vez de Um programa em execução

4 Comunicação entre Processos em Unix A comunicação entre processos em Unix não é fácil: o processo pai pode passar alguma informação antes de criar o processo filho, mas depois... o processo filho só pode retornar informação (e muito limitada) ao processo pai quando termina; sincronização entre processos só entre o pai e os seus filhos. Suporte de memória partilhada entre processos pelo SO: + facilita a cooperação entre processos; não é muito conveniente de usar; é relativamente ineficiente, já que requer a intervenção do SO para sincronização.

5 Threads Threads abstraiem a execução duma sequência de instruções. Grosso modo, enquanto que um processo corresponde à execução dum programa, um thread corresponde à execução duma função. Em SOs mais recentes, um processo pode incluir mais do que um thread. Text Text Data Data

6 Processador de Texto Multithreaded A ideia é usar um thread por tarefa. Four score and seven nation, or any nation lives that this nation who struggled here here to the unfinished they gave the last full years ago, our fathers so conceived and so might live. It is have consecrated it, far work which they who measure of devotion, brought forth upon this dedicated, can long altogether fitting and above our poor power fought here have thus that we here highly continent a new nation: endure. We are met on proper that we should to add or detract. The far so nobly advanced. resolve that these dead conceived in liberty, a great battlefield of do this. world will little note, It is rather for us to be shall not have died in and dedicated to the that war. But, in a larger sense, nor long remember, here dedicated to the vain that this nation, proposition that all We have come to we cannot dedicate, we what we say here, but great task remaining under God, shall have men are created equal. dedicate a portion of cannot consecrate we it can never forget before us, that from a new birth of freedom Now we are engaged that field as a final cannot hallow this what they did here. these honored dead we and that government of in a great civil war resting place for those ground. The brave It is for us the living, take increased devotion the people by the testing whether that who here gave their men, living and dead, rather, to be dedicated to that cause for which people, for the people Keyboard Kernel Disk 1. Um thread para interagir com o utilizador (teclado e rato); 2. Um thread para formatar o texto (em background); 3. Um thread para guardar o ficheiro periodicamente no disco.

7 Partilha de recursos com Threads Threads dum mesmo processo podem partilhar a maior parte dos recursos, com excepção da stack e do estado do processador: Thread 2 Thread 1 Thread 3 Process Thread 1's stack Thread 3's stack Kernel

8 Estado dum Thread Tal como um processo, um thread pode estar num de 3 estados: running 1 ready 2 3 waiting 4 A informação específica a manter por cada thread é relativamente reduzida: o seu estado (pode estar bloqueado à espera dum evento); o estado do processador (incluindo o SP e PC); a stack. Operações tais como: criação/terminação comutação de threads dum mesmo processo são muito mais eficientes do que operações semelhantes sobre processos

9 Sumário Conceito de Thread Uso de threads Implementação de Threads Escalonamento de Threads Leitura Adicional

10 Uso de Threads Threads dum mesmo processo podem partilhar muitos recursos, incluindo o espaço de endereçamento: são particularmente apropriados para aplicações consistindo em actividades concorrentes. P.ex. servidor da Web: Recebe e processa pedidos de páginas da Web. As páginas da Web são ficheiros guardados em disco. Mantém as páginas acedidas mais recentemente em memória, cache. Se a página pedida não estiver na cache, o servidor tem que ir ao disco.

11 Servidor da Web com um Único Thread while( TRUE ) { get_next_request(&buf); lookup_page_in_cache(buf, &page); if( page == NULL ) read_page_from_disk(buf, &page); send_page(page); } Se a página pedida não estiver na cache, o servidor tem que ir ao disco, bloqueando. Enquanto a página não fôr trazida para memória, o servidor não pode processar outros pedidos. O número de pedidos que este servidor pode processar por unidade de tempo é muito baixo.

12 Servidor da Web com E/S Sem Bloqueio Alguns SOs suportam chamadas ao sistema de E/S que não bloqueiam o processo que as invoca. Posteriormente: o processo pode interrogar o kernel sobre a conclusão da operação (non-blocking I/O); alternativamente, o kernel pode notificar o processo da conclusão da operação (asynchronous I/O). Se a página pedida não estiver na cache, o servidor pode executar uma operação de E/S sem-bloqueio/assíncrona. Depois, pode receber e processar a mensagem seguinte. O servidor tem que manter informação sobre o estado de processamento de cada pedido pendente. Este tipo de solução diz-se event driven, ou baseada numa finite-state machine.

13 Servidor da Web com Múltiplos Threads Um thread, o dispatcher, recebe os pedidos e passa-os a outros threads, os worker. Cada worker thread processa um pedido de cada vez: pode usar operações de E/S que bloqueiem. Web server process Dispatcher thread Worker thread User space Web page cache Kernel Kernel space Network connection

14 Servidor da Web com Múltiplos Threads Código do dispatcher thread: while( TRUE ) { get_next_request(&buf); handoff_work(buf); } Código dos worker threads: while( TRUE ) { wait_for_work(&buf); lookup_page_in_cache(buf, &page); if( page == NULL ) read_page_from_disk(buf, &page); send_page(page); }

15 Servidor da Web: Comparação Modêlo Paralelismo Programação Thread único Não Fácil. Event-driven Sim Trabalhosa. Multi-threaded Sim Nem sempre fácil.

16 Sumário Conceito de Thread Uso de threads Implementação de Threads Escalonamento de Threads Leitura Adicional

17 Implementação de threads Threads podem ser implementados: 1. directamente pelo SO (kernel-level threads); 2. por código que executa em user-level, i.e. acima do SO, (user-level threads).

18 Kernel-level Threads O kernel suporta processos com múltiplos threads: os threads são as entidades que disputam o CPU. O SO mantém uma tabela de threads com a informação específica a cada thread. O PCB dum processo aponta para a sua tabela de threads. Todas as operações de gestão de threads, p.ex. criar um thread, requerem a execução de chamadas ao sistema.

19 User-level Threads O kernel não sabe da existência dos threads: são implementados inteiramente por uma biblioteca em user-space; podem ser implementados num SO que não suporta threads.

20 Implementação de User-level Threads A biblioteca de threads oferece funções que permitem: criar/terminar threads; sincronizar entre threads; ceder o CPU a outros threads (yield); A biblioteca executa a comutação entre threads e mantém uma tabela de threads. Funções que encapsulam chamadas ao sistema que podem bloquear têm que ser alteradas: para evitar que todos os threads bloqueiem. Algumas dificuldades: como executar chamadas ao sistema sem bloquear? e page-faults? como evitar que um thread monopolize o CPU?

21 User-level vs. Kernel-level Threads + O SO não precisa suportar threads. + Evita a intervenção do kernel em muitas operações, p.ex. criação/terminação de threads e comutação de threads. Page-fault por um thread bloqueia os restantes threads do processo. Incapazes de explorar paralelismo em arquitecturas multiprocessador.

22 Implementação Híbrida A ideia é multiplexar user-level threads sobre kernel-level threads Multiple user threads on a kernel thread User space Kernel Kernel thread Kernel space O kernel não está a par dos user-level threads. A biblioteca de user-level threads atribui estes aos kernel-level threads. O número de user-level threads pode ser muito maior do que o de kernel-level threads

23 Sumário Conceito de Thread Uso de threads Implementação de Threads Escalonamento de Threads Leitura Adicional

24 Escalonamento de Threads User-level vs. kernel-level Order in which threads run Process A Process B Process A Process B 2. Runtime system picks a thread Kernel picks a process 1. Kernel picks a thread Possible: A1, A2, A3, A1, A2, A3 Not possible: A1, B1, A2, B2, A3, B3 (a) Possible: A1, A2, A3, A1, A2, A3 Also possible: A1, B1, A2, B2, A3, B3 (b) Quantum de cada processo de 50 ms. Cada thread executa em bursts de 5 ms.

25 Sumário Conceito de Thread Uso de threads Implementação de Threads Escalonamento de Threads Leitura Adicional

26 Leitura Adicional Sistemas Operativos Secção 3.4: Modelo Multitarefa Modern Operating Systems, 2nd. Ed. Secção 2.2: Threads Operating Systems Concepts Secção 4.1: Overview (of threads) Secção 4.2: Multithreading Models

Sistemas Operativos: Threads

Sistemas Operativos: Threads Sistemas Operativos: Threads Pedro F. Souto (pfs@fe.up.pt) March 22, 2011 Sumário Conceito de Thread Uso de threads Implementação de Threads Libpthreads Problemas da Programação com Threads Leitura Adicional

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de processos Controle e descrição de processos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Representação e controle de processos pelo SO Estrutura

Leia mais

Máquinas virtuais. Máquina virtual de um processo. Máquinas virtuais (3) Máquina virtual de sistema. Máquinas virtuais (1) VMware para Windows e Linux

Máquinas virtuais. Máquina virtual de um processo. Máquinas virtuais (3) Máquina virtual de sistema. Máquinas virtuais (1) VMware para Windows e Linux System API Máquinas virtuais System ISA (Instruction Set Architecture) Aplicações Chamadas ao sistema Sistema de Operação Hardware User ISA (Instruction Set Architecture) Uma máquina virtual executa software

Leia mais

Sistemas Operacionais I

Sistemas Operacionais I UFRJ IM - DCC Sistemas Operacionais I Unidade II - Threads 24/04/2014 Prof. Valeria M. Bastos 1 ORGANIZAÇÃO DA UNIDADE Threads Processos Threads Conceituação Descrição e Imagem de uma Thread Tipos de thread

Leia mais

ARQUITECTURA DO WINDOWS

ARQUITECTURA DO WINDOWS ARQUITECTURA DO WINDOWS MS DOS No sistema operativo MS-DOS, a BIOS (Basic Input Output System), disponibilizava os drivers para o hardware por meio de: Interrupções de software O próprio MS-DOS exportava

Leia mais

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO 4 CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO CONCEITOS BÁSICOS MS-DOS MICROSOFT DISK OPERATION SYSTEM INSTALAÇÃO E CONFIGURAÇÃO DE UM SISTEMA OPERATIVO LIGAÇÕES À INTERNET O que é um sistema operativo?

Leia mais

Sistemas Operativos. Threads. 3º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv)

Sistemas Operativos. Threads. 3º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv) Sistemas Operativos Threads 3º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv) Dos Processos para os Threads O conceito de thread foi introduzido na tentativa de

Leia mais

(Aula 15) Threads e Threads em Java

(Aula 15) Threads e Threads em Java (Aula 15) Threads e Threads em Java Um fluxo computacional. A programa maioria de execução, dos seqüencial programas o qual simples consiste realiza tem uma de essa um certa único tarefa Grande característica:

Leia mais

Até o final de década de 70, os sistemas operacionais suportavam apenas processos com um único thread;

Até o final de década de 70, os sistemas operacionais suportavam apenas processos com um único thread; CAPÍTULO VI THREADS 6.1 INTRODUÇÃO Até o final de década de 70, os sistemas operacionais suportavam apenas processos com um único thread; O sistema operacional Toth, em 1979, foi o primeiro a implementar

Leia mais

Sistemas Operativos: Deadlocks

Sistemas Operativos: Deadlocks Sistemas Operativos: Deadlocks Pedro F. Souto (pfs@fe.up.pt) March 30, 2012 Deadlocks Um deadlock é uma situação em que 2 ou mais processos ficam bloqueados indefinidamente pode ser uma race condition

Leia mais

Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread.

Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread. 5 THREADS Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread. 5.1 VISÃO GERAL Uma definição mais abrangente para threads é considerá-lo

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Processos e Threads Andreza Leite andreza.leite@univasf.edu.br Plano de Aula 2 Gerenciamento de Processos Threads Aplicações com múltiplas Threads Concorrência e Compartilhamento

Leia mais

Curso Técnico de Informática de Sistemas

Curso Técnico de Informática de Sistemas Curso Técnico de Informática de Sistemas Módulo: 772 Sistemas Operativos Formador: Henrique Fidalgo Objectivos da UFCD: Instalar e configurar sistemas operativos. Instalar e configurar utilitários sobre

Leia mais

Um cliente de cada vez:

Um cliente de cada vez: Um cliente de cada vez: envia-recebe resposta pedido recebe trata envia o cliente bloqueia-se até que: o servidor receba a mensagem, a trate e lhe responda outros clientes aguardam pela vez Clientes: enviam

Leia mais

Processos e Threads (partes I e II)

Processos e Threads (partes I e II) Processos e Threads (partes I e II) 1) O que é um processo? É qualquer aplicação executada no processador. Exe: Bloco de notas, ler um dado de um disco, mostrar um texto na tela. Um processo é um programa

Leia mais

Sistemas Operacionais Aula 06: Threads. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com

Sistemas Operacionais Aula 06: Threads. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Sistemas Operacionais Aula 06: Threads Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Objetivos Introduzir o conceito de thread Discutir as APIs das bibliotecas de threads Pthreads, Win32

Leia mais

Programação Concorrente Processos e Threads

Programação Concorrente Processos e Threads Programação Concorrente Processos e Threads Prof. Eduardo Alchieri Processos O conceito mais central em qualquer sistema operacional é o processo Uma abstração de um programa em execução Um programa por

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Questões Em uma rede de sobreposição (overlay), mensagens são roteadas de acordo com a topologia da sobreposição. Qual uma importante desvantagem

Leia mais

Sistemas Operativos: Introdução. February 22, 2011

Sistemas Operativos: Introdução. February 22, 2011 Sistemas Operativos: Introdução February 22, 2011 Sumário Introdução aos Sistemas Operativos Organização de Computadores Sistema Operativo Abstracções Oferecidas por um SO Serviços dum SO Interfaces dum

Leia mais

Sistemas Operacionais Processos e Threads

Sistemas Operacionais Processos e Threads Sistemas Operacionais Processos e Threads Prof. Marcos Monteiro, MBA http://www.marcosmonteiro.com.br contato@marcosmonteiro.com.br 1 Estrutura de um Sistema Operacional 2 GERÊNCIA DE PROCESSOS Um processo

Leia mais

Escalonamento no Linux e no Windows NT/2000/XP

Escalonamento no Linux e no Windows NT/2000/XP Escalonamento no Linux e no Windows NT/2000/XP 1 Escalonamento no Linux Os requisitos do escalonador do Linux eram: Apresentar boa performance em programas interativos, mesmo com carga elevada; Distribuir

Leia mais

Processos. Paulo Sérgio Almeida 2005/2006. Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho

Processos. Paulo Sérgio Almeida 2005/2006. Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho Paulo Sérgio Almeida Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho 2005/2006 Conceito de processo Operações sobre processos Conceito de processo Conceito de processo

Leia mais

7 Processos. 7.1 Introdução

7 Processos. 7.1 Introdução 1 7 Processos 7.1 Introdução O conceito de processo é a base para a implementação de um sistema multiprogramável. O processador é projetado apenas para executar instruções, não se importando com qual programa

Leia mais

Processes. Chapter 3 PROCESSOS. O capitulo anterior concentrou-se na comunicação em Sistemas Distribuídos.

Processes. Chapter 3 PROCESSOS. O capitulo anterior concentrou-se na comunicação em Sistemas Distribuídos. Processes Chapter 3 PROCESSOS O capitulo anterior concentrou-se na comunicação em Sistemas Distribuídos. Essa comunicação acontece entre processos e eles são fundamentais em SDs. O conceito de processos

Leia mais

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2)

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2) Arquitectura de um computador Caracterizada por: Conjunto de instruções do processador (ISA Estrutura interna do processador (que registadores existem, etc Modelo de memória (dimensão endereçável, alcance

Leia mais

Segurança: Controlo de Acesso

Segurança: Controlo de Acesso Segurança: Controlo de Acesso November 27, 2009 Sumário Modelo de Controlo de Acesso Matriz de Controlo de Acesso Listas de Controlo de Acesso Capabilities Camadas e Controlo de Acesso Controlo de Acesso

Leia mais

Entrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1

Entrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1 Entrada e Saída Interface entre periféricos, processador e memória Fonte: Minho - Portugal 1 Ligação Processador/Memória - Periférico Processador Memória Controlo Dados Controlador Fonte: Minho - Portugal

Leia mais

Capítulo 8. Software de Sistema

Capítulo 8. Software de Sistema Capítulo 8 Software de Sistema Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture Objectivos Conhecer o ciclo de desenvolvimento da linguagem Java

Leia mais

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com Sistemas Operacionais 2014 Introdução Alexandre Augusto Giron alexandre.a.giron@gmail.com Roteiro Sistemas Operacionais Histórico Estrutura de SO Principais Funções do SO Interrupções Chamadas de Sistema

Leia mais

Sistema Operacional Correção - Exercício de Revisão

Sistema Operacional Correção - Exercício de Revisão Prof. Kleber Rovai 1º TSI 22/03/2012 Sistema Operacional Correção - Exercício de Revisão 1. Como seria utilizar um computador sem um sistema operacional? Quais são suas duas principais funções? Não funcionaria.

Leia mais

Arquitetura de Sistemas Operacionais

Arquitetura de Sistemas Operacionais Arquitetura de Sistemas Operacionais Francis Berenger Machado / Luiz Paulo Maia Processo Profº Antonio Carlos dos S. Souza Estrutura do Processo Contexto de Software Contexto de Hardware Programa Espaço

Leia mais

Sistemas Operativos I

Sistemas Operativos I Arquitectura de um Computador Maria João Viamonte / Luis Lino Ferreira Fevereiro de 2006 Sumário Arquitectura de um Computador Estrutura de I/O Estrutura de Armazenamento Hierarquia de Armazenamento Protecção

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Introdução Um sistema operacional é um programa que atua como intermediário entre o usuário e o hardware de um computador. O propósito

Leia mais

Multithreading. Programação Orientada por Objectos com Java. Ademar Aguiar. MRSC - Programação em Comunicações

Multithreading. Programação Orientada por Objectos com Java. Ademar Aguiar. MRSC - Programação em Comunicações Programação Orientada por Objectos com Java www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt 1 Multithreading 154 Objectivos Ser capaz de: Explicar os conceitos básicos de multithreading Criar threads múltiplos

Leia mais

Introdução à Ciência da Computação

Introdução à Ciência da Computação Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Introdução à Ciência da Computação Aula 05 Rogério Eduardo Garcia (rogerio@fct.unesp.br)

Leia mais

Introdução aos Sistemas Operativos

Introdução aos Sistemas Operativos Introdução aos Sistemas Operativos Computadores e Redes de Comunicação Mestrado em Gestão de Informação, FEUP 06/07 Sérgio Sobral Nunes mail: sergio.nunes@fe.up.pt web: www.fe.up.pt/~ssn Sumário Definição

Leia mais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 05 Estrutura e arquitetura do SO Parte 2 Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC,

Leia mais

1. Discute as vantagens e desvantagens dum sistema de memória paginada, indicando também a importância do sistema dispôr duma memória cache.

1. Discute as vantagens e desvantagens dum sistema de memória paginada, indicando também a importância do sistema dispôr duma memória cache. Frequência II, 3 de Junho de 2011 Grupo A: Gestão de Memória (7 Valores) 1. Discute as vantagens e desvantagens dum sistema de memória paginada, indicando também a importância do sistema dispôr duma memória

Leia mais

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de processos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Introdução Multiprogramação Permite a execução de diversos processos concorrentemente Maior

Leia mais

Gestor de Processos Núcleo do Sistema Operativo. Sistemas Operativos 2011 / 2012. Gestor de Processos

Gestor de Processos Núcleo do Sistema Operativo. Sistemas Operativos 2011 / 2012. Gestor de Processos Gestor de Processos Núcleo do Sistema Operativo Sistemas Operativos 2011 / 2012 Gestor de Processos Entidade do núcleo responsável por suportar a execução dos processos Gestão das Interrupções Multiplexagem

Leia mais

Máquina de estados UNIX O

Máquina de estados UNIX O Estruturas Processos de Controle (Aula 5) Aula Interrupções Profa. Patricia Gerência fluxo, execução D. O Abstração passada Criação podendo de gerar hw e transição sw (mudança de CostaLPRM/DI/UFES que

Leia mais

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

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 Estruturas Processos de Controle (Aula 5) Aula Interrupções Profa. Patricia Gerência fluxo, execução D. O Abstração passada Criação podendo de gerar hw e transição sw (mudança de CostaLPRM/DI/UFES que

Leia mais

Ciência de Computadores Sistemas Distribuídos e Móveis

Ciência de Computadores Sistemas Distribuídos e Móveis Ciência de Computadores Sistemas Distribuídos e Móveis Lista de Exercícios Data: 4 de Novembro de 2013 Questões sobre o capítulo 1, Tanenbaum & van Steen: Fundamentos 1) Explique o significado de transparência,

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos

Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br

Leia mais

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

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional Sistemas Operacionais Prof. Pedro Luís Antonelli Anhanguera Educacional INTRODUÇÃO Sistema Operacional (S.O.) Aplicativos Formado por um conjunto de rotinas que oferecem serviços aos usuários, às aplicações

Leia mais

Curso Profissional de Técnico de Gestão e Programação de Sistemas Informáticos. Sistemas Operativos - 2º Ano

Curso Profissional de Técnico de Gestão e Programação de Sistemas Informáticos. Sistemas Operativos - 2º Ano Curso Profissional de Técnico de Gestão e Programação de Sistemas Informáticos Sistemas Operativos - 2º Ano 2012/2013 O Windows Server 2003 surgiu em 2003 e substituiu o Windows Server 2000. O Windows

Leia mais

Componentes de um Sistema de Operação

Componentes de um Sistema de Operação Componentes de um Sistema de Operação Em sistemas modernos é habitual ter-se as seguintes componentes ou módulos: Gestor de processos Gestor da memória principal Gestor da memória secundária Gestor do

Leia mais

Sistemas Operativos: Escalonamento de Processos

Sistemas Operativos: Escalonamento de Processos Sistemas Operativos: Escalonamento de Processos Pedro F. Souto (pfs@fe.up.pt) March 29, 2011 Sumário Escalonamento de Processos O Problema Algoritmos de Escalonamento de Processos Leitura Adicional Padrão

Leia mais

SISTEMAS OPERACIONAIS 2007

SISTEMAS OPERACIONAIS 2007 SISTEMAS OPERACIONAIS 2007 VISÃO GERAL Sumário Conceito Máquina de Níveis Conceituação de SO Componentes do SO Visões do SO Conceito de Sistemas O que se espera de um sistema de computação? Execução de

Leia mais

Programação Concorrente Conceitos Multiprogramação Threads

Programação Concorrente Conceitos Multiprogramação Threads Programação Concorrente Conceitos Multiprogramação Threads Prof. Gibson Pasquini Nascimento gibson.pasquini@gmail.com O que é Concorrência? Uma unidade concorrente é um componente de um programa que não

Leia mais

4 Estrutura do Sistema Operacional. 4.1 - Kernel

4 Estrutura do Sistema Operacional. 4.1 - Kernel 1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,

Leia mais

Processos. Estados principais de um Processo: Contexto de um Processo. Nível de um Processo. http://www.dei.isep.ipp.pt/~orlando/so2/processos.

Processos. Estados principais de um Processo: Contexto de um Processo. Nível de um Processo. http://www.dei.isep.ipp.pt/~orlando/so2/processos. Página 1 de 5 Processos Consiste num método de descrição das actividades de um sistema operativo; Todo o software incluído no sistema operativo é organizado num grupo de programas executáveis. Cada um

Leia mais

Gestor de Processos. Gestor de Processos

Gestor de Processos. Gestor de Processos Gestor de Processos Núcleo do Sistema Operativo Gestor de Processos Entidade do núcleo responsável por suportar a execução dos processos Gestão das Interrupções Multiplexagem do Processador Despacho efectua

Leia mais

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy) Capítulo 4 João Lourenço Joao.Lourenco@di.fct.unl.pt Faculdade de Ciências e Tecnologia Universidade Nova de Lisboa 2007-2008 MARIE (Machine Architecture Really Intuitive and Easy) Adaptado dos transparentes

Leia mais

Arquitetura de Sistemas Operativos

Arquitetura de Sistemas Operativos Arquitetura de Sistemas Operativos Sistemas Operativos 2011/2012 1 Threads Conceito Um processo é um programa em execução. A execução de um processo é sequencial: pode-se caracterizar um processo pelo

Leia mais

Arquitetura WindowsNT. Sistemas Operacionais. Página 2. 2000-2004 Volnys Bernal. Arquitetura. Arquitetura. Arquitetura. Arquitetura.

Arquitetura WindowsNT. Sistemas Operacionais. Página 2. 2000-2004 Volnys Bernal. Arquitetura. Arquitetura. Arquitetura. Arquitetura. WindowsNT 1 2 Agenda Windows NT Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys! do! Ambiente de Sistema Operacional!! Object! Escalonamento 3 4 Usuário Supervisor I/O Object Microkernel

Leia mais

Sistemas Operacionais

Sistemas Operacionais Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com Sistemas Operacionais Carga horária total:

Leia mais

Grupo I [4v] executaprograma();

Grupo I [4v] executaprograma(); Número: Nome: LEIC/LERC 2012/13-1º Exame de Sistemas Operativos 15/Janeiro/2013 Identifique todas as folhas. Responda no enunciado, apenas no espaço fornecido. Justifique todas as respostas. Duração: 2h30m

Leia mais

GlobalPhone - Central Telefónica. Manual de Configuração do ATA SPA3102 Linksys

GlobalPhone - Central Telefónica. Manual de Configuração do ATA SPA3102 Linksys Manual de Configuração do ATA SPA3102 Linksys Indíce 1 Introdução... 3 2 Upgrade de Firmware... 3 2.1 Verificação da Versão da FW... 3 2.2 Configuração do IP Fixo sem DHCP Server... 4 2.3 Obtenção do IP

Leia mais

ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X

ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X Índice Traduzindo e iniciando uma aplicação Compiladores Assembladores Linkers Loaders DLLs Iniciando um programa em Java Após toda a matéria abordada nesta

Leia mais

É a associação de mais de um fluxo de execução em um único processo.

É a associação de mais de um fluxo de execução em um único processo. Profa. Rita Rodorigo Threads Um processo é uma abstração que reúne uma série de atributos como espaço de endereçamento descritores de arquivos abertos, quotas, etc. Um processo possui ainda uma área de

Leia mais

7 Processamento Paralelo

7 Processamento Paralelo 7 Processamento Paralelo Yes, of course, who has time? Who has time? But then if we do not ever take time, how can we ever have time? (The Matrix) 7.1 Introdução Classificação de Sistemas Paralelos Diversas

Leia mais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 04 - Concorrência. Cursos de Computação

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 04 - Concorrência. Cursos de Computação Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 04 - Concorrência Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC, 2007. Mono x Multiprogramação

Leia mais

Acronis Backup & Recovery 10

Acronis Backup & Recovery 10 Acronis Backup & Recovery 10 Server for Linux Manual de introdução rápido Este documento descreve como instalar e começar a utilizar o Acronis Backup & Recovery 10 Server para Linux. 1. Sistemas operativos

Leia mais

Hardware e Software das TI

Hardware e Software das TI Licenciatura em Gestão de Informação / Sistemas e Tecnologias de Informação Hardware e Software das TI Prof. Victor Lobo Prof. Roberto Henriques Hardware e Software das TI Sistemas Operativos 2 Sistema

Leia mais

Programação com Posix Threads

Programação com Posix Threads 9 Programação com Posix Threads Revisão: Data: 11-03-2016 Cap. 9 1/6 Programação multi-threaded com Pthreads 9.1. O que é uma thread? Um processo represente a execução pelo sistema operativo dum programa.

Leia mais

Xenomai Short Intro. Paulo Pedreiras pbrp@ua.pt DETI/University of Aveiro. Sistemas Tempo-Real Out/2013 (Rev. 1 - Out/2015)

Xenomai Short Intro. Paulo Pedreiras pbrp@ua.pt DETI/University of Aveiro. Sistemas Tempo-Real Out/2013 (Rev. 1 - Out/2015) Xenomai Short Intro Paulo Pedreiras pbrp@ua.pt DETI/University of Aveiro Sistemas Tempo-Real Out/2013 (Rev. 1 - Out/2015) Agenda Adeos Xenomai Introdução Estrutura de domínios Interrupções Threads em modo

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Software em Sistemas Distribuídos Aplicativo ou Sistema Operacional Sincronismo Interação Controles Um sistema operacional moderno provê dois serviços fundamentais para o usuário

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Suporte do Sistema Operacional Material adaptado, atualizado e traduzido de: STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição Objetivos

Leia mais

Interrupções. As interrupções são casos especiais de chamadas de procedimentos.

Interrupções. As interrupções são casos especiais de chamadas de procedimentos. Interrupções Uma interrupção é equivalente a uma chamada de procedimento. A chamada é equivalente a um CALL gerado pela execução de uma instrução. As interrupções são casos especiais de chamadas de procedimentos.

Leia mais

Entradas/Saídas. Programação por espera activa Programação por interrupções

Entradas/Saídas. Programação por espera activa Programação por interrupções Entradas/Saídas Programação por espera activa Programação por interrupções Programação por espera activa 1. O programa lê o estado do periférico: CPU pede ao controlador (IN) o valor no registo ESTADO

Leia mais

Luís Filipe Terra Ferreira, luis.terra@ua.pt Tiago Costa Gonçalves, tiagogoncalves@ua.pt

Luís Filipe Terra Ferreira, luis.terra@ua.pt Tiago Costa Gonçalves, tiagogoncalves@ua.pt Luís Filipe Terra Ferreira, luis.terra@ua.pt Tiago Costa Gonçalves, tiagogoncalves@ua.pt 1 FreeRTOS Esta apresentação tem como objectivo a caracterização, descrição sintética e exemplificação do sistema

Leia mais

Processamento com SPOOL. Utilização do CPU e periféricos. Perfis dos programas. Exemplo IBM 1460 (1963) Problemas no escalonamento.

Processamento com SPOOL. Utilização do CPU e periféricos. Perfis dos programas. Exemplo IBM 1460 (1963) Problemas no escalonamento. Processamento com SPOOL Utilização do e periféricos disco Spool de entrada Spool de saída Computador Puramente sequencial Leitor de cartões operador utilizador impressora resultados 28-02-2007 ASC II -

Leia mais

Controle Parental. Introdução

Controle Parental. Introdução Controle Parental Introdução O acesso das crianças à Internet suscita algumas preocupações aos pais e educadores/as. Contudo, tal como na vida real ou no uso de outros meios de comunicação, os adultos

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso

Leia mais

Visão do Usuário da DSM

Visão do Usuário da DSM Memória Compartilhada Distribuída Visão Geral Implementação Produtos 1 Memória Compartilhada Distribuída Mecanismos tradicionais de comunicação via RPC/RMI ou mensagens deixam explícitas as interações

Leia mais

Sistemas Operativos: Implementação de Processos

Sistemas Operativos: Implementação de Processos Sistemas Operativos: Implementação de Processos Pedro F. Souto (pfs@fe.up.pt) March 8, 2012 Sumário: Implementação de Processos Contexto (Estado) dum Processo Comutação de Processos Escalonamento de Processos

Leia mais

Introdução à Computação: Sistemas Operacionais II

Introdução à Computação: Sistemas Operacionais II Introdução à Computação: Sistemas Operacionais II Ricardo de Sousa Bri.o rbri.o@ufpi.edu.br DIE- UFPI Objetivos Descrever os métodos de alocação de recursos ublizados pelos sistemas operacionais. Descrever

Leia mais

Sistemas Operativos Cap. IV Threads. Prof. José Rogado jose.rogado@ulusofona.pt Universidade Lusófona

Sistemas Operativos Cap. IV Threads. Prof. José Rogado jose.rogado@ulusofona.pt Universidade Lusófona Sistemas Operativos Cap. IV Threads Prof. José Rogado jose.rogado@ulusofona.pt Universidade Lusófona Threads Necessidades e Conceito Modelos de Multithreading Problemas de Threading As Pthreads Windows

Leia mais

O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais. Visão geral de um sistema computacional

O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais. Visão geral de um sistema computacional O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais Laboratório de Sistemas Operacionais Aula 1 Flávia Maristela (flavia@flaviamaristela.com) Tudo o que já vimos antes... Introdução

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência do processador 2 a edição Capítulo 4 Revisão: Fev/2003 Sumário Implementação do conceito de processos e threads Escalonamento Escalonadores não -preemptivos Escalonamento

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Tópico 4 Estrutura do Sistema Operacional Prof. Rafael Gross prof.rafaelgross@fatec.sp.gov.br FUNÇÕES DO NUCLEO As principais funções do núcleo encontradas na maioria dos sistemas

Leia mais

Sistemas Operativos: Implementação de Processos

Sistemas Operativos: Implementação de Processos Sistemas Operativos: Implementação de Processos Pedro F. Souto (pfs@fe.up.pt) March 4, 2014 Sumário: Implementação de Processos Contexto (Estado) dum Processo Comutação de Processos Escalonamento de Processos

Leia mais

Sistemas Operativos. Princípios de sistemas operativos. Rui Maranhão (rma@fe.up.pt)

Sistemas Operativos. Princípios de sistemas operativos. Rui Maranhão (rma@fe.up.pt) Sistemas Operativos Princípios de sistemas operativos Rui Maranhão (rma@fe.up.pt) Agenda objectivos de um computador objectivos de um sistema operativo evolução dos sistemas operativos tipos de sistemas

Leia mais

Processos. Adão de Melo Neto

Processos. Adão de Melo Neto Processos Adão de Melo Neto 1 EXECUTE O SEGUINTE Baixa a aula dos dias 20 MAR 15 e 08 MAI 15 e salve no computador. Feche o browser Inicialize o vmware player e inicialize a máquina virtual ubuntu Inicialize

Leia mais

Componentes de um Sistema de Operação

Componentes de um Sistema de Operação Componentes de um Sistema de Operação Em sistemas modernos é habitual ter-se os seguintes componentes ou módulos: Gestor de processos Gestor da memória principal Gestor da memória secundária Gestor do

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Arquitetura Sistemas Operacionais Andreza Leite andreza.leite@univasf.edu.br Plano de Aula Sistemas monolíticos Sistemas em camadas Sistemas micro-núcleo Modelo Cliente-Servidor Máquinas

Leia mais

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]

Leia mais

Programação de Sistemas

Programação de Sistemas Programação de Sistemas Introdução à gestão de memória Programação de Sistemas Gestão de memória : 1/16 Introdução (1) A memória central de um computador é escassa. [1981] IBM PC lançado com 64KB na motherboard,

Leia mais

Departamento de Informática

Departamento de Informática Departamento de Informática Licenciatura em Engenharia Informática Sistemas Distribuídos época de recurso, 28 de Janeiro de 2009 1º Semestre, 2008/2009 NOTAS: Leia com atenção cada questão antes de responder.

Leia mais