Serviços dos Sistemas Operacionais

Propaganda
Serviços dos Sistemas Operacionais
Serviços dos Sistemas
Operacionais
„
O sistema operacional cria um ambiente para
execução de programas.
„
Esse ambiente fornece diversos tipos de
serviços aos aplicativos e aos
programadores.
Ambientes Operacionais
Prof. Simão Sirineo Toscani
[email protected]
www.inf.pucrs.br/~stoscani
1
Tipos de Serviços
„
Tipos de Serviços
Facilidades de uso (conveniência):
‰
‰
‰
‰
2
„
Execução de programas
operações de I/O
sistema de arquivos
detecção de erros
Eficiência
‰
‰
‰
alocação de recursos
contabilizações
proteção
3
Visão do Usuário
„
„
„
4
Chamada de sistema
O usuário vê o SO através de uma interface
de comunicação
A partir da interface, a comunicação
propriamente dita é feita via chamadas de
sistema
As chamadas de sistema permitem que o
usuário solicite serviços ao SO
„
5
Esta instrução, uma vez executada, leva o
processador para o modo supervisor
(monitor) e transfere a execução para um
ponto bem determinado do SO.
6
1
Chamadas de sistema para
controle de processos
„
„
„
„
„
„
„
Chamadas de sistema para
manipulação de arquivos
término ou cancelamento de programas
carga e execução de programas
criação e término de processos
obtenção e alteração de atributos de
processos
espera por passagem de tempo
espera a ocorrência de um evento
sinaliza a ocorrência de um evento
„
„
„
Criar e remover arquivos;
Abrir, fechar, ler e escrever em arquivos;
Obter e alterar atributos de arquivos.
7
Chamadas de sistema para
manipulação de dispositivos
„
„
„
8
Chamadas de sistema para
manutenção de informações
Requisitar ou liberar dispositivo;
Ler e escrever em dispositivo;
Obter e alterar atributos de dispositivos.
„
„
Obter e alterar hora e data;
Obter e alterar dados do sistema;
9
Implementação de
chamadas de sistema
„
„
10
Programas do Sistema (utilitários)
Implementadas através de instruções de
chamada de subrotina especiais que mudam
o contexto de execução
Nas linguagens de alto nível, as chamadas
de sistema estão embutidas nas rotinas da
biblioteca da linguagem
„
„
„
Resolvem problemas comuns aos usuários
Facilitam o uso do computador
Exemplos de programas utilitários:
‰
‰
‰
‰
Manipulação de arquivos;
Informação de estado;
Carregadores;
Interpretador de comandos.
(os compiladores não são mais considerados como
programas do sistema)
11
12
2
Interpretadores de Comandos
Visão do Programador de Sistema
„
„
„
O interpretador de comandos implementa a
interface entre o usuário e o SO
Exemplos:
‰
‰
„
O SO é um servidor de interrupções. Ele é
conduzido por interrupções
Exemplos de interrupções:
‰
shell (UNIX)
command.com (MS-DOS)
‰
‰
‰
chamada de sistema
dispositivo de I/O indicando término da operação
erro na execução de programa
temporizador indica o fim de uma fatia de tempo
(interrupção periódica, para evitar que a UCP seja
monopolizada por um processo)
13
Atendimento das chamadas de sistema
14
Atendimento de operações de E/S
„
„
Podem ou não ser atendidas imediatamente
„
Se tem que esperar, o pedido é inserido em
uma fila de espera
‰
‰
Exemplo 1: chamada de sistema para ler data ou
hora é atendida imediatamente
Exemplo 2: chamada de sistema para ler de disco
vai fazer com que o processo fique bloqueado
As operações de E/S ocorrem no seguinte contexto:
‰ O programa solicita I/O através de uma chamada de sistema;
‰ O sistema operacional bloqueia o programa e envia um
comando para o dispositivo;
‰ Outro programa é executado (multiprogramação);
‰ Quando termina a operação do dispositivo, ele interrompe a
CPU e o SO reativa o programa que estava à espera;
‰ Podem haver diversas solicitações simultâneas de I/O;
‰ O sistema operacional deve manter uma tabela com a
situação de cada dispositivo de I/O;
‰ Quando termina um I/O, o sistema operacional consulta a
tabela, e se existe pedido pendente, envia um novo comando
para o dispositivo imediatamente.
15
Organização do Sistema de E/S
„
„
„
16
Interrupção por erro em programa
A maneira mais comum de estruturar as
atividades de E/S é ter um processo para
controlar cada dispositivo
O processo controlador é denominado driver
do dispositivo
O driver é o único que executa operações de
E/S no dispositivo
17
„
„
„
Corresponde à tentativa de executar uma
operação ilegal (p.ex., tentativa de divisão
por zero, tentativa de acessar uma área de
memória protegida).
Neste caso, o SO deve terminar o programa,
avisando que o término foi por erro.
Estes erros são detectados pelo hardware e
geram interrupções de software, conhecidas
como traps (observe que tratam-se de falhas
no software).
18
3
Download