A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Disciplina: Sistema Operacional Professor: Luciano Ricardi Scorsin.

Apresentações semelhantes


Apresentação em tema: "Disciplina: Sistema Operacional Professor: Luciano Ricardi Scorsin."— Transcrição da apresentação:

1 Disciplina: Sistema Operacional Professor: Luciano Ricardi Scorsin

2 Sumário 1 – Resumo Aula 1 2 – Processos e Threads

3 1 – O que é um SO. 2 – Histórico SOs. Tipos de SO 3 – Revisão sobre Hardware de Computadores 4 – Conceitos sobre SO. 5 – Chamadas ao sistema. 6 – Estruturas dos SOs. Resumo Aula 1

4 1 – Processos 2 – Threads 3 – Comunicação Interprocessos 4 – Problemas Clássicos de IPC 5 – Escalonamento Resumo Aula 2

5 Processos Resumo Aula 2

6 Processos e Threads Processo Judicial: Processo, em direito, é um modo de proceder, uma seqüência de atos que visam produzir um resultado e, no contexto jurídico, estão previstos em leis ou outros dispositivos vigentes. Etimologicamente, tem o sentido de marcha para frente, avanço, progresso, desenvolvimento.

7 Processos e Threads Processo Organizacional: Sequencia de Passos para obter um resultado.

8 Processos e Threads Processo Computacional: Processo é um programa que permanece em execução, utilizando recursos do computador (CPU, Memória, E/S), executando tarefas, até que sua meta seja atingida.

9 Processos e Threads Programa: Algoritmo criado para desempenhar alguma tarefa específica. Analogia: Receita de Bolo Diferença entre Processo e Programa Processo: Programa em execução. Utilizando o algoritmo criado o processo aloca recursos computacionais para atingir o objetivo do algoritmo. Analogia: Confeiteiro usando todos os recursos de uma cozinha e ingredientes para criar o bolo.

10 Processos e Threads Exemplo Processo em Execução Ok!! Já anotei todos os ingredientes!  Agora mãos à obra! Analogia: Carregando dados na memória.

11 Processos e Threads Exemplo Processo em Execução Hmmm no meio da receita minha filha chegou reclamando que foi picada por uma abelha. Anotei onde parei e vou ajudá-la! Analogia: Processo registra na memória onde parou.

12 Processos e Threads Exemplo Processo em Execução Ok... Misturando ovos, acucar e batendo.... Analogia: Processo em execução.

13 Processos e Threads Exemplo Processo em Execução Ops!!! Picada de abelha na minha fihinha!! Bem, tive que parar de fazer o bolo para ajudar minha filha!! Ok! Filhinha tratada! Vamos voltar a fazer o bolo? Analogia: Alternancia de processos.

14 Processos e Threads Exemplo Processo em Execução Onde eu estava mesmo? Ah!! Ainda bem que anotei onde eu estava! Posso continuar de onde parei! Vou finalizar este bolo lindo! Analogia: Retornar o processo de onde parou a partir dos dados registrados na memória.

15 Processos e Threads Criação de Processos Quatro eventos principais: 1 – Início do sistema 2 – Execução de chamada fork() a partir de processo em execução. 3 – Requisição do usuário para criação de processo. 4 – Início de um job em lote.

16 Processos e Threads Término de Processos Quatro eventos principais: 1 – Saída normal (voluntária) Ex: exit() 2 – Saída por erro (voluntária) Ex: Falta argumentos 3 – Erro fatal (involuntário) Ex: Div/zero 4 – Cancelamento por outro processo (involuntário) Ex: Kill.

17 Processos e Threads Hierarquia de Processos -Reprodução Assexuada - Matou o pai, morrem os filhos. - Diferente entre Windows e Unix.

18 Processos e Threads Estado dos Processos Tres estados principais: 1 – Em execução (realmente usando a CPU naquele instante) 2 – Pronto (executável, temporariamente parado para dar lugar a outro processo) 3 – Bloqueado (incapaz de executar enquanto um evento externo não ocorrer)

19 Processos e Threads Transição dos Estados Em Execução Bloqueado Pronto Transições 1 – O processo bloqueia aguardando alguma entrada 2 – O escalonador seleciona outro processo 3 – O escalonador seleciona este processo 4 – A entrada torna-se disponível

20 Processos e Threads O escalonador

21 Processos e Threads O escalonador 01...N-2N-1 Escalonador Processos

22 Processos e Threads A tabela de processos Gerenciamento de Processos Gerenciamento de Memória Gerenciamento de Arquivos RegistradoresPonteiro para o segmento de código Diretório-Raiz Contador de ProgramaPonteiro para o segmento de dados Diretório de Trabalho Palavra de estado do programa Ponteiro para o segmento de pilha Descritores de arquivos PrioridadeIdentificador (ID) do Usuário Parâmetros de Escalonamento Identificador (ID) do grupo Processo Pai

23 Processos e Threads A Tabela de Processos Quando parei de fazer o bolo para atender a minha filha, anotei tudo o que fiz para poder prosseguir a partir de onde parei. Parei Aqui!!

24 Threads Resumo Aula 2

25 Processos e Threads Conceitos de Threads 1 – Processos leves. 2 – Linha de execução. Processo Thread

26 Processos e Threads MultiThread Processo Threads

27 Processos e Threads Ex: Processamento de um Processo MT Audio Imagem Posição

28 Processos e Threads Ex: Processamento de um Processo MT

29 Processos e Threads Conceitos de Threads Threads compartilham o mesmo espaço de endereçamento e outros recursos alocados pelos processos.

30 Processos e Threads Implementação de Threads Threads em modo usuário Threads em modo núcleo

31 Processos e Threads Threads em nível usuário Núcleo Espaço do Usuário Espaço do Núcleo Processo Thread Sistema Supervisor Tabela de Threads Tabela de Processos Núcleo Tabela de Processos Tabela de Threads Processo Thread

32 Comunicação Interprocessos IPC Resumo Aula 2

33 Processos e Threads Comunicação Interprocessos 1 – Como um processo passa informação para outro. 2 – Garantir que dois ou mais processos não invadam uns aos outros. (Ex: Disputar o ultimo MB da memória) 3 – Sequencia adequada quando existirem dependencias. Ex: B esperar resultados de A para imprimir

34 Processos e Threads Condições de Disputa... 4Abc 5Prog.c 6Prog.n 7... out = 4 in = 7 Processo A Processo B Diretorio de Spool

35 Processos e Threads Condições de Disputa... 4Abc 5Prog.c 6Prog.n 7Processo A... out = 4 in = 7 Processo A Processo B Diretorio de Spool

36 Processos e Threads Condições de Disputa... 4Abc 5Prog.c 6Prog.n 7Processo B... out = 4 in = 8 Processo A Processo B Diretorio de Spool

37 Processos e Threads Regiões Críticas... 4Abc 5Prog.c 6Prog.n 7Processo B... out = 4 in = 8 Processo A Processo B Diretorio de Spool REGIAO CRITICA

38 Processos e Threads Regiões Críticas – Condições para Solução 1 – Nunca dois processos podem estar simultaneamente em suas regiões críticas. 2 – Nada pode ser afirmado sobre a velocidade ou sobre o número de CPUs. 3 – Nenhum processo executado fora de sua região crítica pode bloquear outros processos. 4 – Nenhum processo deve esperar eternamente para entrar em sua região crítica.

39 Processos e Threads Regiões Críticas – Exclusão Mútua com Espera Ociosa 1 – Desabilitando Interrupções 2 – Variáveis de impedimento (Lock) 3 – Alternancia obrigatória 4 – Solução de Peterson 5 – A instrução TSL TODAS consomem tempo de CPU

40 Processos e Threads Regiões Críticas – Dormir e Acordar Sleep e Wakeup Problema do produtor-consumidor Dados Produtor Consumidor GRAVA LE count = 0 REGIAO CRITICA

41 Processos e Threads Regiões Críticas – Semáforos

42 Processos e Threads Regiões Críticas – Semáforos S = 2

43 Processos e Threads Regiões Críticas – Semáforos X S = 1

44 Processos e Threads Regiões Críticas – Semáforos XX S = 0

45 Processos e Threads Regiões Críticas – Semáforos X S = 1

46 Processos e Threads Regiões Críticas – Outros 1 – Monitores 2 – Troca de Mensagens 3 – Barreiras 4 – Mutex

47 Processos e Threads Problemas Clássicos de IPC 1 – O problema do Jantar dos Filósofos 2 – O problema dos Leitores e Escritores 3 – O problema do Barbeiro Sonolento

48 Processos e Threads O problema do Jantar dos Filósofos - Alternam entre comer e pensar. - O espaguete está tao liso que precisam de 2 garfos. Analogia: Alocacao de recursos de E/S.

49 Processos e Threads O problema dos Leitores e Escritores - Escritores precisam aguardar leitores sairem. - Podem formar filas de leitores antes do Escritor. Analogia: Banco de Dados Base de Dados

50 Processos e Threads O problema dos Leitores e Escritores Base de Dados

51 Processos e Threads O problema do Barbeiro Sonolento - Problemas aumentam conforme aumentam o numero de barbeiros. - Clientes chegando simultaneamente. Analogia: Servidor Web.

52 Escalonamento Resumo Aula 2

53 Processos e Threads O escalonador 01...N-2N-1 Escalonador Processos

54 Processos e Threads Escalonador Em PCS... importante......em servidores... Muito mais importante!

55 Processos e Threads Quando escalonar 1 – Quando o processo é criado 2 – Quanto o processo termina 3 – Quando o processo bloqueia E/S 4 – Quando ocorre interrupcão de E/S

56 Processos e Threads Categorias 1 – Não preemptivo 2 – Preemptivo Tres tipos de sistemas: 1 – Lote 2 – Interativo 3 – Tempo Real

57 Processos e Threads Algoritmos Clássicos de Escalonamento em Sistemas de Lote 1 – Primeiro a Chegar, Primeiro a Ser Servido (FCFS) 2 – Job mais curto primeiro (SJF) 3 – Proximo de menor tempo restante 4 – Escalonamento em tres níveis (Escalonador de admissão, CPU e memória)

58 Considerando que os processos P1, P2, P3, P4 e P5 tenham tempo de burst de CPU, em milissegundos, iguais a 10, 1, 2, 3 e 5, respectivamente, se os processos chegarem na CPU simultaneamente no instante 0, o tempo de espera médio dos cinco processos, se eles forem escalonados para a CPU por meio de um algoritmo de escalonamento do tipo SJF (shortest job first), será maior do que se eles forem escalonados por um algoritm o FCFS (first come, first served), considerando a ordem de chegada P1, P2, P3, P4 e P5, e que o processo P1 tenha chegado no instante 0. SJF P2 = 1 P3 = 3 P4 = 6 P5 = 11 P1 = 21 TM = 8,4 FCFS P1 = 10 P2 = 11 P3 = 13 P4 = 16 P5 = 21 TM = 14,2

59 Processos e Threads Algoritmos Clássicos de Escalonamento em Sistemas Interativos 1 – Escalonamento por alternancia circular (round-robin) 2 – Escalonamento por prioridades 3 – Filas múltiplas 4 – Proximo processo mais curto 5 – Escalonamento garantido (1/n) 6 – Escalonamento por loteria 7 – Escalonamento por fração justa (AEBECEDE, ABECDE)

60 Processos e Threads Escalonamento de Threads Núcleo Espaço do Usuário Espaço do Núcleo Processo Thread Sistema Supervisor (Escalonador) Sistema Supervisor (Escalonador) Tabela de Threads Tabela de Processos Núcleo Tabela de Processos Tabela de Threads Processo Thread

61 Duvidas? Proxima Aula: DeadLocks e Gerenciamento de Memória


Carregar ppt "Disciplina: Sistema Operacional Professor: Luciano Ricardi Scorsin."

Apresentações semelhantes


Anúncios Google