350 likes | 468 Views
Disciplina: Sistema Operacional Professor: Luciano Ricardi Scorsin. Sumário 1 – Revisao Aula 2 2 – Deadlocks 3 – Gerenciamento de Memória. Resumo Aula 1. 1 – O que é um SO. 2 – Histórico SOs. Tipos de SO 3 – Revisão sobre Hardware de Computadores 4 – Conceitos sobre SO.
E N D
Disciplina: Sistema OperacionalProfessor: Luciano Ricardi Scorsin
Sumário1 – Revisao Aula 2 2 – Deadlocks 3 – Gerenciamento de Memória
Resumo Aula 1 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 2 1 – Processos 2 – Threads 3 – Comunicação Interprocessos 4 – Problemas Clássicos de IPC 5 – Escalonamento
Diagrama Sistema Operacional Armas: Escalonamento SysCalls (Chamadas de Sistema) Processos Hardware IPC Threads Maquina Estendida Gerenciamento de Recursos
Aula 3 – Sumário 1 – DeadLocks 2 – Gerenciamento de Memória
Deadlocks DeadLocks
Deadlocks Conceito 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.
Deadlocks 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)
Deadlocks DeadLock 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
Gerenciamento de Memória Gerenciamento de Memória
RAM Hard Disk Gerenciamento de Memória Hierarquia da Memória Atualmente Anos Atras Cache Kbytes MegaBytes GigaBytes Megabytes GigaBytes TeraBytes L1 = 1024KB L2 = 1024 a 2048 KB L3 = 8192 KB
Gerenciamento de Memória Hierarquia da Memória
Gerenciamento de Memória 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.
Gerenciamento de Memória Gerenciamento básico da memória 1 – Monoprogramação sem troca de processos ou paginação 0xFFFF 0xFFFF 0xFFFF MSDOS 0 0 0
Gerenciamento de Memória 2 – Multiprogramação por partições fixas 800K 700K 400K 200K 100K 0
Gerenciamento de Memória 2 – Multiprogramação por partições fixas 800K 700K 400K 200K 100K 0
Gerenciamento de Memória 3 - Troca de Processos com Particionamento Dinâmico
Gerenciamento de Memória 3 - Troca de Processos com Particionamento Dinâmico
Gerenciamento de Memória • Trocas de processos = Fragmentação • Processos podem requerer espaço dinamicamente (mais e mais e mais espaço) • Os espaços não são uniformizados.(Ex: Quero 1024, 2048....)
Gerenciamento de Memória Hmmm... Heap e Stack? Espaço para Expansao Espaço para Expansao
Gerenciamento de Memória Formas de Gerenciamento 1 – Mapas de Bits (Simples, porém lento) 2 – Listas encadeadas (Mais eficiente)
Gerenciamento de Memória Formas de Gerenciamento Mapa de Bits Lista Encadeada
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: 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).
Gerenciamento de Memória Memória Virtual
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”.
Gerenciamento de Memória Memória Virtual
Gerenciamento de Memória Memória Virtual Page Fault
Gerenciamento de Memória Memória Virtual Escolhe a celula mais antiga e salva em disco...
Gerenciamento de Memória Memória Virtual Refaz o apontamento virtual...
Gerenciamento de Memória Algoritmos de Substituicao • Algoritmo Ótimo • Algoritmo Não Usada Recentemente • Algoritmo FIFO • Algoritmo Segunda Chance • Algoritmo do relógio Menos Recentemente Usada
Conceitos Básicos Gerenciamento de Memória Gerenciamento de Memória RedHat
Deadlocks Segurança
Segurança Buffer Overflow 1 – “Smashing the Stack for Fun and Profit” (Aleph1, Phrack Magazine, 1996). 2 – “Linux on-the-fly kernel patching without LKM” (devik & sd, Phrack Magazine, 2003)
Duvidas? ricardi@gmail.com Proxima Aula: Entrada e Saída Sistema de Arquivos