aula 25082011.

Download Report

Transcript aula 25082011.

Curso Técnico em
Manutenção e Suporte
em Informática
24-08-2011
Fernandes Gonçalves
Sistema Operacional
CURSO TÉCNICO - CONTEÚDO
 Sistemas Operacionais I
 - Trabalho 1° Percurso:
 -03/8/2011 - Tipos de Sistemas Operacionais
 - Trabalho 2° Percurso:
 - 14/09/2011 – Sistema Operacional Móveis
 - Trabalho 3° Percurso:
 - 05/10/2011 – Sistema Operacional em Redes e Sistema
Distribuídos
 - Trabalho 4° Percurso:
 - 09/11/2011 – Sistema Operacional Linux
CURSO TÉCNICO - CONTEÚDO
 Sistemas Operacionais I
 - Trabalho 2° Percurso:
 - 15/09/2011 – Sistema Operacional Móveis
 - Descrever o seu funcionamento, os aplicativos e as
caracteristicas dos que estão dominando o mercado:





Symbiam
Windows Phone
Android
Mac OSX – Iphones
Fazer um conclusão sobre sua opinião a
respeito desses sistemas operacionais
Principais Rotinas do Kernel:
Escalonamento de Processos
 3 principais estágios de execução
 Fatores internos e externos provocam mudanças de estado
 Sempre entra na fila de Prontos antes de executar
novamente
Principais Rotinas do Kernel:
Escalonamento de Processos
5 possíveis estágios de execução
Principais Rotinas do Kernel:
Escalonamento de Processos
Existem vários algoritmos que são utilizados para a realização o
do escalonamento de baixo nível ou de curto prazo. Em todos
eles, o principal objetivo é designar o processador para um certo
processo dentre vários processos existentes, otimizando um ou
mais aspectos do comportamento geral do sistema.
Stallings categoriza os escalonadores como [STA92, p. 356]:
1. Orientados ao usuário: quando procuram otimizar os
tempos de resposta e permanência além da previsibilidade.
2. Orientados ao sistema: quando enfatizam a produtividade,
a taxa de utilização da processador, o tratamento justo e o
balanceamento do uso de recursos.
Principais Rotinas do Kernel:
Escalonamento de Processos
Algoritmo de Escalonamento Preemptivo e nãopreemptivo;
• Não- preemptivo: Quando um processo executa, ele não
pode ser interrompido por um fator externo.
• Preemptivo: Ato de interromper um processo em execução
e depois retornar ao processo , no ponto onde parou.
Principais Rotinas do Kernel:
Escalonamento de Processos
Algoritmos Não-preemptivos
FIFO( First in. First out) – Primeiro que chega, primeiro que
sai
• Vantagem: Justo!: Primeiro que chega é executado.
• Desvantagem: Os processos longos fazem os curtos
esperarem; Não dá prioridades para os processos
SJF (Shortest Job First) - Processo mais curto primeiro
• Favorece os processos curtos primeiro:
• Isso tem como resultado um tempo médio mínimo de
espera para cada conjunto de processos a serem
executados.
Principais Rotinas do Kernel:
Escalonamento de Processos
Algoritmos Não-preemptivos - FIFO
Principais Rotinas do Kernel:
Escalonamento de Processos
Algoritmos Não-preemptivos - SJF
Principais Rotinas do Kernel:
Escalonamento de Processos
Algoritmos Preemptivos
SPF - Shortest Process First (Processos Menores Primeiro)
• Favorece os processos mais curtos
• Aumenta o throughput ou taxa de transferência efetiva do
sistema.
• rendimento Menor tempo médio de espera
Desvantagens
• Baseado em estimativas de tempo
• Maior variância no tempo de espera (+ imprevisibilidade)
Principais Rotinas do Kernel:
Escalonamento de Processos
 Critérios com os quais o escalonador de Processos
deve-se preocupar:
• Justiça: fazer com que cada processo ganhe seu tempo
justo de CPU;
• Eficiência: manter a CPU ocupada 100% do tempo (se
houver demanda);
• Tempo de Reposta: minimizar o tempo de resposta para os
usuários interativos;
• Minimizar o tempo dos usuários batch(lote) devem
esperar pelo resultado;
• Throughput: maximizar o número de jobs processados por
unidade de tempo;
Principais Rotinas do Kernel:
Escalonamento de Processos
 Hierarquia de Processos
• No sistema Unix os Processos pai criam processos filhos, e
processos filhos criam sou próprios filhos, formando uma
hierarquia.
• No Windows todos os processos são iguais.
Principais Rotinas do Kernel:
Escalonamento de Processos
 Os processos dividem em 3 regiões:
Troca de Contexto
Quando CPU alterna para outro processo, o sistema deve salvar o
estado do processo deixando o processador e carregar o estado
anteriormente salvo do processo novo.
Tempo de Troca de Contexto é dependente de suporte
em hardware.
Criação de Processos
Processo pai cria processo filho, o qual, por sua vez, pode criar
outros processos, formando uma árvore de processos.
Principais Rotinas do Kernel:
Escalonamento de Processos
 Os processos dividem em 3 regiões:
Compartilhamento de Recursos
– Pai e filho compartilham todos os recursos.
– Filho compartilha um subconjunto dos recursos do
pai.
Principais Rotinas do Kernel:
Escalonamento de Processos
 Ocorrência de Processos
Processos sequenciais: São aqueles que ocorrem um de cada
vez, um a um no tempo, serialmente, como que de forma
exclusiva.
Processos Paralelos: São aqueles que, durante um certo
intervalo de tempo, ocorrem simultaneamente, ou seja, aqueles
que no todo ou em parte ocorrem ao mesmo tempo.
Principais Rotinas do Kernel:
Escalonamento de Processos
Sequencial
Paralelo
Principais Rotinas do Kernel:
Escalonamento de Processos
 Ocorrência de Processos
Processos Paralelos: Considerando tal possibilidade de disputa
por recursos e também sua natureza, os processos paralelos
podem ser classificados nos seguintes tipos:
• Independentes Quando utilizam recursos completamente distintos,
não se envolvendo em disputas com outros processos.
• Concorrentes: Quando pretendem utilizar um mesmo recurso,
dependendo de uma ação do sistema operacional para definir a
ordem na qual os processos usarão recurso.
• Cooperantes: Quando dois ou mais processos utilizam em conjunto
um mesmo recurso para completarem uma dada tarefa.
Principais Rotinas do Kernel:
Comunicação entre Processos
 IPC - Inter-Process Communication
( Comunicação entre processo)
Mecanismo para processos se comunicarem e
sincronizarem suas ações.
Sistema de mensagens – processos se comunicam uns com os
outros sem utilização de variáveis compartilhadas.
Principais Rotinas do Kernel:
Comunicação entre Processos
 RPC – Remote Procedure call
( Chamada de Procedimento Local)
Processos que permite a um programa de computador chamar
um procedimento em outro espaço de endereçamento
(geralmente em outro computador, conectado por uma rede)
Principais Rotinas do Kernel:
Comunicação entre Processos
O serviço 'Chamada de procedimento remoto' (RPC) terminou
inesperadamente. O sistema está a encerrar. Guarde todo o trabalho em
progresso e termine a sessão. Todas as alterações não guardadas serão
perdidas.
Este encerramento foi iniciado por NT AUTHORITY\SYSTEM.
Esse erro afeta os sistemas que não possuam o patch da Microsoft instalado
MS03-039 .
Principais Rotinas do Kernel:
Organização de Processos
 PCB
O PCB (Process Control Block ou Bloco de Controle de
Processo) é uma estrutura de dados que mantém a
representação de um processo para o sistema
operacional.
• Contêm todas as informações necessárias para a
execução do mesmo possa ser iniciada,
interrompida e retomada conforme
determinação do sistema operacional, sem
prejuízo para o processo.
Principais Rotinas do Kernel:
Organização de Processos
 PCB contém seguintes informações









Estado do Processo.
Contador do programa(registrador da CPU) .
Informações de escalonamento da CPU.
Informação de Gerenciamento de memória.
Informações do status de E/S.(dispositivos de hardware
que estão ligado ao processo, arquivos abertos. Etc...)
Identificador do processo(PID)
O ponteiro para o próximo PCB
O espaço de endereçamento do processo
A prioridade do processo
Principais Rotinas do Kernel:
Organização de Processos
Principais Rotinas do Kernel:
Organização de Processos
 PID – Process Identifier
Quando solicitamos a execução de um programa, o sistema
operacional cria (Create) um processo atribuindo a este um
número de identificação ou seu PID (Process Identifier), um
valor inteiro que servirá para distinguir este processo dos
demais.
Principais Rotinas do Kernel:
Organização de Processos
O Processo svchost.exe
O svchost.exe é um serviço capaz de hospedar outros
serviços. Basicamente ele roda vários processos (um
‘grupo’), porém só um nome aparecerá listado. Ele
pode, por outro lado, carregar vários grupos, o que
resultará em vários svchost.exe na lista de processos, o
que é um caso extremamente comum.
Fonte:
http://www.linhadefensiva.org/2005/03/svchost/
Os “ svchost.exe” legítimos ficam na pasta
c:\windows\system32
Principais Rotinas do Kernel:
Organização de Processos
O Processo svchost.exe
C:\WINDOWS\system32\svchost.exe
Cópia do svchost.exe real utilizada pelo sistema
C:\WINDOWS\$NtServicePackUninstall$\svchost.exe
Backup do Service Pack
C:\WINDOWS\ServicePackFiles\i386\svchost.exe
Cópia temporária da instalação do Service Pack
C:\WINNT\system32\dllcache\svchost.exe
Cópia de segurança do svchost caso algo aconteça com o
verdadeiro
Principais Rotinas do Kernel:
Organização de Processos
 Contador do Programa
Contador de programa é um registrador de uma Unidade Central
de Processamento que indica qual é a posição atual na
sequência de execução de um computador. Dependendo dos
detalhes da arquitetura, ele armazena o endereço da instrução
sendo executada ou o endereço da próxima instrução.
Principais Rotinas do Kernel:
Organização de Processos
 Registrador
Registrador é o mecanismo, circuito ou dispositivo que efetua o
registro de (ou que guarda, registra) um dado ou um evento.
Principais Rotinas do Kernel:
Organização de Processos
 Espaço de Endereçamento
O espaço de endereçamento é a área de memória
pertencente ao processo onde as instruções e dados do
programa são armazenados para execução. Cada processo
possui seu próprio espaço de endereçamento, que deve ser
devidamente protegido do acesso dos demais processos.