introducao a sistemas operacionais

13
Sistemas Operacionais Introdução

Upload: isaac-vieira

Post on 01-Jul-2015

2.550 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Introducao a Sistemas Operacionais

Sistemas Operacionais

Introdução

Page 2: Introducao a Sistemas Operacionais

O que é um sistema operacional ?• Um programa que atua como intermediário entre o usuário

e o hardware de um computador com propósito de fornecer um ambiente para execução de programas.

Programas

Sistema Operacional

Hardware

Page 3: Introducao a Sistemas Operacionais

Componentes Genéricos de um Sistema Computacional

• Hardware: Memória, dispositivos de E/S, CPU, etc

• Sistema Operacional: Coordena e controla o uso dos recursos do sistema entre os vários programas aplicativos e usuários

• Programas aplicativos e de sistema

• Usuários

Page 4: Introducao a Sistemas Operacionais

Objetivos de um Sistema Operacional

• Fornecer ao programador/usuário uma forma mais conveniente para a operação do computador

– Esconde complexidade e detalhes internos inerentes à manipulação e controle dos componentes de hardware.

– Reduz tempo de preparação de um programa.– Permite a execução do mesmo programa em ambientes diferentes– Permite várias aplicações trabalharem simultaneamente

Controla a interação entre:Usuários e hardwareOs diversos usuários

• Utilizar o Hardware e demais recursos de um computador de forma eficiente

– Potencial maior de utilização de recursos em decorrência da implementação de boas políticas de distribuíçao de recursos

Page 5: Introducao a Sistemas Operacionais

E afinal o que é um sistema operacional ?

• Uma máquina virtual– Esconde aspectos de Hardware de modo a facilitar a vida do programador, apresentando uma

interface simplificada• A interface do usuário não corresponde ao hardware existente.• Permite executar o mesmo programa em vários ambientes diferentes.

• Um Gerente/Alocador de Recursos– Decide que pedidos devem ser atendidos de modo que o sistema possa trabalhar de forma

eficiente

• Um Programa de Controle– Controla a execução de programas do usuário para evitar erros e inconsistênciap proteger

usuários uns dos outros

Page 6: Introducao a Sistemas Operacionais

Principais Serviços e Funções de um SO

• Criação e execução de programas• Acesso a dispositivos de E/S• Controle de Acesso a arquivos• Acesso a recursos do sistema• Concorrência• Contabilidade• Detecção de erros (Hw/Sw)

Page 7: Introducao a Sistemas Operacionais

Diferentes Visões de um SOVisão Usuário Final X Programador X Projetista de Sistema Operacional

Hardware

SO

Utilitários

Aplicativo

UsuárioProgramador

Projetista SO

Page 8: Introducao a Sistemas Operacionais

Visão Usuário• Chamadas de Sistema - maneira usada pelo programa para solicitar um serviço do SO

- semelhante a chamada de uma sub-rotina• Serviços executados pelo núcleo do SO

Gerência de memória, gerência de dispositivos, gerência de arquivos e gerência de processador

Programas de Sistema• Programas executados fora do núcleo do SO ( Utilitários), normalmente confundido com o próprio

SO: compiladores, interpretadores de comandos, GUI

Visão Projetista de SO• Forma pela qual o sistema implementa os serviços: interrupção, exceção, chamadas de Sistema

Page 9: Introducao a Sistemas Operacionais

Revisão Histórica dos SO

Fase primitiva• Sistema Operacional inexistente

– Programação através de chaves no painel.– Conjuntos de cartões manualmente carregados pelo operador(programador)para executar os programas.– Toda atividade é sequencial: sem nenhuma sobreposição entre computação, E/S e tempo de ociosid do usuário

Sistemas em Lote(Batch)• Introdução de operadores profissionais

– Preparação de jobs ( tarefas ) - progama, dados e informações de controle)Jobs normalmente agrupados em lotes por necessidade semelhantes ( por exemplo, mesmo compilador)

– Sequenciamento automático de jobs– Idéia rudimentar de um SO: manter um monitor residente em memória que é executado

inicialmente. O monitor passa o controle para um job que retorna quando encontrar um sinalizador de finalização (cartão de controle)

– Niveis elevados de ociosidade de CPU - diferença de velocidades entre CPU e Dispositivos de Entrada/Saída

Page 10: Introducao a Sistemas Operacionais

Revisão Histórica dos SO

Sistemas em Lote(Batch)

• Introdução da multiprogramação

– Com hardware para tratamento de interrupções e para armazenamento de vários jobs em disco é possível ter acesso direto aos jobs, o que viabiliza a escala de jobs em uma determinada ordem, de modo a aproveitar os tempos de cpu ociosa.

– A idéia é manter vários programas em memória ao mesmo tempo. Enquanto um programa aguarda E/S, outro pode ser executado

Page 11: Introducao a Sistemas Operacionais

Sistemas Time Sharing ( Tempo Compartilhado )

– Extensão lógica da multiprogramação que permite a interação do usuário com o sistema de computação

• Permite a comunicação direta entre os usuários e o sistema através de uma conexão terminal-computador

• Divisão do tempo de processamento entre os vários usuários

• Requer tempo de resposta curto

• São mais complexos que os sistemas operacionais multiprogramadosA idéia básica surguiu com o Sistema Multics que evoluiu para o UNIX

EscalonamentoProteçãoTempo de respostaAtaquesSistema de arquivos.

• Base dos SOs modernos.

Page 12: Introducao a Sistemas Operacionais

Sistemas Monousuário– Projetados para serem usados por um único usuário, por exemplo,MS- DOS, Winsows 3.x,

Windows 9x

Sistemas Multiusuário– Suportam várias sessões de usuário em um computador, por exemplo, UNIX, Windows-NT

Sistemas Monotarefa– Podem executar apenas uma tarefa de cada vez, por exemplo o MS-DOS

Sistemas Multitarefa– Permitem executar várias tarefas simultaneamente

• Tarefas cooperativas, por exemplo, Windows 9x• Tarefas preemptivas, por exemplo UnIX, OS/2

Sistemas de Computadores Pessoais• Inicialmente baratos e simples e depois beneficiados com as idéias dos sistemas para mainframes

MS-DOS, Microsoft Windows, Apple Macintosh, OS/2

Page 13: Introducao a Sistemas Operacionais

Sistemas Distribuídos– Conjunto de computadores autônomos interconecatados por uma rede, que colaboram para a

execuçã de determinados serviçõs.Transparência em relação ao número de máquinasSoftware fornece uma visão única do sistema

Sistemas de Tempo Real– Requisitos rígidos de tempo na operação de um processador ou de um fluxo de dados