Professional Documents
Culture Documents
Sistemas Operacionais I
Prof. Aline Kronbauer
alyne.k@gmail.com
AULA 09
Santa Maria/RS
Cronograma
08/09 Chamadas de sistema: introduo, interrupes e excees
09/09 Operaes de entrada/sada, buffering, spooling e reentrncia
15/09 Exerccios de Fixao e Reviso
09/09/2016
SISTEMAS OPERACIONAIS II
Shell
Programa de usurio que oferece uma interface personalizvel para sistemas
Interface de texto interativa para o sistema operacional
Interpretador de Comandos
09/09/2016
SISTEMAS OPERACIONAIS II
Shell
Shells so ento Interpretadores de comandos, programas de computador responsveis por
tomar as aes efetivas conforme a orientao do usurio atravs de comunicao textual.
Os interpretadores de comandos permitem aos usurios emitirem vrios comandos
Requer do usurio conhecimento de tais comandos e seus parmetros, alm da sintaxe da linguagem
interpretada.
09/09/2016
SISTEMAS OPERACIONAIS II
Shell
Shells so personalizveis
Podem ajustar o ambiente operacional
So distintos do kernel
Executados para uso interativo pelos usurios, e para uso no-interativo pelo sistema
Usam vrios arquivos de configurao para seus ambientes operacionais
Podem ser executados dentro de outros shells
09/09/2016
SISTEMAS OPERACIONAIS II
Exemplos de Shells
Sh Bash Derivado do Sh
Ksh
Csh
Tcsh
09/09/2016
SISTEMAS OPERACIONAIS II
Console de Comandos
Uma aplicao prtica de um interpretador de comandos a linha de comandos, ou o console
de comandos, tambm chamado shell para os sistemas do tipo Unix
uma interface textual que interpreta os comandos existentes em um sistema operativo e os
envia ao ncleo imprimindo posteriormente o resultado do processamento na tela
09/09/2016
SISTEMAS OPERACIONAIS II
Terminal Linux
Imagem de um terminal Linux
Primeira linha traz informaes sobre
Usurio
Estao
Diretrio Atual
....
09/09/2016
SISTEMAS OPERACIONAIS II
Terminal Linux
09/09/2016
SISTEMAS OPERACIONAIS II
Shell
O shell uma ferramenta poderosa dos sistemas
GNU/Linux
interessante para aqueles que querem se aventurar no
mundo Linux aprenderem alguns comando bsicos.
09/09/2016
SISTEMAS OPERACIONAIS II
10
Stdout
Stderr
09/09/2016
SISTEMAS OPERACIONAIS II
11
Diretrios
Pasta Pessoal
Fica em /home/usurio
~/ - atalho para /home/usurio
./ ..//
./ - Pasta atual
../ - Pasta acima
Case sensitive
Significa que pode-se criar um pasta Casa, outra CASA e outra casa no mesmo diretrio
09/09/2016
SISTEMAS OPERACIONAIS II
12
Sistemas monoprogramveis
Somente um programa pode ser executado de cada vez
Processador permanece dedicado exclusivamente a uma tarefa apenas, ficando ocioso
enquanto uma operao de leitura em disco realizada
Tempo de espera relativamente longo, j que as operaes de E/S so muito lentas se
comparadas velocidade de operao do processador
Sub-utilizao da memria principal
Um programa nem sempre ocupa todo o espao disponvel, deixando todo o restante inutilizado
09/09/2016
SISTEMAS OPERACIONAIS II
13
Sistemas multiprogramveis
A possibilidade de um processador executar instrues em paralelo com operaes de entrada e
sada permite que diversas tarefas sejam executadas concorrentemente.
este conceito de concorrncia o princpio fundamental para o projeto e implementao de
sistemas multiprogramveis.
Os sistemas multiprogramveis surgiram a partir das limitaes dos sistemas monoprogramveis
Recursos computacionais como processador, memria e dispositivos de E/S (Entrada/Sada) eram utilizados de
maneira muito pouco eficiente
Limitavam seu desempenho com muitos destes recursos permanecendo ociosos por longos perodos de
tempo
09/09/2016
SISTEMAS OPERACIONAIS II
14
E/ S
UCP
E/ S
UCP
livre
tempo
(a) Sistema Monoprogramvel
tempo
(b) Sistema Multiprogramvel
15
Interrupes e Excees
A utilizao concorrente da CPU deve ser feita de maneira que, quando um programa perde o
uso do processador e depois retorna para continuar sua execuo, seu estado deve ser idntico
ao do momento em que foi interrompido
O programa dever continuar sua execuo exatamente na instruo seguinte quela onde
havia parado, deixando transparente ao usurio mostrando que nada aconteceu ou nada foi
alterado
Em sistemas de tempo compartilhado existe a impresso de que o computador
est inteiramente dedicado ao usurio, ficando esse mecanismo totalmente transparente aos
usurios
09/09/2016
SISTEMAS OPERACIONAIS II
16
INTERRUPES OU EXCEES
So eventos inesperados que podem acontecer durante a
execuo de um programa.
A diferena entre interrupo e exceo dada pelo tipo
de evento ocorrido (sinalizao de algum dispositivo
externo ao processador), porm alguns autores e
fabricantes no fazem esta distino.
A interrupo o mecanismo que tornou possvel a
implementao na concorrncia nos computadores, sendo
o fundamento bsico dos sistemas multiprogramveis.
O SO sincroniza a execuo de todas as suas rotinas e dos
programas dos usurios, alm de controlar os dispositivos;
sempre gerada por algum evento externo ao programa;
Ao final da execuo de cada instruo, a unidade de controle
verifica a ocorrncia de algum tipo de interrupo;
17
UCP
Memria
Principal
Canal de E/ S
Controlador
Controlador
Dispositivos de E/ S
Dispositivos de E/ S
18
BUFFERING
A tcnica de buffering consiste na utilizao de uma rea na memria principal,
denominada buffer.
Funo: permitir que em uma operao de leitura o dado seja transferido
primeiramente para o buffer, liberando imediatamente o dispositivo de entrada
para realizar uma nova leitura.
Minimiza o problema da disparidade da velocidade de processamento existente entre o processador e os
dispositivos de entrada e sada.
Objetivo: manter a maior parte do tempo o processador e dispositivos de E/S ocupados.
A unidade de transferncia usada o registro, sendo que o tamanho do registro pode ser especificado em
funo da natureza do dispositivo;
19
BUFFERING
O buffer deve permitir ainda que sejam armazenados diversos registros, de forma que existam:
Dados lidos mas inda no processados (operao de leitura); ou
Dados processados, mas ainda no gravados (operao de gravao).
Dessa forma, o dispositivo de entrada poder ler diversos registros antes que o processador
manipule os dados, ou o processador poder manipular diversos registros antes de o dispositivo
de sada realizar a gravao (mega eficiente).
Memria
Principal
gravao
UCP
gravao
Controlador
Buffer
leitura
leitura
20
SPOOLING
A tcnica de spooling (Simultaneous Peripheral Operation On-Line) surgiu para aumentar o
grau de concorrncia e a eficincia dos SOs (~1950).
A tcnica de spooling, semelhante tcnica de buffering utiliza uma rea em disco como se
fosse um grande buffer. Neste caso, dados podem ser lidos e gravados em disco, enquanto
programas so executados concorrentemente.
Atualmente, essa tcnica est presente na maioria dos sistemas de impresso (arquivo spool).
Isso permite desvincular o programa do dispositivo de impresso, impedindo que o
programa reserve a impressora para uso exclusivo.
Sistema Operacional
Programa
Arquivo
de Spool
Impressora
21
REENTRANCIA
comum, em sistemas multiprogramveis, vrios usurios
utilizarem os mesmos aplicativos simultaneamente, como
editores de texto, compiladores e outros utilitrios.
Se cada usurio que utilizasse um destes aplicativos
trouxesse o cdigo executvel para a memria, haveria
ento diversas cpias de um mesmo programa ocupando
espao na memria, o que causaria um grande desperdcio
de espao.
Reentrncia a capacidade de um cdigo executvel
(cdigo reentrante) ser compartilhado por vrios usurios,
exigindo apenas uma cpia do programa em memria.
Permite que cada usurio esteja executando um trecho
diferente do cdigo reentrante, manipulando dados
prprios, exclusivos de cada usurio.
Normalmente cdigos reentrantes so utilizados em
utilitrios do sistema, como editores, compiladores e
linkers, promovendo um uso mais eficiente da memria e
um desempenho maior do sistema.
usurio C
usurio A
cdigo reentrante
usurio D
usurio B
rea de dados do usurio A
rea de dados do usurio B
rea de dados do usurio C
rea de dados do usurio D
Memria Principal
22
FUNOES DO NCLEO
Tratamento de interrupes e excees;
Criao e eliminao de processo de threads;
Sincronizao e comunicao entre processos e threads;
Gerncia de memria;
Gerncia do sistema de arquivos;
Gerncia de dispositivos de E/S;
24
Modo de acesso
Privilgios de execuo de um processo.
o mecanismo presente no hardware dos processadores que tem a funo de implementar a
segurana e integridade em um SO.
Os SOs restringem as operaes executadas pelas aplicaes por razes de segurana e
estabilidade.
Tipos:
Modo usurio: uma aplicao s pode executar instrues conhecidas como no-privilegiadas, tendo
acesso a um nmero reduzido de instrues.
Modo kernel: a aplicao pode ter acesso ao conjunto total de instrues no registrador.
25
ROTINAS DO SO
Verificar
privilgios via
software
Rotinas do SO
Se uma aplicao chamar uma rotina do kernel, o
mecanisco de system call verificar se a aplicao
possui privilgios necessrios.
Em caso POSITIVO
A rotina chamada
Em caso negativo o SO impedir o desvio para a rotina
do sistema
Em caso NEGATIVO
Informar ao programa (aplicao) que fez a
chamada que a operao no foi pssvel
09/09/2016
SISTEMAS OPERACIONAIS II
27
CHAMADA A ROTINAS DO SO
As System Calls (chamadas de sistema) so como portas de entrada para ter acesso as rotinas
do ncleo do SO e seus servios;
tipicamente utilizado em sistemas UNIX, porm em outros SO, o mesmo conceito
apresentado com diferentes nomes:
System services - OpenVMS;
Application Program Interface (API) - MS Windows;
System Call
Aplicao
Ncleo do
Sistema Operacional
Biblioteca
Hardware
CHAMADAS A ROTINAS DO SO
Exemplo desenvolvido em
Delphi;
29
LINGUAGEM DE COMANDOS
A linguagem de comandos, ou linguagem de controle,
permite que o usurio se comunique de uma forma simples
com o SO.
Ex: Criar, ler, ou eliminar arquivos.
boot
Sistema
Operacional
Disco
Memria
Principal
31
aplicao
aplicao
ARQUITETURAS DO NCLEO
Arquitetura Monoltica
Todo o SO foi desenvolvido como uma estrutura nica.
Modo usurio
Modo kernel
System call
Hardware
ARQUITETURAS DO NCLEO
Arquitetura em Camadas
Aumento da complexidade e tamanho do cdigo dos SOs estimularam
tcnicas de programao estruturada e modular;
Sistema dividido em nveis sobrepostos (camadas);
33
VM 1
VM 2
VM n
ARQUITETURAS DO NCLEO
Ap1
Ap2
Apn
SO1
SO2
SOn
HV1
HV2
HVn
Mquina Virtual
Modelo de VM cria um nvel intermedirio entre hardware e SO
denominado Gerncia de Mquinas Virtuais;
So criadas diversas VMs, cada uma com uma cpia virtual do
hardware;
Cada VM independente das demais e possui seu prprio SO;
Pode-se ter toda uma associao de HV e SO dedicados a um dado conjunto de aplicaes.
Hardware
ARQUITETURAS DO NCLEO
Arquitetura de Microkernel
Modo kernel
em
Modo usurio
ag
ns
me
me
ns
ag
em
Microkernel
Hardware
ESTRUTURA DO PROCESSO
Um processo inicialmente pode ser entendido como um programa
em execuo;
Conceito mais abrangente:
Contexto de
Software
Contexto de
Hardware
Programa
Espao de
Endereamento
Sistema Operacional
CONTEXTO DE HARDWARE
Armazena o contedo dos registradores gerais da CPU e
dos registradores de uso especfico.
Processo A
Processo B
executando
Salva registradores do
Processo A
Carrega registradores do
Processo B
executando
Salva registradores do
Processo B
Carrega registradores do
Processo A
executando
CONTEXTO DE SOFTWARE
Funo: especificar os limites e caractersticas dos recursos que podem ser alocados pelo
processo.
Ex.: nmero mximo de arquivos abertos simultaneamente, prioridade de execuo e tamanho do
buffer para operaes de E/S.
Arquivo de usurios: arquivo do SO onde so especificados os limites dos recursos que cada
processo pode alocar.
3 grupos:
Identificao:
Cotas;
Privilgios.
38
CONTEXTO DE SOFTWARE
Identificao: cada processo criado pelo sistema recebe uma identificao nica.
PID (process identification): identificador do processo (mudana de contexto);
UID (user identification): identificao do usurio ou processo (owner) que o criou.
Quotas: so os limites que cada recurso do sistema que um processo pode alocar.
Privilgios: Definem as aes que um processo pode fazer em relao a ele mesmo, aos demais processos e ao SO.
39
ESTADO DO PROCESSO
Um processo no deve alocar exclusivamente
a UCP de forma que exista um
compartilhamento no uso do processador.
Lista de
processos
em estado
de pronto
..
..
..
..
3 estados:
PCB# 5
..
..
..
..
PCB# 1
Execuo (running);
Quando processado pela UCP.
Pronto (ready);
Quando aguarda para ser executado.
Espera (wait).
Quando espera por algum evento externo para prosseguir
seu processamento.
Lista de
processos
em estado
de espera
..
..
..
..
..
..
..
..
..
..
..
..
PCB# 9
PCB# 2
PCB# 4
Estado de Execuo
Execuo Espera;
Eventos gerados pelo prprio processo ou por uma
operao de E/S.
Espera Pronto;
A operao solicitada atendida ou o recurso
esperado concedido.
Estado de Espera
Estado de Pronto
Estado de Espera
Estado de Pronto
residente
no residente
Execuo Pronto.
Ocorre por eventos gerados pelo sistema. Ex.: tempo
que o processo possui para ser executado.
09/09/2016
SISTEMAS OPERACIONAIS II
42
ponteiros
Estado do processo
Nome do processo
Prioridade do processo
Registradores
Limites de memria
Lista de arquivos abertos
..
..
..
..
E
stadodeE
xecuo
E
stadodeT
rm
ino
E
stadodeP
ronto
E
stadodeC
riao
44
CPU-bound
I/O-bound
Requisitam muitos servios de entrada e sada.
Processos extremamente interativos como processadores de
texto.
45
rocessoForeground
(a) P
entrada
sada
terminal
terminal
ackground
rocessoB
(b) P
entrada
arquivo
deentrada
sada
arquivo
desada
sadado
P
rocessoA
entradado
P
rocessoA
sadado
P
rocessoB
entradado
P
rocessoB
P
rocessoA
P
rocessoB
Resumo
O processador projetado para executar instrues a partir do ciclo de busca e execuo;
O processador busca a instruo a ser executada na memria principal e a armazena no
registrador de instrues para finalmente decodificar seus bits e realizar a execuo;
O registrador tem a funo de armazenar sempre o endereo da prxima instruo a ser
executada e as alteraes do seu contedo determinam o sequenciamento de execuo das
instrues armazenadas na memria principal.
Na viso da camada de hardware o processador executa instrues sem distinguir qual
programa encontra-se em processamento.
o SO que gerencia a concorrncia entre programas.
48
RESUMO