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 – Revisao Geral para Prova
2 – Trabalhos

3 O que será cobrado na Prova 01.
Revisão Geral O que será cobrado na Prova 01. 1 – Histórico e Conceitos Básicos de SO 2 – Processos, Threads, IPC e Escalonamento 3 – Gerenciamento de Memória e DeadLocks 4 – Entrada e Saída 5 – Sistema de Arquivos

4 O que NÃO será cobrado na Prova 01.
Revisão Geral O que NÃO será cobrado na Prova 01. Estruturas de Sistemas Operacionais Problemas clássicos de IPC Detalhes do funcionamento de algoritmos de escalonamento. (Conceitos serão cobrados) Detalhes sobre algoritmos e soluções para problemas relacionados à região crítica (Conceitos serão cobrados. Ex: Semáforos).

5 Resumo Aula 2 Revisar é Viver

6 Diagrama Sistema Operacional Processos Hardware
Armas: Escalonamento SysCalls (Chamadas de Sistema) Gerenciamento de Memória Entrada e Saída Hardware Processos IPC Threads Gerenciamento de Recursos Maquina Estendida

7 Gerenciamento de Memória
Diagrama Sistema Operacional Escalonamento Gerenciamento de Memória Processos e Threads IPC Entrada e Saída Sistemas de Arquivos

8 O que é um sistema operacional?
Revisão Geral O que é um sistema operacional? É o programa responsável por gerenciar os recursos de hardware de um equipamento eletrônico (geralmente computadores), permitindo a utilização destes recursos pelos usuários através de interfaces de programação, shell e interfaces gráficas e processos (ou programas) de usuários. As duas principais funções de um SO são: Maquina estendida: Abstrair a camada de hardware para facilitar a Programação. Gerenciador de Recursos: Compartilhar tempo e espaço. Ex: TimeSharing da CPU e Alocação de espaços de memória.

9 Gerações de Computadores
Revisão Geral Gerações de Computadores Segundo Tanenbaum, existem 4 gerações: A 1.a Geração (1945 – 1955) Válvulas e Painéis A 2.a Geração (1955 – 1965) Transistores e Sistemas em Lote A 3.a Geração (1965 – 1980) CIs e Multiprogramacao (OS 360, CTSS, Multics e... UNIX!) A 4.a Geração (1980 – Presente) Microprocessadores Enfim... PCs... MSDos, Windows, Mac, Linux...

10 Conceitos Básicos de Hardware
Revisão Geral Conceitos Básicos de Hardware Processador Memória Dispositivos de Entrada e Saída Barramento

11 Conceitos Básicos de Sistema Operacional
Revisão Geral Conceitos Básicos de Sistema Operacional Processo – Basicamente um programa em execução Deadlocks – Situação onde a concorrência por recursos causa bloqueios. Gerenciamento da Memória – Como o Sistema Operacional coordena os processos em execução e como ele faz a troca de processos na memória. Arquivos - Blocos de informações gravadas em algum tipo de armazenamento, normalmente persistente. Shell – Interface básica pela qual os usuários interagem com o Sistema Operacional.

12 Chamadas de Sistema Revisão Geral
É o mecanismo usado pelo programa para requisitar um serviço do sistema operacional, ou mais especificamente, do kernel do sistema operacional. Principais categorias: - Gerenciamento de Processos - Gerenciamento de Arquivos - Gerenciamento de Sistema de Diretorio e Arquivos - Outras

13 Chamadas de Sistema - Processos
Revisão Geral Chamadas de Sistema - Processos Chamada Descrição pid = fork() Crie um processo filho idêntico ao processo pai pid = waitpid(pid, &statloc, options) Aguarde um processo filho terminar s = execve(name, argv, environp) Substitua o espaço de endereçamento do processo exit(status) Termine a execução do processo e retorne o estado

14 Diferença entre Processo e Programa
Revisão Geral Diferença entre Processo e Programa Programa: Algoritmo criado para desempenhar alguma tarefa específica. Analogia: Receita de Bolo 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.

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

16 Exemplo Processo em Execução
Revisão Geral 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.

17 Exemplo Processo em Execução
Revisão Geral Exemplo Processo em Execução Ok... Misturando ovos, acucar e batendo.... Analogia: Processo em execução.

18 Exemplo Processo em Execução
Revisão Geral 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.

19 Exemplo Processo em Execução
Revisão Geral 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. Revisão Geral

20 Revisão Geral 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.

21 Revisão Geral 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.

22 Revisão Geral 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)

23 Revisão Geral Transição dos Estados Em Execução 1 2 3 Bloqueado Pronto 4 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

24 Thread MultiThread Revisão Geral Linha de execução em um processo.
São processos com várias linhas de execução. As threads compartilham os mesmos recursos destinados ao processo com espaçamento de memória e tempo de execução. As Threads podem rodar em modo núcleo ou modo usuário. Modo Núcleo – O núcleo do SO fica responsável pelo escalonamento das threads e pela manutenção da “Tabela de Threads”. Modo Usuário – Processos possuem sistema supervisor, que é responsável pelo escalonamento das threads.

25 IPC (Inter-Process Communication) – Comunicação Inter Processos
Revisão Geral IPC (Inter-Process Communication) – Comunicação Inter Processos É o grupo de mecanismos que permite aos processos transferirem informação entre si. Surgem as “Regiões Críticas”, que é uma área de código de um algoritmo que acessa um recurso compartilhado que não pode ser acessado concorrentemente por mais de uma linha de execução. Para proteger esta área, surgem recursos como semáforo e mutex.

26 Mutex Semáforo Revisão Geral
Mutex são mecanismos de sincronização que permitem gerir o acesso concorrente à “Região Crítica” em modo de exclusividade (1 utilizador). Semáforo Os semáforos são o mecanismo de sincronização mais complexos, já que permitem, simultaneamente, gerir o acesso concorrente quer em modo de exclusividade (1 utilizador) quer em modo de cooperação (N utilizadores).

27 Escalonador Revisão Geral
Recurso principal do sistema operacional responsável por gerenciar a execução dos processos através do controle dos recursos de hardware, priorização de execução e leitura e armazenamento da tabela de processos.

28 Tabela de Processos Revisão Geral
Tabela mantida pelo sistema operacional com informações completas sobre o estado dos processos.

29 Algoritmos Clássicos de Escalonamento em Sistemas Interativos
Revisão Geral 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)

30 DeadLock Revisão Geral
Um conjunto de processos estará em situação de deadlock se todo processo pertencente ao conjunto estiver esperando por um evento que somente um outro processo desse mesmo conjunto poderá fazer acontecer.

31 Condições para existir Deadlock
Revisão Geral Condições para existir Deadlock 1 – Condição de exclusão mútua (recurso ou associado a um único processo ou disponível) 2 – Condição de Posse e Espera (processos que retem recursos podem alocar outros recursos) 3 – Condição de não preempção (apenas o processo que retém o recurso pode liberá-lo) 4 – Condição de espera circular (um processo depende da liberação do outro para continuar)

32 DeadLock Conceitos Básicos
Processos A e B tentam alocar os mesmos recursos ao mesmo tempo B2 – Aloca CDRW Processo B B1 – Aloca TL A1 – Aloca CDRW Processo A A2 – Aloca TL

33 Gerenciador da Memória
Revisão Geral Gerenciador da Memória Recurso do sistema operacional responsável pela alocação, relocação e liberação de memória para os processos e também pelo processo de “swapping” ou paginação.

34 Formas de Gerenciamento
Revisão Geral Formas de Gerenciamento 1 – Mapas de Bits (Simples, porém lento) 2 – Listas encadeadas (Mais eficiente)

35 Formas de Gerenciamento
Revisão Geral Formas de Gerenciamento Mapa de Bits Lista Encadeada

36 Memória Virtual Gerenciamento de Memória
A memória virtual consiste num conjunto de recursos de hardware e software que possui três funções básicas: 1 - Para assegurar que cada processo (aplicação) tenha o seu próprio espaço de endereçamento, começando em zero (problema de recolocação). 2 - Proteção de memória, para impedir que um processo utilize um endereço de memória que não lhe pertença. 3 - Possibilitar que uma aplicação utilize mais memória do que a fisicamente existente (essa é a função mais conhecida).

37 Frame ou Quadro de Memória
Revisão Geral Página de Memória Bloco de tamanho fixo que corresponde a um endereço virtual de memória que por sua vez faz apontamento a um endereço físico da memória principal. Frame ou Quadro de Memória Bloco de tamanho fixo que corresponde ao endereço físico da memória principal, por vezes representado pelo endereçamento virtual (página da memória). Page Fault Interrupção enviada ao SO sugerindo que houve tentativa de acesso a uma região da memória virtual que não possui correspondência na memória física.

38 Memória Virtual Gerenciamento de Memória
O endereço virtual é sempre mapeado para um real. Quando o endereço virtual não possui apontamento acontece o “page fault”.

39 Intervalo de Memoria em K
Gerenciamento de Memória Memória Virtual Intervalo de Memoria em K Indice 60 64 X 56 52 48 44 7 40 36 5 32 28 24 20 3 16 4 12 8 6 1 2 28 32 24 20 16 12 8 4

40 Intervalo de Memoria em K
Gerenciamento de Memória Memória Virtual Intervalo de Memoria em K Indice 60 64 X 56 52 48 44 7 40 36 5 32 28 24 20 3 16 4 12 8 6 1 2 Page Fault 28 32 24 20 16 12 8 4

41 Intervalo de Memoria em K
Gerenciamento de Memória Memória Virtual Intervalo de Memoria em K Indice 60 64 X 56 52 48 44 7 40 36 5 32 28 24 20 3 16 4 12 8 6 1 2 Escolhe a celula mais antiga e salva em disco... 28 32 24 20 16 12 8 4

42 Intervalo de Memoria em K
Gerenciamento de Memória Memória Virtual Intervalo de Memoria em K Indice 60 64 X 56 52 48 1 44 7 40 36 5 32 28 24 20 3 16 4 12 8 6 2 Refaz o apontamento virtual... 28 32 24 20 16 12 8 4

43 Dispositivos de Entrada e Saída
Revisão Geral Dispositivos de Entrada e Saída Dispositivos eletro-mecânicos que realizam operações de entrada e saída de dados de um computador, podem ser divididos em dispositivos de bloco ou de caractere. Controladores de Dispositivos São componentes eletrônicos que permitem a interação entre os dispositivos de entrada e saída e o sistema computacional, incluindo barramento e CPU. DMA (Direct Memory Access) Recurso que permite que certos dispositivos de hardware num computador acessem a memória do sistema para leitura e escrita independentemente da CPU.

44 Interrupções de Hardware
Revisão Geral Interrupções de Hardware Sinais assíncronos que indicam necessidade de atenção da CPU.

45 Controlador de Interrupção
Princípios Hardware ES Interrupções Controlador de Interrupção Pedido de Interrupção

46 Camadas do Software de ES
Revisão Geral Camadas do Software de ES Software de E/S no nível do usuário Software do SO independente do dispositivo Driver do Dispositivo Tratadores de Interrupções Hardware Resposta De E/S Requisição De E/S

47 Tratadores de Interrupções
Revisão Geral Tratadores de Interrupções Software de E/S no nível do usuário Software do SO independente do dispositivo Driver do Dispositivo Tratadores de Interrupções Hardware Serve como uma espécie de filtro e manipulador de interrupções para o software.

48 Revisão Geral Driver do Dispositivo Software de E/S no nível do usuário Software do SO independente do dispositivo Driver do Dispositivo Tratadores de Interrupções Hardware Principal componente de abstração do SO, responsável por traduzir os comandos uniformizados do SO em comandos que o dispositivo eletrônico compreende.

49 Software do SO independente do Dispositivo
Revisão Geral Software do SO independente do Dispositivo Software de E/S no nível do usuário Software do SO independente do dispositivo Driver do Dispositivo Tratadores de Interrupções Hardware Interface Uniforme para Drivers Utilização de Buffer Relatório de Erros

50 Software de E/S do espaço do usuário
Revisão Geral Software de E/S do espaço do usuário Software de E/S no nível do usuário Software do SO independente do dispositivo Driver do Dispositivo Tratadores de Interrupções Hardware Softwares que gerenciam os dispositivos a partir do nível e usuário utilizando chamadas de sistema para comunicação com os dispositivos.

51 Resumo Aula 2 Trabalhos

52 Temas para Trabalho SOs Embarcados SOs Videogames História do Unix História do Windows Distribuições Linux Ou qualquer outro tema relacionado com SO.

53 Duvidas? Proxima Aula: PROVAAAAAAAA!!!!


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

Apresentações semelhantes


Anúncios Google