75
Prof. Carlos Alberto Seixas Sistemas Operacionais – Aulas 7,8 e 9

Sistemas Operacionais – Aulas 7,8 e 9

  • Upload
    chun

  • View
    33

  • Download
    0

Embed Size (px)

DESCRIPTION

Sistemas Operacionais – Aulas 7,8 e 9. Prof. Carlos Alberto Seixas. Agenda da aula. Parte I - Interpretando a notícia Parte II – Respondendo Questionário Parte III – Revisão dos Conceitos Parte IV - Teoria de SO - Classificação. Parte I. Interpretando a Notícia. SO no mundo. - PowerPoint PPT Presentation

Citation preview

Page 1: Sistemas Operacionais – Aulas 7,8 e 9

Prof. Carlos Alberto Seixas

Sistemas Operacionais – Aulas 7,8 e 9

Page 2: Sistemas Operacionais – Aulas 7,8 e 9

Agenda da aulaParte I - Interpretando a notícia Parte II – Respondendo QuestionárioParte III – Revisão dos ConceitosParte IV - Teoria de SO - Classificação

Page 3: Sistemas Operacionais – Aulas 7,8 e 9

Interpretando a Notícia

Parte I

Page 4: Sistemas Operacionais – Aulas 7,8 e 9

SO no mundo...Blog do Planalto Fonte: IDG NOW

Page 5: Sistemas Operacionais – Aulas 7,8 e 9

Parte IIRespondendo o questionário:

Page 6: Sistemas Operacionais – Aulas 7,8 e 9

Questões1. Qual a função do kernel para o sistema operacional?2. Quais as características um sistema operacional

deve manter?3. Quais os componentes de um SO?4. Cite um exemplo:

De um programa e um processo criado por ele no SO Windows XP.

Localize e descreva a quantidade de memória utilizada pelo processo criado.

5. Defina e diferencie: programa e processo.

Editar arquivo com as respostas e enviar para:[email protected]

Page 7: Sistemas Operacionais – Aulas 7,8 e 9

Questão 11. Qual a função do kernel para o sistema

operacional?“Um Sistema Operacional pode ser definido como um

gerenciador dos recursos que compõem o computador (processador, memória, I/O, arquivos, etc). Os problemas centrais que o Sistema Operacional deve resolver são o compartilhamento ordenado, a proteção dos recursos a serem usados pelas aplicações do usuário e o interfaceamento entre este e a máquina.” Stemmer.

- tratamento de interrupções; - gerenciamento de processos (criação e destruição de processos; -sincronização e comunicação entre processos, ...); - gerenciamento de memória; - gerenciamento do sistema de arquivos; - operações de E/S

Page 8: Sistemas Operacionais – Aulas 7,8 e 9

Questão 22. Quais as características um sistema

operacional deve manter?Eficiência

Baixo tempo de resposta, pouca ociosidade da UCP e alta taxa de processamento.

ConfiabilidadePouca incidência de falhas e exatidão dos dados computados.

MantenabilidadeFacilidade de correção ou incorporação de novas

características.Pequena dimensão

Simplicidade e baixa ocupação da memóriaConcorrência

Capacidade de manutenção de tarefas concorrentesCompartilhamento de recursos

Gerencia de recursos de hardware e software compartilhados

Page 9: Sistemas Operacionais – Aulas 7,8 e 9

Questão 33. Quais os componentes de um SO?Núcleo

Responsável pela gerência do processador, tratamento de interrupções, comunicação e sincronização de processos.

Gerente de MemóriaResponsável pelo controle e alocação de memória aos

processos ativos.Sistema de E/S

Responsável pelo controle e execução de operações de E/S e otimização do uso dos periféricos.

Sistema de ArquivosResponsável pelo acesso e integridade dos dados

residentes na memória secundária.Processador de Comandos / Interface com o

UsuárioResponsável pela interface conversacional com o usuário.

Page 10: Sistemas Operacionais – Aulas 7,8 e 9

Questão 44. Cite um exemplo:

De um programa e um processo criado por ele no SO Windows XP.

Localize e descreva a quantidade de memória utilizada pelo processo criado.

Programa: Paint, Processo mspaint.exeMemória: 2.308 Kb

Page 11: Sistemas Operacionais – Aulas 7,8 e 9

Questão 55. Defina e diferencie: programa e processo.Programa: é um conjunto de instruções

ordenadas e armazenadas em determinado sistema de arquivos, que possui uma finalidade específica.

Processo: é um programa ou parte integrante deste em seu estado de execução, ocupando memória principal e processamento, em outras palavras, é a ação de execução de um determinado programa.

Page 12: Sistemas Operacionais – Aulas 7,8 e 9

Recordando a definiçãoProcessosSão execuções em andamento no sistema,

para realização de tarefa, o Kernel e o escalonador são responsáveis por criarem as threads (organiza e exercuta processos), o Kernel ele controla a parte do hardware é faz com que os processos sejam executados na cpu, diferente do escalonador que organiza qual dos processos tem mais prioridades para serem processados.

Page 13: Sistemas Operacionais – Aulas 7,8 e 9

Parte IIIBreve revisão dos conceitos

Page 14: Sistemas Operacionais – Aulas 7,8 e 9

Recordando...O QUE É UM SISTEMA OPERACIONAL.O QUE É UM SISTEMA OPERACIONAL.Sistema Operacional é um programa que

atua como um intermediário entre o usuário (seja ele um usuário "real" ou aplicativo) e o hardware do computador. O Sistema Operacional cria uma camada de abstração entre o usuário e o hardware facilitando a vida do usuário e também possui rotinas (bibliotecas) que gerencia todo o seu hardware.

Page 15: Sistemas Operacionais – Aulas 7,8 e 9

SO

Page 16: Sistemas Operacionais – Aulas 7,8 e 9

Recordando.... Kernel

Kernel

Page 17: Sistemas Operacionais – Aulas 7,8 e 9

Recordando ...KernelO QUE É UM KERNEL.O Kernel é o software que fornece serviços

básicos para todas as outras partes de um SO. De forma mais detalhada, o Núcleo é um conjunto de rotinas que oferecem serviços aos usuários do sistema e suas aplicações, bem como a outras rotinas do próprio SO.

Page 18: Sistemas Operacionais – Aulas 7,8 e 9

Processos São execuções em andamento no sistema,

para realização de tarefa, o Kernel é o escalonador são responsável por criarem as threads (organiza e exercuta processos), o Kernel ele controla a parte do hardware é faz com que os processos sejam executados na cpu, diferente do escalonador que organiza qual dos processos tem mais prioridades para serem processados.

Page 19: Sistemas Operacionais – Aulas 7,8 e 9

ProcessosProcesso é o conceito central em qualquer

sistema operacional, uma abstração de um programa em execução, ou seja, o programa é o código e o processo é a execução.

Programa

P1

P2 P3

Processo

Execução

Page 20: Sistemas Operacionais – Aulas 7,8 e 9

Na prática...Os computadores podem fazer várias

tarefas ao mesmo tempo: enquanto executa um programa do usuário, ele pode estar lendo os dados de um disco e também enviando algo para ser impresso.

Na realidade ele esta executando vários processos, saltando um a um tão rápido que nos dá a falsa impressão que estão sendo executados todos ao mesmo tempo, é o que chamamos de processos seqüenciais.

Page 21: Sistemas Operacionais – Aulas 7,8 e 9

CHAMADAS DE SISTEMASAs chamadas ao Sistemas são um

mecanismo que tem por objetivo proteger o Núcleo do sistema e de acessar os seus serviços.

Quando uma aplicação ou um programa deseja utilizar algum serviço do Sistema Operacional, realiza a chamada por meio de uma Rotina( procedimento de biblioteca) e essa rotina acessa a System Calls que retorna o dado(objeto, instrução) requerida.

Page 22: Sistemas Operacionais – Aulas 7,8 e 9

Exemplo System CallsA System Calls ReadPara podermos acessar a System Calls Read é

necessário fazer uma chamada através da rotina da biblioteca, que por ocasião tem o mesmo nome Read.

E quem faz essa chamada a biblioteca é o programa ou o usuário.

Que no caso se o programa é escrito em C ficaria assim: contador = read (arquivo,buffer,nbytes)

A System Calls após receber a chamada da biblioteca, vai no lugar alocado e retorna o resultado de nbytes do arquivo ao usuário.

Page 23: Sistemas Operacionais – Aulas 7,8 e 9

Níveis de AcessoPara melhor proteção do núcleo do S.O,

existe dois níveis de acesso: Modo de acesso privilegiado: que pode

entrar no Kernel e interagir com ele, tem o poder de comprometer o sistema pois atuam diretamente no hardware. Mas só o S.O, por segurança, tem acesso a esse modo e acesso total de instrução do processador;

Modo usuário ou não privilegiado: que não fornece nenhum tipo de perigo pois tem acesso a um número reduzido de instruções.

Page 24: Sistemas Operacionais – Aulas 7,8 e 9

Shell e System CallsO interpretador de comando chamado de Shell é

extremamente útil.É a interface primária entre o usuário e o S.O, Ele e o núcleo são programas separados que se

comunicam através de um conjunto de System Calls . Nele o usuário digita um comando e o Shell comunica-se com o núcleo e pede que crie um processo filho. O processo filho executará o comando através de uma System Calls .

Page 25: Sistemas Operacionais – Aulas 7,8 e 9

Esquema Shell e System Calls

Syste

m

Calls

Núcleo

Syste

m

Calls

SO

Shell

Page 26: Sistemas Operacionais – Aulas 7,8 e 9

Classificação de SO

Parte IV

Page 27: Sistemas Operacionais – Aulas 7,8 e 9

Classificação de SOPodemos classificar os SOs segundo dois enfoques:A arquitetura de seu kernelCapacidade de processamento

Page 28: Sistemas Operacionais – Aulas 7,8 e 9

Classificação de SOSegundo a arquitetura de seu

kernel:Monolítico;Microkernel;Híbrido;

Page 29: Sistemas Operacionais – Aulas 7,8 e 9

Kernel monolítico ou mono-blocoÉ um kernel que implementa uma

interface de alto nível para possibilitar chamadas específicas do sistema para gestão de processos, concorrência e gestão de memória por parte dos módulos dedicados que são executados com privilégios especiais.

Page 30: Sistemas Operacionais – Aulas 7,8 e 9

Kernel monolítico ou mono-bloco É uma arquitetura de kernel onde todo o

kernel é executado no espaço do kernel no modo de privilegiado ou de supervisão.

Como em outras arquiteturas (microkernel e kernel híbrido), o kernel define uma camada de alto nível de abstração sobre o hardware do computador, com um conjunto de primitivas ou chamadas de sistema para implementar os serviços do sistema operacional como gerenciamento de processos, concorrência e gestão de memória em um ou mais módulos.

Page 31: Sistemas Operacionais – Aulas 7,8 e 9

Utilização da memória pelo kernel e pelo usuário

Um sistema operacional convencional separa a memória virtual em espaço do kernel e espaço do usuário.

Page 32: Sistemas Operacionais – Aulas 7,8 e 9

Esquema de utilização da memóriaAs aplicações funcionam aparentemente com

uma grande gama de endereços contíguos, mas, na realidade, as partes estão dispersas em torno da RAM e as partes inativas são guardadas em um arquivo em disco.

Aplicações Fisicamente

Page 33: Sistemas Operacionais – Aulas 7,8 e 9

Memória virtualA memória virtual consiste num conjunto de

recursos de hardware e software que possui três funções básicas:

Assegurar que cada processo (aplicação) tenha o seu próprio espaço de endereçamento, começando em zero (problema de recolocação),

proteção de memória, para impedir que um processo utilize um endereço de memória que não lhe pertença,

possibilitar que uma aplicação utilize mais memória do que a fisicamente existente (essa é a função mais conhecida)

Page 34: Sistemas Operacionais – Aulas 7,8 e 9

Espaço do kernel e espaço do usuárioO espaço do kernel é

estritamente reservado para o kernel, extensões do kernel e alguns drivers de dispositivos. Em muitos sistemas operacionais, o espaço de memória ocupada pelo kernel nunca é paginada no disco.

O espaço de memória do usuário (no qual funcionam todos os aplicativos de modo usuário) pode ser paginada no disco sempre que necessário.

Page 35: Sistemas Operacionais – Aulas 7,8 e 9

Espaço do Kernel (Kernel Space)É o modo protegido, onde rodam os serviços/servidores/módulos

essenciais.No caso dos SO com Microkernel eles são o mínimo possível, no

caso dos monolíticos, vários serviços. Qualquer problema no kernel space pode derrubar o sistemaOs defensores dos SO com microkernel acreditam que uma

abordagem simples no kernel aumenta a estabilidade e confiabilidade do sistema, já que qualquer serviço problemático pode ser desativado, reinicializado, substituído ou atualizado sem precisar rebootar o sistema.

Page 36: Sistemas Operacionais – Aulas 7,8 e 9

Processos e Memória VirtualCada processo no espaço de usuário executa no

seu próprio espaço de memória virtual e, exceto se requisitado, não pode acessar a memória de outro processo.

Essa é a base de proteção de memória nos principais sistemas operacionais de hoje.

Dependendo do privilégio, os processos podem requisitar ao kernel o mapeamento de parte de outros espaços de memória de processos para os seus próprios como é o caso de depuradores.

Os programas podem, inclusive, requisitar áreas de memória compartilhadas com outros processos.

Page 37: Sistemas Operacionais – Aulas 7,8 e 9

SO experimentaisUma outra abordagem de sistemas

operacionais experimentais é ter um único espaço de endereços para todo software e invocar a linguagem de programação da máquina virtual para certificar-se de que memória RAM não possa ser acessada.

Os aplicativos simplesmente não podem adquirir nenhuma referência dos objetos os quais não são permitidos o acesso. Essa abordagem tem sido implementada no JXOS (Jnode), Unununium bem como no projeto de pesquisa da Microsoft Singularity

Page 38: Sistemas Operacionais – Aulas 7,8 e 9

Kernel MonolíticoMais da metade dos grandes sistemas

operacionais usam a arquitetura monolítica.

Os sistemas operacionais de kernel monolítico tem seus problemas.

Há um grande campo de pesquisas para outros meios de se criar um kernel, dentre os mais famosos, se destaca o microkernel.

Page 39: Sistemas Operacionais – Aulas 7,8 e 9

Exemplos de SO com kernel monolíticoLinux, BSD, DOS, Windows 95 a ME, Solaris.

Page 40: Sistemas Operacionais – Aulas 7,8 e 9

Problemas no kernel monolíticoMesmo que cada módulo tenha suas

operações independentes é muito difícil fazer a integração entre todos estes módulos, uma vez que todos os módulos executam num mesmo espaço de endereçamento, um erro em um módulo pode derrubar todo o sistema.

Page 41: Sistemas Operacionais – Aulas 7,8 e 9

Desvantagens do kernel monolíticoÉ complexo "debugar" (É extremamente difícil

de se usar um debugger em nível de fonte); O kernel se torna mais suscetível a bugs; Reiniciar o computador é necessário

freqüentemente (principalmente quando é necessário atualizar o kernel ou adicionar novas funções ao mesmo);

Bugs tendem a ser mais danosos, já que como todas as funções do kernel têm todos os privilégios, um bug em uma função é capaz de afetar áreas, mesmo que sem nenhuma relação direta.

Page 42: Sistemas Operacionais – Aulas 7,8 e 9

VantagemOs SOs Monolíticos ainda conseguem atrair

a atenção de desenvolvedores devido a uma complexidade menor do que Sistemas que possuem um microkernel.

Page 43: Sistemas Operacionais – Aulas 7,8 e 9

MicrokernelÉ um termo usado para caracterizar o sistema

cujas funcionalidades do sistema saíram do kernel e foram para servidores, que se comunicam com um núcleo mínimo, usando o mínimo possível o "espaço do sistema" (nesse local o programa tem acesso à todas as instruções e a todo o hardware) e deixando o máximo de recursos rodando no "espaço do usuário" (no espaço do usuário, o software sofre algumas restrições, não podendo acessar alguns hardwares, nem tem acesso a todas as instruções).

Page 44: Sistemas Operacionais – Aulas 7,8 e 9

Definição 2: Micro-kernel = MicrokernelÉ uma designação de um Sistema

Operacional que possui apenas um núcleo que provê recursos mínimos necessários ao ambiente. Outras funcionalidades são oferecidas através de programas chamados servidores, que se localizam na user-space ou espaço do usuário.

Page 45: Sistemas Operacionais – Aulas 7,8 e 9

Modo usuário e Modo Kernel

M odo kernel

M odo u suá rio

M icrokernel

men

sage

m

mensagem

H ardw are

Page 46: Sistemas Operacionais – Aulas 7,8 e 9

Esquema do Micro-Kernel A figura abaixo representa a interação entre os

softwares que são executados sobre o sistema e sua relação com o kernel.

Page 47: Sistemas Operacionais – Aulas 7,8 e 9

MicrokernelA maioria dos Sos com microkernel

de hoje são mono-servidores, ou seja, possuem apenas um programa no espaço do usuário fazendo todas as funções do kernel.

Page 48: Sistemas Operacionais – Aulas 7,8 e 9

Funcionamento do Micro-KernelO Micro-Kernel basicamente provê serviços :

gerenciamento do espaço de memóriagerência de threads e comunicação entre os processos (IPC –

Inter-Process Communication). Serviços que ficam no user space:

Serviços como rede, vídeo, são considerados não essenciais.

Page 49: Sistemas Operacionais – Aulas 7,8 e 9

ThreadsUm processo tem duas partes:

Parte ativa (fluxo de controle) e passiva (espaço de endereçamento)

Um thread consiste somente do fluxo de controle

É chamado também de processo leve ou diet.

Page 50: Sistemas Operacionais – Aulas 7,8 e 9

ThreadThread, ou linha de execução em

português, é uma forma de um processo dividir a si mesmo em duas ou mais tarefas que podem ser executadas simultaneamente. O suporte à thread é fornecido pelo próprio sistema operacional (SO), no caso da Kernel-Level Thread (KLT),

Se implementada através de uma biblioteca de uma determinada linguagem, no caso de uma User-Level Thread (ULT).

Page 51: Sistemas Operacionais – Aulas 7,8 e 9

Programas, Processos e Threads

•Um thread não é um programa, mas executa dentro de um programa (ver figura)

Page 52: Sistemas Operacionais – Aulas 7,8 e 9

MultithreadÉ mais vantajoso quando temos mais de um

thread no mesmo programa

Page 53: Sistemas Operacionais – Aulas 7,8 e 9

Exemplo aplicação multithreaded •Em um navegador várias coisas podem ocorrer ao mesmo tempo:

oscroll odownload de um applet odownload de uma imagem otocar uma animação otocar um som oimprimir uma página em background odownload de uma nova página

Page 54: Sistemas Operacionais – Aulas 7,8 e 9

Processos <> ThreadsUm thread parece ser um processo mas :

Compartilha o mesmo "espaço de endereçamento" É muito rápido chavear a execução entre threads

mas não entre processos Um thread recebe alguns recursos próprios

durante a execução :Uma pilha de execução para poder chamar métodos,

passar parâmetros, alocar variáveis locais Um "Program Counter"

Chamamos isso o "contexto de execução do thread" Alguns autores chamam thread de "contexto de

execução"

Page 55: Sistemas Operacionais – Aulas 7,8 e 9

ExemploUm jogo onde o mesmo pode ser modelado

com linhas de execução diferentes, sendo uma para desenho de imagem e outra para áudio;

Neste caso, há um thread para tratar rotinas de desenho e outro thread para tratar áudio;

No ponto de vista do usuário, a imagem é desenhada ao mesmo tempo em que o áudio é emitido pelos auto-falantes; Porém, para sistemas com uma única CPU, cada linha de execução é processada por vez;

Page 56: Sistemas Operacionais – Aulas 7,8 e 9

Na prática...Uma linha de execução permite que o usuário de

programa, por exemplo, utilize uma funcionalidade do ambiente enquanto outras linhas de execução realizam outros cálculos e operações.

Em hardwares equipados com uma única CPU, cada linha de execução(Thread) é processada de forma aparentemente simultânea, pois a mudança entre uma linha e outra é feita de forma tão rápida que para o usuário isso está acontecendo paralelamente. Em hardwares com multiplos CPUs ou multi-cores as linhas de execução(Threads) podem ser realizadas realmente de forma simultânea;

Page 57: Sistemas Operacionais – Aulas 7,8 e 9

Exemplos de Microkernel Os Sistemas que possuem um microkernel,

possuem casos de sucesso como é o exemplo do sistema QNX, usado em sistemas de braços de robôs nos Ônibus Espaciais. Alguns desenvolvedores afirmam que o microkernel podem ser mais rápidos e mais fáceis de atualizar e modificar que os sistemas de Kernel monolítico como Linux.

Page 58: Sistemas Operacionais – Aulas 7,8 e 9

Microkernel x Kernel MonolíticoUma corrente de desenvolvedores

incluindo naturalmente o Linus, argumentam que apesar de a princípio um microkernel ser mais simples, a implementação de aplicações para estes SOs é mais complexa, pois lidar com a troca de dados entre os vários componentes é muito mais complicado do que simplesmente agrupar todos num kernel monolítico.

Page 59: Sistemas Operacionais – Aulas 7,8 e 9

Linus Torvalds – Kernel MonolíticosNo seu livro "Just For Fun" (Só por Prazer,

editora Campus) o Linus dedica várias passagens a defender a idéia de Kernel monolítico, chegando classificar a idéia de um microkernel como "uma estupidez".

Page 60: Sistemas Operacionais – Aulas 7,8 e 9

Andrew Tanenbaum – Micro-KernelAndrew Tanenbaum, grande professor de

Sistemas Operacionais, escreveu um artigo sobre segurança e confiabilidade em ambientes críticos. Nesse artigo, descreveu que o paradigma de Micro-Kernels leva vantagem sobre o Kernel Monolítico.

Page 61: Sistemas Operacionais – Aulas 7,8 e 9

MinixSO com kernel leve e pequeno, menos de

5000 linhas de códigoRoda em micros Pentium com 16Mb de

Ram e 50 Mb de HDDesenvolvido para rodar em:

PC de baixo-custo, Computador de $100 Sistemas embarcadosSistemas Educacionais

Page 62: Sistemas Operacionais – Aulas 7,8 e 9

KERNEL HÍBRIDO É um kernel compacto, com apenas as

funções principais e alguns serviços não essenciais, que se comunica com módulos "servidores", por exemplo o serviço de impressão. Se o serviço de impressão dá erro o SO continua em pé, pois são separados. O desempenho é mais contido pois o Kernel tem que se comunicar com os "servidores" via mensagens, ou seja, são outros processos.

Page 63: Sistemas Operacionais – Aulas 7,8 e 9

Kernel híbrido Define um kernel baseado em microkernel no qual

módulos externos podem executar operações em modo kernel (protegido), a fim de evitar trocas de contexto e melhorar o desempenho geral do sistema.

Porém sendo híbrido, tem a capacidade de agregar ou desagregar funcionalidades, sem perder performance ou estabilidade presentes na sua estrutura inicial, proporcionais a sua organização.

Page 64: Sistemas Operacionais – Aulas 7,8 e 9

SO de Kernel Híbrido - ExemplosBeOS / Haiku Microsoft Windows NT Microsoft Windows XPXNU (núcleo do Darwin utilizado no Mac OS

X)

Page 65: Sistemas Operacionais – Aulas 7,8 e 9

Esquema do Kernel Híbrido

Por outro lado, o fato de poucos serviços estarem dentro do kernel, normalmente gera uma latência (lag, delay, etc) que era a crítica principal aos micro-kernél.

Page 66: Sistemas Operacionais – Aulas 7,8 e 9

SISTEMAS OPERACIONAIS E SEUS TIPOS DE KERNELKernel Monolítico: BSD; Linux; MS-DOS e

derivados, incluindo Windows 95, Windows 98 e Windows ME; Solaris.

Microkernel: Hurd; Minix; QNX.Kernel Híbrido: Windows NT; Windows

XP. MacOS

Page 67: Sistemas Operacionais – Aulas 7,8 e 9

Tipos de Sistemas OperacionaisEm relação à sua capacidade de

processamento o SO pode ser classificado em:MONOTAREFA (MONOPROGRAMÁVEL). MULTITAREFA (MULTIPROGRAMÁVEL).

MULTIPROCESSAMENTO (MULTIPROGRAMAÇÃO). MULTITAREFA PREEMPTIVA. MULTITAREFA DE COOPERAÇÃO.

Múltiplos Processadores

Page 68: Sistemas Operacionais – Aulas 7,8 e 9

Sistemas Operacionais68

Tipos de SistemasOperacionais

SistemasMonoprogramáveis / Monotarefa

SistemasMultiprogramáveis / Multitarefa

Sistemas comMúltiplosProcessadores

TIPOS DE SISTEMAS OPERACIONAIS

Page 69: Sistemas Operacionais – Aulas 7,8 e 9

SO MONOTAREFAMONOTAREFA (MONOPROGRAMÁVEIS). Permite a realização de apenas uma tarefa de cada vez. Nesses sistemas, enquanto o programa aguarda a

ocorrência de um evento qualquer, o processador ficará ocioso (“idle”);

A memória ficará subutilizada, caso o programa não a ocupe totalmente e os periféricos também ficarão ociosos se não utilizados.

Os processos são executados em seqüência e um só inicia após o término do anterior.

Exemplo:Um dos mais famosos sistemas operacionais monotarefa

é o MS-DOS.

Page 70: Sistemas Operacionais – Aulas 7,8 e 9

70

UCP

Memória

Dispositivosde E/S

Programa /Tarefa

Page 71: Sistemas Operacionais – Aulas 7,8 e 9

71

SISTEMAS MULTIPROGRAMÁVEIS / MULTITAREFAMais complexos e mais eficientes;Vários programas dividem os mesmos

recursos;Aumento da produtividade dos seus

usuários e a redução de custos;

Page 72: Sistemas Operacionais – Aulas 7,8 e 9

Sistemas Operacionais72

UCP

Memória

Dispositivosde E/S

Programa /Tarefa

Programa /Tarefa

Programa /Tarefa

Programa /Tarefa

Page 73: Sistemas Operacionais – Aulas 7,8 e 9

Sistemas Operacionais73

SISTEMAS COM MÚLTIPLOS PROCESSADORES

Caracterizam por possui duas ou mais UCPs interligadas, trabalhando em conjunto;

O fator chave neste tipo de S.O. é a forma de comunicação entre as UCPs e o grau de compartilhamento da memória e dos dispositivos de I/O;

Page 74: Sistemas Operacionais – Aulas 7,8 e 9

Sistemas Operacionais74

Sistemas com Múltiplos Processadores

SistemasFortementeAcoplado

SistemasFracamenteAcoplado

SistemasSimétricos

SistemasAssimétricos

SistemasOperacionaisde Rede

SistemasOperacionaisDistribuídos

Page 75: Sistemas Operacionais – Aulas 7,8 e 9

WebibliografiaArquitetura de Sistemas Operacionais Francis Berenger Machado &

Luiz Paulo Maia 4a Edição - 2007 - Ed. LTC Francisco Jos´e da Silva e Silva Grupo de

Engenharia de Sistemas e Mobilidade (SisMo) Departamento de Informatica / UFMA http://www.sismo.deinf.ufma.br