19
Sistemas Operacionais Sistemas Operacionais Prof. Sérgio Santos Turma do 6° Semestre Ano de 2007/2

Sistemas Operacionais

Embed Size (px)

DESCRIPTION

Apenas uma teste.

Citation preview

Page 1: Sistemas Operacionais

Sistemas OperacionaisSistemas Operacionais

Prof. Sérgio SantosTurma do 6° Semestre

Ano de 2007/2

Page 2: Sistemas Operacionais

Visão GeralVisão Geral• Sistema Operacional nada mais é do que um conjunto de Sistema Operacional nada mais é do que um conjunto de

instruções executadas pelo processador. Sua função é controlar o instruções executadas pelo processador. Sua função é controlar o funcionamento de um computador, gerenciando a utilização e o funcionamento de um computador, gerenciando a utilização e o compartilhamento dos seus diversos recursos, como compartilhamento dos seus diversos recursos, como processadores, memórias e dispositivos de entrada e saída.processadores, memórias e dispositivos de entrada e saída.

• Sem SO, usuário deveria conhecer profundamente o computador Sem SO, usuário deveria conhecer profundamente o computador para poder interagir com ele. Implicaria em trabalho lento e com para poder interagir com ele. Implicaria em trabalho lento e com possibilidade de erros.possibilidade de erros.

• A diferença entre um SO e aplicações convencionais é a maneira A diferença entre um SO e aplicações convencionais é a maneira como as rotinas são executadas em função do tempo. O SO não como as rotinas são executadas em função do tempo. O SO não tem início, meio e fim como as aplicações. Dependem de eventos tem início, meio e fim como as aplicações. Dependem de eventos assíncronos. Também pode ser chamado de Programa monitor, assíncronos. Também pode ser chamado de Programa monitor, Executivo, supervisor ou Controlador. Executivo, supervisor ou Controlador.

Page 3: Sistemas Operacionais

Funções BásicasFunções Básicas• Facilidade de acesso aos recursos do sistema: Facilidade de acesso aos recursos do sistema:

Usuário não precisa se preocupar como é feita a comunicação com Usuário não precisa se preocupar como é feita a comunicação com monitores, discos, impressoras, etc. O SO é uma interface entre o usuário e monitores, discos, impressoras, etc. O SO é uma interface entre o usuário e os recursos do sistema. Este conceito de ambiente simulado pelo SO os recursos do sistema. Este conceito de ambiente simulado pelo SO também é chamado de também é chamado de Máquina VirtualMáquina Virtual. Compiladores, linkers, bibliotecas, . Compiladores, linkers, bibliotecas, depuradores e outras ferramentas são utilitários que facilitam a interação do depuradores e outras ferramentas são utilitários que facilitam a interação do usuário com o computador.usuário com o computador.

• Compartilhamento de recursos de forma organizada e Compartilhamento de recursos de forma organizada e protegida:protegida: Em sistemas onde diversos usuários compartilham recursos, é necessário controlar o uso concorrente destes recursos. Ex: Impressora, a impressão de um usuário não deve interferir na do outro. O SO controla estes acessos concorrentes. O compartilhamento também permite redução de custos, quando diversos usuários podem compartilhar periféricos como impressoras, discos, etc. Dependendo do SO, podemos executar diversas tarefas ao mesmo tempo, como imprimir um documento e baixar um arquivo da Internet. E é o SO que controla estas atividades concorrentes.

Page 4: Sistemas Operacionais

Funções BásicasFunções Básicas

prog ramado rese ana listas

mem ória d iscos

U C P

U suários

H ardw are

Sistema O peraciona lSistema O peracional

fitas

impressora s mo nitores

p rog ramas,sistem as eaplica tivos

usuários

Visão do Sistema Visão do Sistema OperacionalOperacional

Page 5: Sistemas Operacionais

Máquina de NíveisMáquina de Níveis• Uma máquina, do ponto de vista do hardware, tem pouca utilidade.

É através do software que esta máquina ganha utilidade (como armazenamento de dados, impressão, etc.) Uma operação efetuada por software pode ser implementada em hardware, bem como uma função executada pelo hardware pode ser simulada via software.

• Os primeiros computadores eram programados através de fios ligados em painéis, criando grandes dificuldades e exigindo grande conhecimento da máquina.

• A solução veio com o surgimento do SO, tornando a interação com o usuário mais simples, confiável e eficiente.

Page 6: Sistemas Operacionais

Máquina de NíveisMáquina de Níveis

H ardw a re

Sistem a O p eracion a l

u suá rios

Visão do computador Visão do computador pelo usuáriopelo usuário

Page 7: Sistemas Operacionais

Máquina de NíveisMáquina de Níveis

• O computador pode ser visualizado como uma máquina de níveis ou máquina de camadas. Inicialmente vemos apenas dois níveis: hardwarehardware (nível 0) e SOSO (nível 1). Assim, o usuário pode enxergar a máquina como sendo apenas o SO, como se o hardware não existisse. Esta visão é chamada de máquina virtual.

• Na verdade não existem apenas dois níveis, e sim tanto quantos forem necessários para adequar o usuário às suas diversas aplicações.

Page 8: Sistemas Operacionais

Máquina de NíveisMáquina de Níveis

U ti li tá r io s

C ircu ito s Eletrô n ico s

M icro p ro gra m a ção

Lin gu a g em d e M á q u ina

Sistem a O p era cio n a l

A p l ica tivo s

• A figura ao lado representa a estrutura da maioria dos computadores, podendo conter mais ou menos camadas.

• A linguagem utilizada em cada um destes níveis é diferente, variando da mais elementar (baixo nível) à mais sofisticada (alto nível).

Page 9: Sistemas Operacionais

Tipos de SOTipos de SO

• Os tipos de SOs e sua evolução estão diretamente relacionados com a evolução do hardware e das aplicações por ele suportadas. A figura abaixo sintetiza os diversos tipos de SOs, cujas características, vantagens e desvantagens serão abordadas em seguida.

Tipos deSistemas O peracion ais

SistemasM onoprog ra máveis/

M onotarefa

Sistemasco m M últiplosProcessadores

SistemasM ultiprogram áveis/

M ultita refa

Page 10: Sistemas Operacionais

Monoprogramáveis/MonotarefaMonoprogramáveis/Monotarefa

• Os primeiros SOs eram voltados para a execução de um único programa. Qualquer outra aplicação deveria aguardar a aplicação concorrente terminar, para ser executada. Estes sistemas vieram a ser conhecidos como sistemas monoprogramáveismonoprogramáveis e se caracterizavam por permitir que o processador, a memória e os periféricos estejam exclusivamente dedicados à execução de um único programa.

• Este tipo de SO está relacionado aos primeiros computadores da década de 60. Voltou a ser utilizado na década de 70 em estações de trabalho. Nos sistemas monotarefasmonotarefas, como também são conhecidos, todos recursos do sistema ficam exclusivamente dedicados a uma única tarefa.

Page 11: Sistemas Operacionais

Monoprogramáveis/MonotarefaMonoprogramáveis/Monotarefa

• Neste tipo de SO, o processador fica ociosofica ocioso, por exemplo, quando espera a digitação de um dado. A memória é sub-utilizada caso não seja preenchida totalmente, e os periféricos, como discos e impressoras, estão dedicadas a um único usuário, nem sempre de forma integral.

M em óriaPr in cip a l

D ispo sitivo sde E/ S

U C Pp rogram a /

ta refa

Page 12: Sistemas Operacionais

Multiprogramáveis/MultitarefaMultiprogramáveis/Multitarefa• Os SOs multiprogramáveis ou multitarefas são uma evolução do

SO monoprogramáveis.

• Neste tipo de SO os recursos computacionais são compartilhados entre diversos usuáriosusuários e aplicaçõesaplicações. Aqui várias aplicações compartilham esses mesmos recursos.

• Aqui também, enquanto um programa espera por uma operação de leitura ou gravação em disco, outros programas podem estar sendo processados neste intervalo de tempo.

Page 13: Sistemas Operacionais

Multiprogramáveis/MultitarefaMultiprogramáveis/Multitarefa

M em óriaPrincip a l

D ispo sitivo sd e E/ S

U C Pprograma /

ta refap rog ra ma /

ta refa

p rog ram a /ta refa

p rogram a /ta refa

p rogram a /ta refa

O SO se preocupa em gerenciar o acesso concorrente a seus diversos recursos, de forma ordenada e protegida, entre os diversos programas.

Page 14: Sistemas Operacionais

Multiprogramáveis/MultitarefaMultiprogramáveis/Multitarefa• A vantagem deste tipo de SO é a redução do tempo de resposta

das aplicações processadas no ambiente e de custos, a partir do compartilhamento de recursos do sistema entre diferentes aplicações. Apesar de mais eficientes, os SO multiprogramávelmultiprogramável tem implementação muito mais complexa.

Page 15: Sistemas Operacionais

Multiprogramáveis/MultitarefaMultiprogramáveis/Multitarefa• Baseado no número de usuários que interagem com o sistema, o

SO multiprogramável pode ser classificado como monousuário ou multiusuário.

– Os sistemas multiprogramáveis monousuário multiprogramáveis monousuário são encontrados em computadores pessoais e estações de trabalho, onde apenas um usuário interage com o sistema. Por exemplo, um usuário pode executar um editor de texto, ao mesmo tempo em que acessa a Internet e imprime um documento.

– Nos sistemas multiprogramáveis multiprogramáveis multiusuáriosmultiusuários, permite-se que diversos usuários conectarem-se ao sistema simultaneamente. A tabela a seguir relaciona os tipos de sistemas em função do número de usuários.

Um usuário Dois ou mais usuários

Monoprogramação / Monotarefa Monousuário Não disponível

Multiprogramação / Multitarefa Monousuário Multiusuário

Page 16: Sistemas Operacionais

Multiprogramáveis/MultitarefaMultiprogramáveis/Multitarefa

• Os SO multiprogramáveis ou multitarefa, podem ainda ser classificados pela forma com que suas aplicações são gerenciadas, podendo ser divididos em sistemas batchbatch, de tempo compartilhadotempo compartilhado ou de tempo realtempo real. Um SO pode suportar um ou mais destes tipos de processamento, dependendo de sua implementação.

Sistem asM ultiprog ram áveis/

ta refaM ulti

Sistem asBa tch

Sistemas deTemp o Real

Sistemas deTemp o C om pa rtilha do

Page 17: Sistemas Operacionais

Multiprogramáveis/MultitarefaMultiprogramáveis/Multitarefa• Sistemas de Batch:Sistemas de Batch: foram os primeiros SOs multiprogramáveis

implantados na década de 60. Os programas, também chamados de jobs, eram executados através de cartões perfurados e armazenados em discos ou fitas, onde aguardavam para serem processados. Posteriormente, em função da disponibilidade de espaço na memória principal, os jobs eram executados, produzindo uma saída em disco ou fita.

• Este tipo de processamento se caracteriza por não exigir a atenção do usuário com a aplicação. Todas entradas e saídas eram implementadas por algum tipo de memória secundaria, geralmente discos.

• Cálculos numéricos, compilações, ordenações e backups são exemplos de aplicações batch.

Page 18: Sistemas Operacionais

Multiprogramáveis/MultitarefaMultiprogramáveis/Multitarefa• Os sistemas de tempo compartilhadotempo compartilhado (time-sharing), permitem

que diversos programas sejam executados a partir da divisão de tempo do processador em pequenos intervalos, chamados de fatia de tempo (time-slice). Caso o tempo disponibilizado não seja suficiente para a conclusão do programa, este é interrompido pelo SO e substituído por um outro, enquanto fica aguardando por uma nova fatia de tempo. Este ambiente dá a impressão que todo o sistema esta dedicado, exclusivamente, para cada usuário.

• Geralmente, nestes sistemas a interação com o usuário se dá através de terminais de vídeo, teclado e mouse. Estes sistemas possuem uma linguagem de controle própria, permitindo ao usuário comunicar-se diretamente com o SO através de comandos. Assim, é possível por exemplo, a verificar arquivos armazenados num disco, ou cancelar a execução de um programa.

Page 19: Sistemas Operacionais

Multiprogramáveis/MultitarefaMultiprogramáveis/Multitarefa• Devido a este tipo de interação, os sistemas de tempo

compartilhado também são chamados de sistemas on-line.

• A maioria das aplicações comerciais atuais são processadas em sistemas de tempo compartilhado, pois oferecem tempos baixos de resposta aos usuários e menores custos, em função da utilização compartilhada de diversos.