310 likes | 463 Views
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:
E N D
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ão-preemptivo; • 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 (ShortestJobFirst) - 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 - ShortestProcessFirst(Processos Menores Primeiro) • Favorece os processos mais curtos • Aumenta o throughput outaxa de transferência efetiva do sistema. • rendimentoMenor 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 – ProcessIdentifier • 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 (ProcessIdentifier), 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.exeCópia do svchost.exe real utilizada pelo sistema C:\WINDOWS\$NtServicePackUninstall$\svchost.exeBackup do Service Pack C:\WINDOWS\ServicePackFiles\i386\svchost.exeCópia temporária da instalação do Service Pack C:\WINNT\system32\dllcache\svchost.exeCó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.