arquitetura de sistemas operativos - student.dei.uc.pthpcosta/so/somod5baula1.pdf · prof. hernani...

36
Prof. Hernani Resumo Conceitos de Multiprocessamento Arquitetura de Sistemas Operativos Hernani Costa [email protected] Sistemas Operativos 2011/2012 Hernani Costa [email protected] TGPSI 09/12 Sistemas Operativos odulo 5B

Upload: vannhu

Post on 17-Nov-2018

253 views

Category:

Documents


0 download

TRANSCRIPT

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Arquitetura de Sistemas Operativos

Hernani Costa

[email protected]

Sistemas Operativos 2011/2012

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

1 Conceitos de MultiprocessamentoIntroducaoGestao de ProgramasControlo de Recursos de Hardware

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Introducao

Os sistemas operativos gerem um conjunto de funcoes basicasque tem evoluıdo ao longo dos tempos.

Vamos entao analisar a evolucao de algumas dessas funcoes:

Gestao de programasControlo de recursos de hardware:

Gestao do MicroprocessadorGestao da MemoriaGestao dos perifericos de entrada e saıda

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Gestao de Programas

Gestao de Programas

A funcao mais importante de um sistema operativo, e queafeta diretamente a sua fiabilidade, e o metodo como estegere a execucao dos programas.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Gestao de Programas

Gestao de Programas - Monotarefa

No caso dos sistemas operativos classificados por monotarefa,estes executam apenas uma tarefa de cada vez.

Vejamos o seguinte exemplo:

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Gestao de Programas

Gestao de Programas - Monotarefa

Imaginemos que estamos a usar um editor de texto e temosnecessidade de ir buscar informacao a uma folha de calculo.

Neste tipo de sistema operativo temos de sair do editor detexto para podermos entrar na folha de calculo e fazer omesmo para voltarmos ao editor de texto.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Gestao de Programas

Gestao de Programas - Monotarefa

Voltando ao editor de texto e na hora da impressao dodocumento e necessario aguardar que todo o documento sejaimpresso ou passado para a memoria da impressora, para queseja possıvel trabalhar novamente com o editor de texto.

Quem ja utilizou o sistema operativo MS-DOS ja passou porestas situacoes.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Gestao de Programas

Gestao de Programas - Multitarefa

Um sistema operativo multitarefa permite que um utilizadortrabalhe com dois ou mais programas em simultaneo.

Na pratica o microprocessador nao executa diversosprogramas de uma so vez, mas reserva uma fracao de tempopara cada um dos programas.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Gestao de Programas

Gestao de Programas - Multitarefa

Existem diferentes tecnicas de gestao da multitarefa.

Consoante o metodo utilizado, a estabilidade do sistemaoperativo e afetada.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Gestao de Programas

Gestao de Programas - Multitarefa Cooperativa

Neste caso de multitarefa cooperativa, os utilizadorespodem executar dois ou mais programas, mas o programa quese encontra em primeiro plano ganha o controlo sobre omicroprocessador e mantem esse controlo ate que a tarefatermine.

So depois e que o microprocessador e libertado para se ocuparcom os restantes programas.

Neste caso o que e que acontece se um dos programas para defuncionar?

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Gestao de Programas

Gestao de Programas - Multitarefa Cooperativa

O programa que esta parado, ou ”travado”, nao liberta omicroprocessador, consequentemente o computador“congela”, ou fica “suspenso”, e o utilizador tem que reiniciaro computador.

O Windows 3.11 e as versoes anteriores a versao Mac OS 8utilizavam este tipo de multitarefa.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Gestao de Programas

Gestao de Programas - Multitarefa Preemptiva

A multitarefa preempetiva e melhor do que a anterior epermite que o sistema operativo recupere o controlo caso umaplicativo interrompa a sua execucao.

O utilizador perde todos os trabalhos que nao tinham sidoguardados no programa que travou, mas a falha nesteaplicativo nao vai influenciar o funcionamento do restantesistema.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Gestao de Programas

Gestao de Programas - Multitarefa Preemptiva

Os sistemas operativos atuais para computadores pessoais jautilizam este tipo de multitarefa, como e o caso do Unix,Linux, Windows 95, 98, M. Windows NT, 2000 e XP, Mac OS8 e versoes mais recentes, e o OS/2, entre outros.

No entanto, nem todos os sistemas que utilizam a multitarefapreemptiva, a gerem de modo eficiente.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Gestao de Programas

Gestao de Programas - Multitarefa Multithreading

Um sistema mais recente de multitarefa e designado pormultithreading e permite que o computador execute maisdo que uma tarefa de um unico programa.

Para facilitar o multithreading, os programadores devemdividir os programas em tarefas distintas, denominadas porthreads.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Gestao de Programas

Gestao de Programas - Multitarefa Multithreading

Por exemplo, podemos ter uma thread a tratar da impressao,enquanto que outra trata da recuperacao de ficheiros.

Com este tipo de multitarefa o utilizador pode estar a executaruma tarefa de um programa aplicativo e em simultaneopodem estar a ser executadas outras tarefas desse programa.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Gestao de Programas

Gestao de Programas - Multitarefa Multithreading

Podemos tambem obter beneficio quando se executam variosprogramas aplicativos.

A thread do programa que se encontra em segundo planocontinua a trabalhar, enquanto o utilizador esta a trabalharcom o programa aplicativo em primeiro plano.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Gestao de Programas

Gestao de Programas - Multitarefa Multithreading

Os sistemas operativos mais eficazes combinam a multitarefapreempetiva e multithreading.

Os sistemas operativos para computadores pessoaismencionados na multitarefa preempetiva tambem suportam omultithreading.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Controlo de Recursos de Hardware

Gestao do Microprocessador

No caso da multitarefa preempetiva e do multithreading, osistema operativo tem que gerir quanto tempo cada tarefa vaiocupar no microprocessador.

Quando mandamos imprimir um documento e de imediatocontinuamos a escrever, nao nos podemos esquecer que osistema operativo vai atribuir uma fracao de tempo a cadatarefa e para o utilizador parece que este esta a realizar tudoem simultaneo.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Controlo de Recursos de Hardware

Gestao do Microprocessador

Este tipo de processamento por partilha no tempo domicroprocessador e conhecido por ”pseudoparalelismo”.

Neste caso, o tempo de execucao das duas tarefas e osomatorio das duas a trabalhar isoladamente.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Controlo de Recursos de Hardware

Gestao do Microprocessador

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Controlo de Recursos de Hardware

Gestao do Microprocessador

Nos sistemas informaticos constituıdos por mais do que ummicroprocessador, e possıvel atribuir a cada um uma tarefadiferente para que o trabalho seja distribuıdo por todos.

Os sistemas operativos tem de estar preparados para poderemrealizar esta gestao e nem todos os sistemas operativos maisrecentes tem esta potencialidade.

O Linux, Unix, Windows NT, 2000, XP, o Mac OS 8 e versoesmais recentes, sao exemplos de sistemas operativos quesuportam multiprocessamento.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Controlo de Recursos de Hardware

Multiprocessamento

Assim, o multiprocessamento e a capacidade de um sistemaoperativo executar simultaneamente dois ou mais processos.

Pressupoe a existencia de dois ou mais processadores.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Controlo de Recursos de Hardware

Multiprocessamento

A ideia e ter mais de um processador que funciona na mesmamemoria mas executa processos simultaneamente.

Difere da multitarefa, pois esta simula a simultaneidade,utilizando-se de - usando - varios recursos, sendo o principal apartilha de tempo de uso do processador entre variosprocessos.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Controlo de Recursos de Hardware

Caracterısticas do Multiprocessamento

Um multiprocessador e um sistema integrado decomputacao com as seguintes caracterısticas:

Envolve dois ou mais processadores fısicos (separados oumultiplos nucleos encapsulados no mesmo chip) ou logicos(processadores com a tecnologia HyperThreading da Intel)com o mesmo poder computacional e cada um capaz deexecutar processos autonomamente.

Os processadores partilham um unico espaco deenderecamento de memoria.

O sistema de hardware e como um todo gerido por um unicosistema operativo.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Controlo de Recursos de Hardware

Caracterısticas do Multiprocessamento

O sistema operativo com suporte a multiprocessamento deveser capaz de:

suportar multitarefa;

manter multiplas filas de processos, uma para cadaprocessador.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Controlo de Recursos de Hardware

Arquitetura de Sistemas Multiprocessados

Sistemas multiprocessados podem ser basicamente de doistipos: SMP e NUMA.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Controlo de Recursos de Hardware

Multiprocessamento simetrico (SMP)

Os processadores partilham a mesma memoria, emborapossam ter caches separadas.

O sistema operativo deve estar preparado para trabalhar comcoerencia de caches e, principalmente, evitar condicoes decorrida na memoria principal.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Controlo de Recursos de Hardware

Acesso nao uniforme a memoria (NUMA)

A cada processador e associado um bloco de memoria.

O sistema operativo trata cada bloco separadamente, poiscada bloco tem um custo de acesso diferente, dependendo dequal o processador a que esta associado e onde esta a serexecutado o processo que tenta aceder a memoria.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Controlo de Recursos de Hardware

Gestao da Memoria

O sistema operativo atribui a cada programa que se encontraem execucao uma fatia de memoria.

Os sistemas operativos mais evoluıdos implementam amemoria virtual, que e um metodo de utilizar o disco rıgidodo computador como uma extensao da memoria RAM.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Controlo de Recursos de Hardware

Gestao da Memoria

Na memoria virtual, as instrucoes e os dados do programa saodivididos em unidades de tamanho fixo, designadas porpaginas.

Se a memoria RAM estiver cheia, o sistema operativoarmazena as paginas num ficheiro do disco rıgido, denominadopor ficheiro de troca (swap file).

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Controlo de Recursos de Hardware

Gestao da Memoria

Quando ha necessidade das paginas armazenadas no discorıgido, elas sao copiadas para a memoria RAM.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Controlo de Recursos de Hardware

Gestao dos perifericos de entrada e saıda

Os perifericos que sao ligados ao computador tem de sergeridos pelo sistema operativo.

Cada periferico gera interrupcoes, que sao sinais enviadospara o microprocessador.

Por exemplo, se o utilizador pressionar uma tecla ou se moverato, geram-se interrupcoes e o sistema operativo vai darordem para executar o programa respectivo a cada pedido deinterrupcao.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Controlo de Recursos de Hardware

Gestao dos perifericos de entrada e saıda

Encontra-se no mercado informatico uma grande variedade demarcas e modelos de perifericos, tais como placas de som,modems, monitores e placas de rede, entre .

Dado que cada dispositivo de um modelo de uma determinadamarca tem as suas proprias caracterısticas, o sistemaoperativo necessita do driver do periferico.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Controlo de Recursos de Hardware

Gestao dos perifericos de entrada e saıda

Os drivers dos perifericos sao programas que conteminformacoes especıficas destes e que sao responsaveis pelainterligacao do periferico com o sistema operativo.

O driver de um periferico e especıfico para um determinadosistema operativo.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Controlo de Recursos de Hardware

Gestao dos perifericos de entrada e saıda

Se houver alteracao de sistema operativo e necessario ter odriver do periferico adequado para que este funcione.

Um periferico sem o driver nao funciona.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B

! Prof. Hernani

Resumo Conceitos de Multiprocessamento

Avaliacao

Trabalho Teorico-Pratico 1

Descreva um dos seguintes conceitos num texto.

Gestao de Programas:MonotarefaMultitarefa

CooperativaPreemptivaMultithreading

O texto devera: ser feito em grupo; enviado por email aoprofessor no final da aula; e devera conter entre 250 a 500palavras.

Hernani Costa [email protected]

TGPSI 09/12 Sistemas Operativos Modulo 5B