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

4 O que NÃO será cobrado na Prova 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 Revisar é Viver Resumo Aula 2

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

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

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

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

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

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

12 Chamadas de Sistema É 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 Revisão Geral

13 Chamadas de Sistema - Processos Revisão Geral ChamadaDescriçã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 Revisão Geral 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.

15 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 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 Revisão Geral Exemplo Processo em Execução Ok... Misturando ovos, acucar e batendo.... Analogia: Processo em execução.

18 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 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 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 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

24 Thread Linha de execução em um processo. MultiThread 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. Revisão Geral

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

26 Mutex 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). Revisão Geral

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

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

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

31 Condições para existir Deadlock Revisão Geral 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 Process o A Process o B B1 – Aloca TL B2 – Aloca CDRW A1 – Aloca CDRW A2 – Aloca TL Processos A e B tentam alocar os mesmos recursos ao mesmo tempo

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

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

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

36 Gerenciamento de Memória Memória Virtual A memória virtual consiste num conjunto de recursos de hardware e software que possui três funções básicas:hardware software 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).aplicaçã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.memória 3 - Possibilitar que uma aplicação utilize mais memória do que a fisicamente existente (essa é a função mais conhecida).

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

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

39 Gerenciamento de Memória Memória Virtual Intervalo de Memoria em KIndice 6064X 5660X 5256X 4852X X X 2832X 2428X

40 Gerenciamento de Memória Memória Virtual Intervalo de Memoria em KIndice 6064X 5660X 5256X 4852X X X 2832X 2428X Page Fault

41 Gerenciamento de Memória Memória Virtual Intervalo de Memoria em KIndice 6064X 5660X 5256X 4852X X X 2832X 2428X Escolhe a celula mais antiga e salva em disco...

42 Gerenciamento de Memória Memória Virtual Intervalo de Memoria em KIndice 6064X 5660X 5256X X X 2832X 2428X X Refaz o apontamento virtual...

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

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

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

46 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 Requisição De E/S Resposta De E/S

47 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 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 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 Trabalhos Resumo Aula 2

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

53 Duvidas? Proxima Aula: PROVAAAAAAAA!!!!


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

Apresentações semelhantes


Anúncios Google