SISTEMAS OPERACIONAIS. Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN



Documentos relacionados
Sistemas Operacionais

Sistemas Operacionais Introdução. Professora: Michelle Nery

Everson Scherrer Borges João Paulo de Brito Gonçalves

1.2 Tipos de Sistemas Operacionais

Sistemas Operacionais

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

Sistemas Operacionais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 02 - Estrutura dos Sistemas Operacionais. Cursos de Computação

Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução

Sistemas Operacionais. INTRODUÇÃO Prof. Rafael Alberto Vital Pinto FACSUL/CESUR

Sistemas Operacionais

Sistemas Operacionais. Prof. André Y. Kusumoto

Tipos de sistemas operacionais

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

Classificação de SO (Sistemas Operacionais) Técnico de Informática 2º. Módulo Profa. Madalena Pereira da Silva

Processamento de Dados

Sistemas Operacionais

Sistemas de Lotes (2) Sistemas de Lotes (3) Layout da MP em Sistemas de Lotes. Minimizar o tempo de resposta

Introdução aos Sistemas

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais

Sistemas Operacionais

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS. 2º TRIMESTRE Patrícia Lucas

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Gerência do Processador

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

Disciplina: Introdução à Informática Profª Érica Barcelos

UFRJ IM - DCC. Sistemas Operacionais I. Unidade I Introdução. 11/02/2014 Prof. Valeria M. Bastos

UFRJ IM - DCC. Sistemas Operacionais I

Introdução a Informática. Prof.: Roberto Franciscatto

Introdução aos Sistemas Operacionais

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO

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

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Sistemas Operacionais Processos e Threads

Organização de Computadores 1

Processos e Threads (partes I e II)

Classificação Quanto. Sistemas de Lotes (2) Sistemas de Lotes (3)

Disciplina: Introdução à informática Profª Érica Barcelos

Sistemas Distribuídos

Introdução ao Modelos de Duas Camadas Cliente Servidor

Sistema Operacional. Prof. Leonardo Barreto Campos 1

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

Sistemas Operacionais

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

REDES DE COMPUTADORES

Fundamentos de Sistemas Operacionais

Sistemas Operacionais Carlos Eduardo Portela Serra de Castro

Gerência de Processador

EXEMPLO: Processo para atualização da hora Processo para monitoramento da necessidade de proteção de tela. Figura Exemplo

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

Conceitos Básicos sobre Sistemas Operacionais

Sistemas Operativos. 4ª Geração (a partir de 70 )

7 Processos. 7.1 Introdução

Noções de Software. André Aziz Francielle Santos

Sistemas Operacionais

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais

Sistemas Operacionais

Nível do Sistema Operacional

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

Profs. Deja e Andrei

Introdução. Nível do Sistema Operacional. Introdução. Um Sistema Operacional... Introdução a Sistemas Operacionais

A Evolução dos Sistemas Operacionais

Programação de Sistemas para Tempo Real Capítulo 1. Luiz Affonso Guedes DCA-CT-UFRN

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Recursos. Um recurso é ou um dispositivo físico (dedicado) do hardware, ou Solicitar o recurso: esperar pelo recurso, até obtê-lo.

Fundamentos de Sistemas Computacionais Introdução

Sistemas Operacionais. Professor Leslier Soares Corrêa

Gerenciamento de Memória

05/08/2013. Sistemas Distribuídos Cluster. Sistemas Distribuídos Cluster. Agenda. Introdução

Gerência de processos Requisitos fundamentais

MODELO CLIENTE SERVIDOR

Introdução a Computação

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

AULA 3 Introdução ao Software

Paralelismo. Computadores de alto-desempenho são utilizados em diversas áreas:

Comparação SDs X Scs

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

Sistemas Operacionais. Alexandre Meslin

SISTEMAS OPERACIONAIS

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron

Sistemas Operacionais

Programação Concorrente Introdução

6 - Gerência de Dispositivos

Introdução aos Sistemas Operacionais. Computador = hardware + software. Como é formado o meu computador? E como estes componentes se comunicam?

Sistemas Operativos. Funções genéricas de um S.O.

Edital 012/PROAD/SGP/2012

Capítulo 4 Gerência do Processador. O que sabemos é uma gota, o que ignoramos é um oceano. Isaac Newton

SISTEMAS DISTRIBUÍDOS

Arquitetura e Organização de Computadores I

Introdução a Sistemas Operacionais Aula 04. Prof. Msc. Ubirajara Junior biraifba@gmail.com

Noções básicas de Informática: Software

Sistemas Operacionais. Prof. André Y. Kusumoto

MANUTENÇÃO DE MICRO. Mário Gomes de Oliveira

Transcrição:

SISTEMAS OPERACIONAIS Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN

2.0 - INTRODUÇÃO Os tipos de sistemas operacionais e sua evolução estão intimamente relacionados com a evolução do hardware e das aplicações por ele suportadas. A história mostra que os sistemas operacionais vêm sofrendo constantes modificações com o passar do tempo. No início eram relativamente simples, do tipo monousuário e praticamente não ofereciam qualquer mecanismo de proteção aos usuários. Com a evolução do hardware e o surgimento de equipamentos cada vez mais velozes, os sistemas operacionais foram se tornando mais complexos, mais seguros, mais eficientes e mais abrangentes. A evolução dos sistemas operacionais para computadores pessoais e estações de trabalho popularizou vários conceitos e técnicas, antes só conhecidos em ambientes de grande porte. A nomenclatura, no entanto, não se manteve a mesma. Surgiram novos termos para conceitos já conhecidos, que foram apenas adaptados para uma nova realidade. Diversos tipos de sistemas operacionais podem ser identificados: monoprogramáveis, multiprogramáveis, multiprocessáveis, sistemas em rede, sistemas distribuidos, sistemas em lote ("batch"), sistemas de tempo compartilhado ("time sharing") e de tempo real. Aqui serão abordados os diversos tipos de sistemas operacionais, suas características, vantagens e desvantagens. Tipos de Sistemas Operacionais Sistemas Monoprogramáveis / Monotarefa Sistemas Multiprogramáveis/ Multitarefa Sistemas com Múltiplos Processadores Sistemas Operacionais 2

2.1 - Sistemas Monoprogramáveis / Monotarefa Tipos de Sistemas Operacionais Os primeiros sistemas operacionais eram tipicamente voltados para a execução de um único programa (job). Qualquer outro programa, para ser executado, deveria aguardar o término do programa corrente. Os sistemas monoprogramáveis, como vieram a ser conhecidos, se caracterizam por permitir que o processador, a memória e os periféricos permaneçam exclusivamente dedicados à execução de um único programa. Os sistemas monotarefa, como também são chamados, se caracterizam por permitir que todos os recursos do sistema fiquem exclusivamente dedicados a uma única tarefa. Neste tipo de sistema, enquanto um programa aguarda por um evento, como a digitação de um dado, o processador permanece ocioso, sem realizar qualquer tipo de processamento. A memória é subutilizada caso o programa não a preencha totalmente, e os periféricos, como discos e impressoras, estão dedicados a um único usuário, nem sempre utilizados de forma integral. Os processos, como mostrado na figura 1 abaixo, são executados em seqüência e um só inicia após o término do anterior. Os espaços em branco representam os períodos de ociosidade da UCP, enquanto aguarda a realização ou execução de um evento externo qualquer solicitado pelo programa. Figura 1 Execução de 3 tarefas em um Sistema Monoprogrável Sistemas Operacionais 3

Comparados a outros sistemas, os sistemas monoprogramáveis/monotarefa são de simples implementação, não existindo muita preocupação com problemas de proteção. 2.2 - Sistemas Multiprogramáveis/ Multitarefa Os sistemas multiprogramáveis, que vieram a substituir os monoprogramáveis, são mais complexos e eficientes. Enquanto em sistemas monoprogramáveis existe apenas um programa utilizando seus diversos recursos, nos multiprogramáveis vários programas dividem esses mesmos recursos. Por exemplo, enquanto um programa espera por uma operação de leitura ou gravação em disco, outros programas podem estar sendo processados neste mesmo intervalo de tempo. Nesse caso, podemos observar o compartilhamento da memória e do processador. O sistema operacional se preocupa em gerenciar o acesso concorrente aos seus diversos recursos, como memória, processador e periféricos, de forma ordenada e protegida, entre os diversos programas. Nestes Sistemas, enquanto uma tarefa aguarda a ocorrência de um evento externo a UCP, esta pode atender outra tarefa qualquer, que esteja em condições de ser executada. O sistema operacional se encarrega de gerenciar o acesso concorrente das diversas tarefas aos diversos recursos, de forma ordenada e protegida. Como pode ser visto na figura 2, o throughput do sistema melhora, isto é, o número de processos concluídos por unidade de tempo aumenta, embora o tempo de execução de cada processo possa sofrer uma piora. Comparando com a execução monoprogramável nota-se que: ta > t1, tb - tx > t2 - t1, tc - ty > t3 - t2, porém tc < t3. Figura 2 Execução de 3 tarefas em um Sistema Multiprogramável Sistemas Operacionais 4

As vantagens do uso de sistemas multiprogramáveis são o aumento da produtividade dos seus usuários e a redução de custos, a partir do compartilhamento dos diversos recursos do sistema. Nos sistemas monoprogramáveis, apenas um único usuário pode interagir com o sistema, enquanto nos multiprogramáveis é permitido que mais de um usuário o utilize. É imediato concluir que um sistema multiprogramável oferece condições de maior eficiência computacional que um sistema monoprogramável. Aproveitando os diagramas de tempo das figuras 1 e 2, podemos resumir o ganho de eficiência através do seguinte exercício: Supondo que os processos A, B e C sejam dos tipos abaixo, e considerando tx = 10 min, ta = 25 min, ty = 30 min, tb = 35 min, tc= 40 min, I/O bounded = 20%, UCP bounded = 80% e os intervalos de UCP idle iguais a 2 minutos cada, teremos como resultado o seguinte desempenho do sistema na execução dos 3 processos: Onde: Sistemas Operacionais 5

a) uso do processador é dado por - ((20-4)*20 + (15-2)*20 + 15*80)/50 = 35,6% ((20-4)*20 + (15-2)*20 + 15*80)/40 = 44,5% b) uso da memória - (20*40 + 15*20 + 15*30)/50 = 31% (10*40 + (25-10)*60 + (30-25)*20 + (35-30)*50 + (40-35)*30)/40 = 45% c) uso do disco - (20*100)/50 = 40% (20*100)/40 = 50% d) uso da impressora - (15*100)/50 = 30% (15*100)/40 = 37,5% e) throughput - 3 * 60 / 50 = 3,6 jobs / hr 3 * 60 / 40 = 4,5 jobs / hr f) elapsed time (tempo total de execução dos 3 processos) g) tempo médio de resposta - (20 + 35 + 50) / 3 = 35 minutos (25 + 35 + 40) / 3 = 33,3 minutos A partir do número de usuários que interagem com o sistema, podemos classificar os sistemas multiprogramáveis como monousuário e multiusuário. O conceito de sistema multiprogramável está tipicamente associado à idéia do sistema sendo utilizado por vários usuários (multiusuário). No mundo dos computadores pessoais e estações de trabalho, apesar de existir apenas um único usuário interagindo com o sistema (monousuário), é possível que ele execute diversas tarefas concorrentemente ou mesmo simultaneamente. Os sistemas multitarefa, como também são chamados, se caracterizam por permitir que o usuário edite um texto, imprima um arquivo, copie um arquivo pela rede e calcule uma planilha. Sistemas Operacionais 6

Sistemas X Usuários Monoprogramação/ Monotarefa Multiprogramação/ Multitarefa Um usuário Monousuário Monousuário Dois ou mais usuários N/A Multiusuário Os sistemas multiprogramáveis / multitarefa podem ser classificados pela forma com que susas aplicações são gerenciadas, podendo ser divididos em sistemas batch, de tempo compartilhado ou de tempo real. Um sistema operacional pode suportar um ou mais desses tipos de processamento. Sistemas Multiprogramáveis/ Multitarefa Sistemas Batch Sistemas de Tempo Compartilhado Sistemas de Tempo Real 2.3 - Sistemas Batch (lote) Foram os primeiros sistemas multiprogramáveis a serem implementados e caracterizam-se por terem seus programas executados de forma sequencial. Neste tipo de sistema, os programas não exigem interação do usuário, lendo e gravando dados em discos. Esses sistemas, quando bem projetados, podem ser bastante eficientes, devido à melhor utilização do processador. Entretanto, podem oferecer tempos de respostas longos, em face do processametno puramente sequencial. Sistemas Operacionais 7

Figura 3 - Sistema "Batch" típico em cartões 2.4 - Sistemas de Tempo Compartilhado (Time-Sharing) Permitem a interação do usuário com o sistema. O usuário pode interagir diretamente com o sistema em cada fase do desenvolvimento de suas aplicações e, se preciso, modificá-las imediatamente. Devido a esse tipo de interação, os sistemas de tempo compartilhado também ficaram conhecidos como sistemas online. Esses sistemas possuem uma linguagem de controle que permite ao usuário comunicar-se diretamente com o sistema operacional para obter informações. Os terminais eram chamados "burros" (padrão TTY) por serem disprovidos de qualquer capacidade de processamento local, que era todo executado pela UCP do sistema central. Para que cada usuário tenha chances equilibradas de utilizar os recursos, o sistema aloca uma fatia de tempo ("time slice") do processador para cada terminal ativo e os atende num esquema de fila circular. Esgotado o "time slice" de um usuário, ele perde automáticamente o controle da UCP, que passa para o usuário seguinte da fila. Alguns sistemas permite a adoção de níveis de prioridade que altera a sequência de atendimento da fila ou o tamanho do "time slice" adotado para um usuário. Não somente o processador é compartilhado nesse sistema, mas também a memória e os periféricos, como discos e impressoras. O sistema cria para o usuário um ambiente de trabalho próprio, dando a impressão de que todo o sistema está dedicado, exclusivamente a ele. Sistemas Operacionais 8

2.5 - Sistemas de Tempo Real (Real-Time) São bem semelhantes em implementação aos sistemas de tempo compartilhado. A maior diferença é o tempo de resposta exigido no processamento das aplicações. Enquanto em sistemas de tempo compartilhado o tempo de resposta pode variar sem comprometer as aplicações em execução, nesses sistemas os tempos de respostas devem estar dentro de limites rígidos, que devem ser obedecidos, caso contrário poderão ocorrer problemas irreparáveis. Nos sistemas de tempo real, não existe a idéia de fatia de tempo. Um programa detém o processador o tempo que for necessário ou até que apareça outro usuário de maior prioridade para o sistema. 2.6 - Sistemas com Múltiplos Processadores Caracterizam-se por possuir duas ou mais UCPs iterligadas, trabalhando em conjunto. Os sistemas multiprocessados permitem que vários programas sejam executados em paralelo (granularidade grossa), ou que um programa tenha duas ou mais de suas instruções executadas em paralelo (granularidade fina). Um fator importante no desenvolvimento de sistemas operacionais com múltiplos processadores é a forma de comunicação entre as UCPs e o grau de compartilhamento da memória e dos dispositivos de entrada e saída. Em função desses fatores, podemos classificar os sistemas em fortemente acoplados ou fracamente acoplados. Sistemas com Múltiplos Processadores Sistemas Fortemente Acoplados Sistemas Fracamente Acoplados Sistemas Operacionais 9

Em Sistemas Fortemente Acoplados existem dois ou mais processadores compartilhando uma única memória e controlados por apenas um único sistema operacional. Tais sistemas são geralmente utilizados no processamento de aplicações que fazem uso intensivo da UCP, onde o processamento é voltado para a solução de um único problema. Os Sistemas Fracamente Acoplados caracterizam-se por possuir dois ou mais sistemas de computação, conectados através de linhas de comunicação. Cada sistema funciona de forma independente, possuindo seu(s) próprio(s) processador(es), memória e dispositivos. A utilização de sistemas fracamente acoplados já é caracterizada pelo processamento distribuído entre os diversos processadores. A grande diferença entre os dois tipos de sistemas é que em sitemas fortemente acoplados existe apenas um espaço de endereçamento (memória) compartilhado por todos os processadores, enquanto nos fracamente acoplados cada sistema tem sua própria memória individual. 2.7 - Sistemas em Rede Se caracterizam pela existência de vários computadores independentes interligados em rede e compartilhando alguns recursos tais como disco, impressora, scanner e outros. Um sistema operacional de rede se encarrega de propiciar o protocolo para comunicação e transferência de dados entre os usuários e servidores da rede. Cada nó da rede é independente e capaz de executar sua própria aplicação. 2.8 - Sistemas Distribuídos É conceitualmente um sistema em rede que possibilita uma integração e uma cooperação transparente dos diversos nós que compõem a rede. Desta forma, sob o enfoque dos usuários e das tarefas, o sistema é uno e se comporta como uma arquitetura multiprocessada possibilitando tanto paralelismo de granularidade grossa como fina. Sistemas Operacionais 10