GSO_I_aula_01_mar.

Propaganda
Sistemas Operacionais
Profa. Lucilene Luciano
Prof Alexandre Peres
1º. Semestre
O que é um Sistema Operacional ?
Camada de software entre o hardware e as aplicações dos usuários
Sistema
Bancário
Compiladores
Office
Browser
I.Explorer
Editores
Interpretador
de comandos
Sistema Operacional
Programas de aplicação
Programas
de Sistema
Linguagem de máquina
Microarquitetura
Dispositivos físicos
Hardware
Funções do Sistema Operacional
 A partir da máquina real (hardware), criar
uma máquina estendida (abstrata).
 Gerenciar os recursos de hardware
disponíveis às aplicações.
O SO como máquina abstrata

Ocultar a complexidade do hardware.
 Oferecer interfaces padronizadas de acesso
ao hardware.
 Permitir
uma
visão
homogênea
de
dispositivos distintos.
Clicar em um arquivo
aplicação
S.O.
Assign(file, “D:\README.TXT”);
open(file);
read(file, ch);
…
close(file);
Move head to sector 123 in FAT
read 256 bytes to mem 36234H
move head to sector 4684753
read 1024 bytes to mem 578567
...
O SO como Gerenciador de Recursos
 Recursos da máquina
 processadores
 espaço em memória
 arquivos
 conexões de rede
 dispositivos externos
Controle de acesso
equilibrar uso
evitar conflitos
O SO como Gerenciador de Recursos
source app
source app
source app
sdgf jhgsdfj dsjhf
khj khj
HKjhkjghj hg
jhgj jgh jhg jhg jhg jhg kjhg
jhgj hg jhg
kjhkjhgjhg jhg jhg jhg jh
kjhjkhgjhgjh
kgjhgjhgjhgj
aplicação
aplicação
aplicação
Sistema Operacional
Serviços de Sistemas Operacionais
Cada S.O. oferece serviços e programas específicos,
porém apresentam funções em comum.
 Execução de programas: capacidade de carregar,
executar e encerar um programa.
 Operações de I/O: deve fornecer meios para controlar
arquivos ou dispositivos de I/O.
 Manipulação do sistema de arquivos: ler, gravar, criar e
excluir arquivos.
 Comunicação: comunicação de processos.
 Detecção de erros: notar falhas de CPU, memória ou
dispositivos de I/O e tomar medidas adequadas.
Serviços de Sistemas Operacionais
 Alocação de recursos: gerenciar recursos de memória, CPU
ou dispositivos I/O.
 Contabilização: manter um registro dos usuários que utilizam
os recursos do computador referente a quantidade e que tipo de
recursos.
 Proteção: A proteção visa garantir que todo acesso aos
recursos do sistema seja controlado, evitando conflitos e
integridade dos dados.
Entendendo o Sistema Operacional
Usuário controlando o Hardware
Usuário
Hardware
Entendendo o Sistema Operacional
Programa controlando o Hardware
Software
Usuário
Hardware
Entendendo o Sistema Operacional
Interpretador de Comando (Shell)
ou Interface Gráfica
Sistema
Operacional
Usuário
Hardware
Entendendo o Sistema Operacional
Programas fazendo solicitação ao
Sistema Operacional, que as
repassa ao hardware.
Sistema
Operacional
Usuário
Software
Hardware
Entendendo o Sistema Operacional
Interpretador de Comando
ou Interface Gráfica
Sistema
Operacional
Usuário
Software
Alguns programas podem
acessar diretamente o
Hardware
Hardware
Capacidade de execução de tarefas
TIPO
Monotarefa
Multitarefa
ou
Multiprogramável
DEFINIÇÃO
O sistema operacional
tem capacidade de
executar apenas um
programa ou tarefa de
cada vez.
Exemplo: CP/M, MSDOS
Sistemas Operacionais
que tem a capacidade
de executar mais de
uma tarefa ou
programa
simultaneamente:
Exemplo: Unix,
Windows, Linux,
OS/400.
SUBDIVISÃO
CARACTERÍSTICAS
Não tem
Cooperativa
O S.O. define uma fatia
de tempo (time-slice)
para cada programa.
Ex.: Windows até 3.1
Preemptiva
O S.O define
prioridades conforme
a necessidade
momentânea de cada
programa.
Sistema Operacional Multitarefa
Interpretador de Comando
ou Interface Gráfica
S. O.
Usuários
Coop. ou Preemp.
Software
Software
Hardware
S. O. Multitarefa / Multiprogramável
Os sistemas multiprogramados podem ser classificados de acordo
com a forma que interagem com os usuários, podendo ser
divididos em sistemas batch, de tempo compartilhado e de
tempo real.
Sistemas Batch: Os sistemas batch (lote) caracterizam-se
por terem seus programas armazenados em disco ou fita, onde
esperam para ser executados seqüencialmente. Quando um
programa é iniciado ele tem a posse total do sistema até que sua
execução termine. Quando um programa termina, um outro
programa (também chamado Job) é colocado em execução
imediatamente.
· Os programas que são executados em batch não precisam de
interação com o usuário. Eles lêem e gravam seus dados de
discos ou fitas.
S. O. Multitarefa / Multiprogramável
Sistemas de Tempo Compartilhado:
Os sistemas de tempo compartilhado (time–sharing) permitem a
interação dos usuários com o sistema, basicamente através de
terminais de vídeo e teclado (interação on–line). Dessa forma, o
usuário pode interagir em cada fase do desenvolvimento de suas
aplicações e , se preciso, modificá-las imediatamente.
· Para cada usuário, o sistema operacional aloca uma fatia de
tempo do processador. Nesses sistemas, não só o processador é
compartilhado mas também a memória e os periféricos. O sistema
cria para cada usuário um ambiente de trabalho próprio, dando a
impressão de que todo o sistema está dedicado, exclusivamente,
a ele.
S. O. Multitarefa / Multiprogramável
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
na execução das tarefas. Enquanto em sistemas de tempo
compartilhado o tempo de resposta pode variar sem comprometer
as aplicações em execução, nos sistemas de tempo real os
tempos de resposta 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,
utilizada pelos sistemas time-sharing. Um programa executa o
tempo que for necessário, ou até que apareça outro prioritário em
função de sua importância no sistema. Esta importância ou
prioridade de execução é controlada pela própria aplicação e não
pelo sistema operacional.
· Esses sistemas são normalmente usados em controle de
processos, como no monitoramento de refinarias de petróleo,
controle de tráfego aéreo, usinas nucleares, etc.
O S. O. quanto aos usuários
Monousuário
Pode fornecer
programas/serviços para vários
usuários, porém este programas
serão executados na máquina
solicitante (cliente).
X
Multiusuário
O Sistema atende diversos
usuários com a possibilidade de
executar os programas no
próprio servidor.
Estrutura de um sistema operacional
Sistemas Operacionais são estudados dividindo-se suas
principais
funcionalidades.
Tipicamente
divide-se
a
funcionalidade de um sistema operacional em:
· Gerência de processos
· Gerência de memória: responsável pelo controle e
alocação de memória aos processos ativos.
· Sistema de arquivo: responsável pelo acesso e integridade
dos dados residentes em memória secundária (por exemplo
disco, fita, etc).
· Controle de I/O (controle de entrada / saída): responsável
pelo controle e execução de operações de Entrada/Saída,
bem como da otimização do uso dos periféricos.
Conceito de Processo
• Um processo é basicamente um programa em execução
acompanhado dos valores atuais do contador de programas, dos
registradores e de variáveis.
• cada processo tem sua própria CPU virtual.
• A CPU executa apenas um processo por vez. Trocando, a todo
momento, de um processo para outro. (pseudo-paralelismo).
ESTADOS DE PROCESSO
- Novo: o processo está sendo criado;
- Em execução: as instruções estão sendo executadas
- Em espera: o processo está esperando a ocorrência de algum
evento. (ex.: I/O)
- Pronto: temporariamente parada para dar lugar a outro processo
- Encerrado: o processo terminou sua execução
Mudança de Estado de um Processo
novo
carga
programa
encerrado
alocação
da CPU
aceito
pronto
fim de
execução
rodando
fim do quantum
Espera por I/O
Conclusão de I/O
em espera
Visualizar: Lista de processos do Windows 2000
Desempenho
Programa X Processo
 Programa:
 noção estática
 conjunto de instruções
 não possui um estado interno
 Processo:
 noção dinâmica
 programa em execução
 possui um estado interno
Download