Disciplina: Fundamentos de Sistemas Operacionais
Prof. Milton Aidar Martinez [email protected]
Resumo Currculo ProfessorMestrando em Engenharia da Produo (2011) como bolsista CAPES. Ps- graduado em Formao de Docentes para o Ensino Superior(2003). Ps-graduado em Tecnologia da Informao(2000). Graduado pela Universidade Presbiteriana Mackenzie (1999) em Processamento de Dados. Professor e Coordenador de curso de Ensino Superior na rea de concentrao de Informao e Comunicao. 10 anos de experincia acadmica no ensino superior. 18 anos de experincia profissional em Gesto da TI
Resumo Currculo ProfessorAtuado em empresas como: Caixa Econmica Federal, HP do Brasil, Telefnica, Uninove, Faculdades Anchieta entre outras, ocupando os cargos: Analista de Suporte, Coordenador de Curso/ Treinamento e Gerente de T.I. Atualmente scio-diretor da empresa M2A Connect que desenvolve consultorias e assessorias em desenvolvimentos de softwares para diversas empresas . Lecionando as disciplinas de PMBOK, ITIL e Sistemas Operacionais na Universidade Nove de Julho (Uninove) e na Veris IBTA Certificado ITIL V3
Disciplina: Fundamentos de Sistemas Operacionais
1- Introduo ao S.O
Objetivos da DisciplinaIdentificar problemas encontrados no funcionamentode um Sistema Operacional Conhecer as partes que compe o Sistema
Operacional.Conhecer as principais falhas que ocorrem em Sistemas Operacionais. Distinguir o Sistema Operacional dos demais softwares de base.
Compreender o gerenciamento do hardware e softwareque compe um computador.5
Contedo Programtico - ResumoIntroduo aos Sistemas OperacionaisoDefinio | Histrico | Conceitos Bsicos | Chamadas | Tipos
Gerncia do ProcessadoroProcessos | Estados | Escalonamento | Deadlocks | Threads
Gerncia de MemriaoTipos| Alocao| Fragmentao | Swapping | Proteo
Gerncia de ArquivosoArquivos| Diretrios| Acesso| Alocao| Sistemas de Arquivos
Gerncia de I/OoHardware| Tipos de I/O| Camadas| Subsistemas |RAID|6
Critrio Avaliativo Provas Mensais = Atividades em sala (5,0) + Avaliaes(5,0) Atividades em sala Sero aplicadas atividades em todas as aulas sobre o referido contedo com entrega obrigatria ao professor (em dupla) Avaliaes Mensais Nas datas definidas sero aplicadas as provas mensais contemplando todo o contedo discutido at o momento. (individual) Avaliaes Bimestrais
Ttulo da apresentao
7
Bibliografias: Livros textos recomendados: OLIVEIRA, Romulo Silva de; CARISSIMI, A. da S. e Toscani, S.S. Sistemas Operacionais. Porto Alegre: .Bookman, 2008. TANENBAUM, A S. Sistemas Operacionais Modernos. So Pauli: Prentice Hall Brasil, 2007. TANEMBAUM, A.S. e WOODHULL, A. Projetos e Implementao de Sistemas Operacionais. Porto Alegre:Bookman, 2008. Livros textos complementares: SILBERSCHATZ, A. Sistemas Operacionais com Java. Rio de janeiro: Campus, 2008. MACHADO, Francis B., MAIA, L. P. Arquitetura de Sistemas Operacionais. Rio de Janeiro: LTC, 2007. NEVES, J. C. Programao Shell para Linux. So Paulo.Brasport, 2010.Ttulo da apresentao 8
Viso GeralSistema Operacional uma espcie de Gerente Executivo, que administra todos os componentes de SOFTWARE e HARDWARE.
HISTRIA1940 Computadores de grande porte sem a necessidade de S.O 1950 Mainframes, empresas, dispositivos de E/S, S.O em lote, buffer, spooler 1960 Incio do sistema de tempo compartilhado. 1970 memria virtual, avano das linguagens de programao de alto nvel. 1980 firmware, multiprocessador e redes. 1990internet, multimdia, exploso de novos dispositivos 2000 Sistemas distribudos, necessidade de segurana, sistemas open source. 2010 sistemas mobile, mquinas virtuais e conectividade sem fio.
Conceitos Bsicos
Interface de Comandos do Usurio
Gerenciador de UCP Gerenciador de Memria Gerenciador de Arquivos
Gerenciador de Dispositivos
HardwareBasicamente CPU e DISPOSITIVOS de E/S MAINFRAME (IBM 360 - OS/390) MINICOMPUTADORES (PDP-8 OpenVMS) SUPERCOMPUTADORES (T-REX Unix) MICROCOMPUTADOR(PC, APPLE Windows/MacOs)
TIPOS DE S.OLOTE antigos, sequenciais, independem do usurio. INTERATIVO vrias tarefas em tempo compartilhado. TEMPO REAL 1 ou mais processadores dedicados a uma nica tarefa. HBRIDOS mistura do LOTE e do INTERATIVO.
QUIZ 1 Conceitos de S.O
1. 2. 3. 4.
Qual a funo de um Sistema Operacional? Descreva com suas palavras a evoluo do S.O. Quais os subsistemas de um S.O? Descreva a evoluo do Hardware gerenciado pelo S.O. 5. Qual a principal diferena entre os Tipos de S.O?
Disciplina: Fundamentos de Sistemas Operacionais
2- Chamadas de Sistema
Sistema computacional
Introduo aos Sistemas Operacionais
Objetivos do sistema operacionalO sistema operacional procura tornar a utilizao do computador, ao mesmo tempo, mais eficiente e mais conveniente. Maior eficincia significa mais trabalho obtido no mesmo hardware, atravs da distribuio de seus recursos entre os programas. Exemplo: espao na memria, tempo de processador, impressora, espao em disco, etc. Maior convenincia significa diminuir o tempo necessrio para a construo dos programas, escondendo-se do programador detalhes do hardware. Exemplo: tipos de interface, acesso a perifricos, etc.
Introduo aos Sistemas Operacionais
Tipos de serviosExecuo de programas: o sistema operacional recebe o nome do arquivo, aloca memria para o programa, copia o contedo para a memria principal e inicia sua execuo. Armazenamento de arquivos: permite a criao, escrita, leitura e excluso de arquivos, alm de operaes como renomear, obter o tamanho, data de criao e outras informaes a seu respeito. Acesso a perifricos: alocao, leitura, escrita e liberao, alm de obteno e alterao de informaes a seu respeito.
Introduo aos Sistemas Operacionais
Tipos de servios medida que diversos usurios compartilham o computador, passa a ser interessante saber quanto de mais recurso cada usurio necessita. Pode-se utilizar essa informao para calcular o valor a ser cobrado pelo uso do computador. Na busca de um melhor aproveitamento do hardware, diversos usurios podem compartilhar um computador.
Cabe ao sistema operacional garantir que cada usurio possa trabalhar sem sofrer interferncia danosa dos demais.
Introduo aos Sistemas Operacionais
S.O. na viso do usurioA arquitetura de um sistema operacional corresponde imagem que o usurio tem do sistema, a forma como ele percebe o sistema. Essa imagem definida pela interface atravs da qual o usurio acessa os servios do sistema operacional. Essa interface, assim como a imagem, formada pelas chamadas de sistemas e pelos programas de sistema.
Introduo aos Sistemas Operacionais
Chamadas de sistemaOs programas solicitam servios ao sistema operacional atravs das chamadas de sistema.
Elas so semelhantes s chamadas de sub-rotinas, contudo enquanto estas so transferncias para procedimentos normais do programa, as chamadas de sistema transferem a execuo para o sistema operacional.Atravs de parmetros, o programa informa exatamente o que necessita e o retorno da chamada de sistema, assim como retorno de uma sub-rotina, faz com que a execuo do programa seja retomada a partir da instruo que segue a chamada. Exemplo: abertura de um arquivo.Introduo aos Sistemas Operacionais
Chamadas de sistemaA parte do sistema operacional responsvel por implementar as chamadas de sistema normalmente chamada de ncleo ou kernel. Os principais componentes do kernel so a gerncia de processador, a gerncia de memria, o sistema de arquivos e a gerncia de entrada e sada. Muitos sistemas operacionais so implementados em camadas, primeiro um componente de software chamado microncleo ou microkernel implementa os servios mais bsicos associados a sistemas operacionais. Em cima do microkernel, usando seus servios, o kernel propriamente dito implementa os demais servios.Introduo aos Sistemas Operacionais
Organizao do sistema
Introduo aos Sistemas Operacionais
Programas de sistemaOs programas de sistema, alguma vezes chamados de utilitrios, so programas normais executados fora do kernel do sistema operacional. Esses programas implementam tarefas bsicas para a utilizao do sistema e muitas vezes so confundidos com o prprio sistema operacional. Como implementam tarefas essenciais para a utilizao do computador, so, em geral, distribudos pelo prprio fornecedor do sistema operacional. Exemplos so os utilitrios para manipulao de arquivos: programas para listar arquivo, imprimir, copiar, renomear, listar contedo de diretrio, entre outros.Introduo aos Sistemas Operacionais
Interpretador de comandosO mais importante programa de sistema o interpretador de comandos.
Sua tarefa receber comandos do usurio e execut-los.Para isso ele recebe as linhas tecladas pelo usurio, analisa seu contedo e executa o comando teclado. A execuo do comando, na maioria das vezes, vai exigir uma ou mais chamadas de sistema. Exemplo: listagem de diretrio
Introduo aos Sistemas Operacionais
Interface grfica do usurio: GUIOs mesmos conceitos sobre o interpretador de comandos igualmente vlido para a situao em que o sistema operacional oferece uma interface grfica de usurio (GUI - graphical user interface). A nica diferena est na comodidade para o usurio, que passa a usar cones, menus e mouse no lugar de digitar comandos textuais. Programadores utilizam principalmente editores de texto e compiladores. Usurios finais utilizam aplicativos e ferramentas de apoio. O sistema operacional propriamente dito fica escondido, longe da percepo do usurio comum.Introduo aos Sistemas Operacionais
S.O. na viso de projetoNa viso de projeto, o mais importante como o sistema est organizado internamente. A organizao de um sistema operacional corresponde forma como ele implementa os vrios servios. Dois tipos de eventos ativam o sistema operacional: uma chamada de sistema ou uma interrupo de perifrico. possvel que a chamada de sistema envolva o acesso a um perifrico. Nesse caso, o programa dever esperar at que o perifrico conclua a operao solicitada.
Introduo aos Sistemas Operacionais
Controladores dos perifricosEm funo das chamadas de sistema, o sistema operacional envia comandos para os controladores dos perifricos. O controlador deve informar ao sistema operacional quando a operao estiver concluda. Isso feito por intermdio de uma interrupo, quando o processador para o que est fazendo e passa a executar uma rotina especfica do sistema operacional. Como a interrupo do perifrico avisa o trmino de alguma operao de entrada e sada, possivelmente uma chamada de sistema foi concluda. Nesse caso, um programa espera de resposta poder ser liberado.Introduo aos Sistemas Operacionais
Quiz 2 Chamadas de Sistema1. Relacione Hardware, Programas de Sistema e Programas de Aplicao. 2. Qual o objetivo do S.O? 3. Cite Servios oferecidos pelo S.O. 4. Qual a funo de uma Chamada de Sistema? 5. O que so programas de Sistema? Explique um. 6. Qual a relao entre o S.O e os perifricos?
Disciplina: Fundamentos de Sistemas Operacionais
3- Processos e Threads
Processos e Threads2.1 Processos 2.2 Threads 2.3 Comunicao interprocesso
31
ProcessosO Modelo de Processo
Multiprogramao de quatro programas Modelo conceitual de 4 processos sequenciais, independentes Somente um programa est ativo a cada momento32
Criao de ProcessosPrincipais eventos que levam criao de processos:
1. Incio do sistema 2. Execuo de chamada ao sistema de criao de processos 3. Solicitao do usurio para criar um novo processo 4. Incio de um job em lote33
Trmino de ProcessosCondies que levam ao trmino de processos: 1. 2. 3. 4. Sada normal (voluntria) Sada por erro (voluntria) Erro fatal (involuntrio) Cancelamento por um outro processo (involuntrio)
34
Hierarquias de Processos Pai cria um processo filho, processo filho pode criar seu prprio processo (Subprocessos) Formam uma hierarquia UNIX chama isso de grupo de processos
Windows no possui o conceito de hierarquia de processos Todos os processos so criados iguais
35
Estados de Processos (1)
Possveis estados de processos em execuo bloqueado pronto
Mostradas as transies entre os estados36
Implementao de Processos (BCP)Identificao de Processo Status do Processo
Estado do Processo:Palavra de Status de Processo Contedo do Registrador Memria Principal Recursos Prioridade do Processo Contabilidade
Campos de entrada de uma tabela de processos37
ThreadsO Modelo de Thread (1)
(a) Trs processos cada um com um thread (b) Um processo com trs threads38
Sincronismo entre Processadores Modelo Mestre / Escravo (Assimtrico)M e m r i a P r i n c i p a l CPU MESTREDispositivos de E/S
CPU ESCRAVA 1 CPU ESCRAVA 2
39
Sincronismo entre Processadores (Fracamente Acoplados)MemriaPrincipal
CPU 1
Dispositivos de E/S 1
MemriaPrincipal
CPU 2
Dispositivos de E/S 2
MemriaPrincipal40
CPU 3
Dispositivos de E/S 3
Sincronismo(Simtrica) entre ProcessadoresCPU 1
MemriaPrincipal
CPU 2
Dispositivos de E/S 2
CPU 341
Sincronismo e Cooperao entre Processos Test and Setatravs do comando TS muda chave binria 0 disponvel e 1 indisponvel Wait e Signal wait ativado quando indisponvel e Signal depois de utilizar o recurso. Semforosconceito de parar e seguir.42
Cooperao entre processos
Processo Produtor
B u f f e r
Processo Consumidor
Conceito de Mutex (Excluo Mtua)
QUIZ 3 - Processos1. Qual a definio para Processo e quais seus estados? 2. Qual a origem e trmino de um Processo? 3. Relacione Processo e Thread. 4. Quais os tipos de Sincronismos de Processadores? Explique um deles. 5. Como pode ser feito o Sincronismo entre Processos?
Disciplina: Fundamentos de Sistemas Operacionais
4- Introduo a Escalonamentos
Escalonador de Processos Tem por objetivo ordenar os processos em fila em busca de otimizar o uso do processador.
46
BCP Bloco de Controle de Processos So passaportes para utilizao da CPU, contido em cada processo e atualizado conforme processamento.
47
Escalonamento Introduo ao Escalonamento (1)
Surtos de uso da CPU alternam-se com perodos de espera por E/Sa) um processo orientado CPU b) um processo orientado E/S 48
Introduo ao Escalonamento (2)
49
Objetivos do algoritmo de escalonamento
Escalonamento em Sistemas em Lote (1)
Um exemplo de escalonamento job mais curto primeiro
50
Escalonamento em Sistemas em Lote (2)
Escalonamento em trs nveis51
Escalonamento em Sistemas Interativos (1)
Escalonamento por alternncia circular (roundrobin)a) lista de processos executveis b) lista de processos executveis depois que B usou todo o seu quantum52
Escalonamento em Sistemas Interativos (2)
Um algoritmo de escalonamento com quatro classes de prioridade53
Tipos de Escalonamentos Primeiro a chegar primeiro a ser atendido Programa menor primeiro Por Prioridade Menor tempo restante Rodzio Filas de Mltiplos Nveis
54
Primeiro a chegar primeiro a ser atendido Simples implementao Fila FIFO(first-in, first-out) Sistemas em lotes Processo executado at o final Alto tempo de retorno
55
Programa menor primeiro Simples implementao Sistemas em lote Tempo de execuo dos processos prinformados Necessidade de envio simultneo
56
Por Prioridade Sistemas em lote Definio de prioridades pelo adm Prioridades iguais aplica-se outro escalonamento Menor Prioridade ao longo do tempo e acessos externos
57
Menor tempo restante Sistemas em lote Leituras constantes do BCP Prioriza os processos que necessitam de menor nmero de ciclos da CPU
58
Rodzio Sistemas interativos Focado em uso compartilhado Quantum de tempo Incrementado junto ao conceito FIFO
59
Filas de Mltiplos Nveis 60
Separao de LOTE e INTERATIVO Separao de CPU e I/O Combinao de escalonamentos Fila por Prioridade Fila por decrscimo de prioridade Fila por decrscimo de quantum Fila por acrscimo de envelhecimento
61
Ida M. Flynn. Introduo aos Sistemas Operacionais
Quiz 4 - Escalonamento1. Para que servem os algoritmos de Escalonamento de um S.O? 2. Cite os 6 tipos descritos de Escalonamento e explique um deles. 3. Qual a diferena entre sistema Lote(nopreemptivo) e Interativo(preemptivo)? 4. Qual o papel do BCP no Escalonamento de um processo? 5. Qual a desvantagem de um Escalonamento do tipo MTR?62
Disciplina: Fundamentos de Sistemas Operacionais
05-Escalonamento em detalhes Parte I
Escalonamento (Scheduling) Uma vez que h diversos processo na fila de pronto, qual deles selecionar para o estado de execuo? o Poltica de Escalonamento! Base da gerncia do processadorEstado de Execuolo ca Es
Estado de Espera
Estado de Pronto
na me n to
Escalonamento Funes bsicas da poltica de escalonamento: o Manter a CPU a mais ocupada possvel o Balancear o uso da CPU entre os processos o Privilegiar aplicaes crticas o Maximizar throughput (vazo) do sistema o Possibilitar tempos de resposta razoveis para aplicaes interativas (SO de tempo real)
Escalonamento Cada SO possui sua poltica de escalonamento Escalonador (scheduler): rotina responsvel por implementar a poltica de escalonamento Dispatcher(expedidor): rotina responsvel pela troca de contexto depois que o escalonador determina qual processo vai para o estado de execuo o Tempo gasto para troca de contexto chamado de latncia do dispatcher Comportamento o mesmo tanto para processos quanto para threads no estado de pronto
Escalonamento Critrios considerados na poltica de escalonamento:
o Utilizao da CPU Desejvel maximizar Abaixo de 30%, carga baixa; acima de 90%, prximo da saturao (ateno!) o Throughput (rendimento)
Nmero de processos / tempo, desejvel maximizaro Tempo de CPU Tempo do processo no estado de execuo durante todo seu processamento No afetado pela poltica de escalonamento
Escalonamento Critrios considerados na poltica de escalonamento:
o Tempo de Espera Tempo total do processo na fila de pronto durante todo seu processamento, desejvel minimiz-lo o Tempo de Turnaround (virada) Tempo total do processo (incio a fim), desejvel minimiz-lo o Tempo de Resposta
Tempo entre uma requisio ao sistema e sua resposta (p/ex., digitao e sada no monitor) Muitas vezes limitado pelos dispositivos de E/S
Escalonamento Escalonamento no preemptivo:
o Primeira forma de implementaoo Processo em execuo no pode ser interrompido por evento externo e sai do estado de execuo somente quando termina ou quando executa instruo que o coloque no estado de espera Escalonamento preemptivo: o SO pode interromper um processo em execuo e pass-lo para o estado de pronto, colocando outro em execuo o Permite implementar polticas de escalonamento e priorizar processos
Escalonamento FIFO First-In-First-Out o Primeiro a entrar na fila de pronto selecionado para execuo
Fila dos processos no estado de Pronto Estado de Criao Estado de Trmino
UCP
Estado de Espera
Escalonamento FIFO Simples, porm apresenta deficincias:
o Impossibilidade de se prever incio da execuo de determinado processoo No se preocupa em otimizar critrios de escalonamento (p/ex., tempo de turnaround de processos que demandam menos CPU) o Processos CPU-bound(obrigatrio) dominam o processador frente a processos I/Obound(obrigatrio) o Escalonamento do tipo no-preemptivo, atualmente adotado com algumas variaes
Escalonamento SJF Shortest-Job-First (menor trabalho primeiro) o Processo com menor tempo de processador a executar selecionado para execuo o Tende a reduzir o tempo mdio de espera (ver ex.)Processo A
Processo B
Processo C
3
7
17
u.t.
Escalonamento SJF Implementao se vale de estimativas para o tempo de execuo restante para os processo na fila de pronto o Estimativas levam em considerao execues anteriores de cada processo o Tende a reduzir o tempo mdio de espera (ver ex.) o Impossibilidade de estimar tempo de processador para aplicaes interativas Escalonamento considera apenas tempo de CPU na prxima vez que o processo for escalonado, no mais o tempo total at o trmino Estimativa baseada em mdia exponencial dos ltimos tempos de CPU
Escalonamento SJF Escalonamento no-preemptivo
Em relao ao escalonamento FIFO, reduz o tempo mdio de turnaround dos processos Possibilidade de starvation(restrio) para processos com tempo de CPU muito longos ou CPUbound(obrigatrio)
Quiz 5 Escalonamento em Detalhes I1. Qual a diferena entre o scheduler e o Dispatcher ? 2. Qual o objetivo a ser alcanado quanto ao Throughput e a Utilizao da CPU? 3. Qual a diferena entre escalonamento PREEMPTIVO e NO-PREEMPTIVO? 4. Cite uma vantagem / desvantagem do escalonamento FIFO? 5. Cite uma vantagem / desvantagem do escalonamento SFJ?76
Disciplina: Fundamentos de Sistemas Operacionais
06-Escalonamento em detalhes Parte II
Escalonamento Cooperativo Processo em execuo pode, voluntariamente, liberar processador e retornar fila de pronto Liberao do processador tarefa exclusiva do processo em execuo
o Processo em execuo verifica periodicamente se h processos na fila de pronto para saber quando deve liberar a CPU Demais processos no sero executados se processo em execuo no liberar a CPU
Escalonamento circular Ou Round-Robin Scheduling o Escalonamento semelhante ao FIFO, porm preemptivo, onde dada uma fatia de tempo de execuo para cada processo e, ao final deste perodo, o processo vai para o final da fila de prontoFila dos processos no estado de Pronto Estado de Criao Estado de Trmino
UCP
Preempo por tempo
Estado de Espera
Escalonamento circular Especialmente projetado para uso em sistemas de tempo compartilhado Fatia de tempo chamada de time-slice ou quantum o Em geral, varia de 10 a 100 ms, dependendo do SO o Se o quantum for muito grande, comportamento ser semelhante poltica FIFO o Se quantum for muito pequeno, desempenho ser comprometido pelo nmero excessivo de preempes e conseqentes atrasos para troca de contexto
Escalonamento circular Principal vantagem impedir o monoplio da CPU por algum processo o Tempo mximo de CPU igual ao time-slice definido no sistema Processos CPU-bound levam vantagem em relao a processos I/O-bound o Processos I/O-bound tm mais chance de entrar no estado de espera antes de usarem todo o time-slice
Escalonamento por prioridades Escalonamento preemptivo com base na prioridade de execuo de cada processo o Processos so organizados em filas separadas de acordo com seu nvel de prioridade o Processos so escalonados somente quando as filas dos processos de maior prioridade estiverem vazias o Processos com mesmo nvel de prioridade so escalonados segundo uma poltica FIFO No existe conceito de time-slice, no h preempo por tempo e sim por prioridade
Escalonamento por prioridadesFilas dos processos no estado de Pronto Prioridade P1
Prioridade P2
Estado de Criao
UCP
Estado de Trmino
Prioridade Pn
Preempo por prioridade
Estado de Espera
Escalonamento por prioridades til em sistemas de tempo real til para aplicaes de controle de processos til para priorizar processos em sistemas de tempo compartilhado
Escalonamento circular com prioridades Implementa conceito de fatia de tempo junto com prioridade
o Processo em execuo pode sofrer preempo por tempo ou por prioridadeo Permite melhor balanceamento no uso da CPU o Amplamente usado em sistemas de tempo compartilhado o **No** evita o starvation(restrio)
Escalonamento circular com prioridadesFila dos processos no estado de Pronto Prioridade P1 Prioridade P2
Estado de Criao
UCP
Estado de Trmino
Prioridade Pn
Preempo por tempo ou prioridade
Estado de Espera
Quiz 6 Escalonamento em Detalhes II1. Como pode ocorrer a liberao do processador para ser utilizado por um novo processo? 2. Qual a funo do time-slice ou quantum? 3. Qual a diferena entre o escalonamento Circular e o Circular Virtual? 4. Quais as caractersticas do escalonamento por Prioridade? 5. Qual o resultado da combinao do escalonamento por Prioridade com o Circular?93
Disciplina: Fundamentos de Sistemas Operacionais
07-Escalonamento em detalhes Parte III
Escalonamento por mltiplas filas Ou Multilevel Queue Scheduling o Diversas filas de pronto, cada qual com sua prioridade especfica o Processos associam-se s filas de acordo com suas caractersticas Se d na criao do processo e assim permanece at seu trmino o Mecanismos de escalonamento distintos para cada fila o Prioridade no est associada ao processo, mas sim fila
Escalonamento por mltiplas filasFila de processos do sistema Maior prioridade Fila de processos interativos
UCP
Fila de processos batch Menor prioridade
Escalonamento por mltiplas filas com realimentao Ou Multilevel Feedback Queues Scheduling o Semelhante ao MQS, porm processos podem trocar de fila durante seu processamento Este ajuste denominado mecanismo adaptativo o Filas implementam FIFO com fatia de tempo, excetuando a de menor prioridade, que implementa fila circular Quanto maior a prioridade, menor o time-slice o Preempo por fatia de tempo joga processo para fila com prioridade imediatamente menor o Na criao, processos vo para fila mais prioritria
Escalonamento por mltiplas filas com realimentaoMaior PrioridadeFila 1 (FIFO Adaptado) Preempo por tempo Fila 2 (FIFO Adaptado)
Preempo por tempo
Fila 3 (FIFO Adaptado)
Menor fatia de tempo
UCP
Preempo por tempo
Preempo por tempo
Maior fatia de tempo
Menor Prioridade
Fila n (Circular)
Escalonamento por mltiplas filas com realimentao Complexo, mas bom para processos I/O-bound o Ficam mais tempo nas filas de maior prioridade j que sofrem poucas preempes por tempo Muito tempo no estado de espera, pouco tempo no estado de execuo Processos CPU-bound tendem a ser direcionados para filas com menor prioridade o Quanto maior o tempo de CPU, menor sua prioridade
o Mudana de comportamento para I/O-bound compromete o desempenho
Escalonamento em Sistemas de Tempo Compartilhado Sistemas de tempo compartilhado caracterizam-se pelo uso de processamento interativo
o Usurios exigem tempos de resposta baixo para as aplicaeso Poltica de escalonamento deve considerar compartilhamento eqitativo de recursos, principalmente do tempo de CPU o Maioria dos SOs de tempo compartilhado utiliza escalonamento circular com prioridades dinmicas
Escalonamento em Sistemas de Tempo Real Sistemas onde certas aplicaes exigem respostas imediatas para a execuo de determinadas tarefas o SO de tempo real deve garantir a execuo de processos dentro de limites rgidos de tempo Ex: controle de trfego areo, controle de processos industriais o Escalonamento deve considerar importncia relativa de cada processo (tarefa) o Escalonamento por prioridades estticas o mais adequado o No deve haver preempo por tempo!
Quis 7 Escalonamento em Detalhes III1. Qual a diferena entre os Escalonamentos: Prioridade, Filas Multiplas e Filas Multiplas com Realimentao? 2. Qual o tipo de escalonamento mais indicado a ser utilizado nos Sistemas Operacionais:Lote, Tempo Compartilhado e Tempo Real? 3. Desenvolva um resumo sobre a temtica Escalonamento de Processos105
Disciplina: Fundamentos de Sistemas Operacionais
08 - Gerenciamento de Memria Parte I
106
ObjetivoAlocar espaos de memria para cada programa a ser executado e liberar esses espaos uma vez terminada a execuo.
107
Gerenciamento de Memria Idealmente, o que todo programador deseja dispor de uma memria que seja grande rpida no voltil
Hierarquia de memrias pequena quantidade de memria rpida, de alto custo - cache quantidade considervel de memria principal de velocidade mdia, custo mdio gigabytes de armazenamento em disco de velocidade e custo baixos
O gerenciador de memria trata a hierarquia de memrias
108
Memria Contgua Tamanho do programa limitado ao tamanho da memria fsica CPU muitas vezes ociosa Uma tarefa por vez Baixa utilizao do espao de memria disponvel
109
Gerenciamento Bsico de MemriaMonoprogramao sem Troca de Processos ou Paginao
Trs maneiras simples de organizar a memria- um sistema operacional e um processo de usurio110
Tcnica de OverlayNa alocao contgua simples, todos os programas esto limitados ao tamanho da rea de memria principal disponvel para o usurio. Uma soluo encontrada para o problema dividir o programa em mdulos, de forma que seja possvel a execuo independente de cada mdulo, utilizando uma mesma rea de memria. Essa tcnica chamada de overlay.111
Como alocar uma partio? FIRST-FIT: a primeira partio livre onde caibam X bytes escolhida; A procura pode comear sempre no incio da lista, ou a partir do ltimo bloco alocado (next-fit). BEST-FIT: a partio livre de tamanho mais parecido com X bytes escolhida (sendo igual ou maior do que X); Pode se aproveitar da ordenao da lista de rea livres. Pode aumentar o problema de fragmentao. WORST-FIT: a maior a partio livre escolhida;
112
Proteo da Memria processos no devem poder referenciar posies de memria em outros processos sem permisso em virtude da relocao, no possvel testar endereos em programas Implementa controle de proteo do sistema atravs de registrador (base e limite) que delimita a rea do Sistema Operacional e demais programas em execuo.
113
Fragmentao/Partio Fixas Maior utilizao da CPU Fragmentao Interna Tamanho do programa limitado ao tamanho da partio Necessidade de manipulador de Proteo Desperdcio de memria Uma partio reservada para cada programa114
Multiprogramao com Parties Fixas
Parties fixas de memriaa) b) filas de entrada separadas para cada partio fila nica de entrada115
PARTIES DINMICAS No h desperdcio de memria dentro das Parties na primeira alocao. Carregamento de tarefas de forma contigua Fragmentao interna No faz fragmentao externa
116
(Flynn, Ida M., 2002)
117
PARTIES DINMICAS REALOCAVEIS Evita o desperdcio de memria Agrupa e compacta os blocos de memria no utilizados Sobrecarga do sistema nos momentos de compactao
118
PARTIES DINMICAS REALOCAVEIS
(Flynn, Ida M., 2002)
119
Caractersticas em comum entre os 4 modelos Ser carregado em memria Seja armazenado contiguamente Permanecer em memria at sua concluso Utilizados da dcada de 40 at 60 Aplicados em S.Os de lote
120
Quis 8 Gerenciamento de Memria - I1. Qual o objetivo na implementao do gerenciamento de Memria? 2. Defina a hierarquia das memrias computacionais (Fsico). 3. Quais as caractersticas da memria Contgua? 4. Qual a funo da tcnica de Overlay? 5. Defina e explique as 3 formas de alocao de espao em memria. 6. Quais os tipos de memria contgua? Defina suas semelhanas e diferenas.121
Disciplina: Fundamentos de Sistemas Operacionais
9 - Gerenciamento de Memria Parte II
122
Memria Virtual Memria RAM utilizada de forma mais eficiente O tamanho de uma tarefa no se restringe mais ao tamanho da memria RAM S.O mais complexo Perda de performance do sistema com um todo.
123
Memria Virtual Paginao
Localizao e funo da MMU124
Memria Virtual Paginao (2)
HD
A relao entre endereos virtuais e endereos fsicos de memria dada pela tabela de pginas 125
SISTEMAS MODERNOS PAGINAO PAGINAO SOB DEMANDA SEGMENTAO SEGMENTAO / PAGINAO SOB DEMANDA
126
PAGINAO DISCO = setor MEMRIA= quadro de pgina ENDEREAMENTO=pgina Sobrecarga do sistema, mais endereos para gerenciar Programa inteiro na memria Melhor aproveitamento de memria Fragmentao interna na ltima pgina do programa
127
FIGURA- PAGINAO
FLYN, 2002 128
PAGINAO CHAVE DO SUCESSO EST NO TAMANHO DA PGINA Pgina muito pequena gera TMPs muito longas Pgina muito grande gera fragmentao interna excessiva.
129
PAGINAO SOB DEMANDA Carregar apenas parte de um programa Divididos em pginas de igual tamanho Economia na utilizao da memria Sujeito a mais erros de alocao de memria Utiliza as 3 tabelas, com 3 novos campos para cada pgina: Pgina em memria / se o contedo foi modificado/ acessada recentemente130
PAGINAO As 03 Tabelas de Controle: TP (Tabela de Programa) Tamanho do Programa / Posio de Memria
TMP (Tabela de Mapa de Pgina) Nmero de Pginas / Quadro da Pgina
TMM (Tabela de Mapa de Memria) Localizao / Status
131
PAGINAO SOB DEMANDA
FLYN, 2002132
Substituio de Pgina FIFO Primeiro a Entrar Primeiro a Sair UMR Pgina Usada menos Recentemente
133
SEGMENTAO Diviso por mdulos ou sub-rotinas de programao No mais trabalha em tamanhos fixos por pginas Alocao Dinmica Fragmentao Externa Necessidade de recompactao peridica
134
FIGURA SEGMENTAO
FLYN, 2002
135
SEGMENTAO/PAGINAO SOB DEMANDA Utilizao do algoritmos de ambas os gerenciamentos Diviso de segmentos em pginas Utilizao de Memria Associativa
136
FIGURA
FLYN, 2002
137
FLYN, 2002
138
Quiz 9 Gerenciamento de Memria - II1. Como funciona a Memria Virtual? Quais suas vantagens/desvantagens. 2. Quais os tipos de memria No-Contgua? 3. O que ocorrer com um arquivo de 13 KB ao ser armazenado em uma memria do tipo Paginada? 4. Qual a diferena entre memria Paginada e Paginada por Demanda? 5. Como funciona a memria Segmentada?
139
10- Gerenciamento de Arquivos Parte I
140
ObjetivoDefinir a forma pela qual os arquivos so organizados, armazenados e acessados.
141
INTROUDO a parte mais visvel do sistema operacional Caminho para o acesso a informaes organizadas Link lgico entre o recurso fsico de armazenamento e o usurio, com grande usabilidade Elementos Principais: Arquivos e Diretrios
142
Armazenamento da Informao a Longo Prazo1. Deve ser possvel armazenar uma quantidade muito grande de informao 2. A informao deve sobreviver ao trmino do processo que a usa 3. Mltiplos processos devem ser capazes de acessar a informao concorrentemente143
Definies Campo: grupo de bytes correlatados (nome, tipo e tamanho) Registro: grupo de campos correlatados Arquivo: grupo de registro correlatados Diretrio: listagens de nomes e atributos de arquivos Volume: um ou mais discos fsicos Partio: diviso de lgica de um disco144
Funes do Sistema Manter o Registro de onde cada arquivo est armazenado Definir a forma de armazenamento Controlar os acessos Liberar o arquivo para outros usurios Controlar o espao fsico Oferecer suporte a diversos usurios (multiprogamao)145
Exemplo
Bibliotecria
Usurios
Fichas de Controle dos Livros
Prateleiras com Livros146
Interagindo com o Gerenciador de Arquivos Comandos submetidos diretamente Comandos embutidos de forma grfica Independncia de tipo de dispositivo Comandos decompostos em vrios passos de baixo nvel.
147
Comando READDigitar READ Deslocar Cabeote Esperar latncia Rotacional Ativar Cabeote de Leitura Transferir Registro para a Memria Liberar Recurso
148
Conceito de Arquivo a forma lgica definida pelo S.O para o armazenamento de informaes. Possuem: Nome Atributos Estrutura Interna Tipo Mtodo de Acesso Operaes149
Nome de Arquivos Depender do tipo de S.O utilizado; Normalmente ser constitudo de um nome + extenso. Exemplo: aula.doc O nome relativo j a extenso indica o tipo de arquivo
150
Nomeao de Arquivos
Extenses tpicas de arquivos151
Atributos de um Arquivo Informaes sobre um arquivo: Nome Tipo Localizao Tamanho Proteo Hora/Data
Dependo do S.O pode mudar So mantidos em uma estrutura a parte152
Estrutura de Arquivos Sequencia de bytes SO no interpreta o contedo do arquivo Interpretao a nvel do programa de aplicao
Sequencia de registros Emprego raro Operaes lem/escrevem registros S.O interpreta como uma sequencia de registros (organizao interna de tamanho fixo)
153
Diretrios
(Flynn, Ida M., 2002)
154
QUIZ 10 Ger. De Arquivos - I1. Relacione os termos: Dados, Informao, Conhecimento e Sabedoria. 2. Qual a estrutura de organizao dos dados computacionais? 3. Quais as funes de um S.O dentro do Ger. De Arquivos? 4. De que composto um arquivo? 5. Quais suas duas principais estruturas? Explique.155
11- Gerenciamento de Arquivos Parte II
156
Tipos de Arquivos Regular (ASCII e Binrio) Diretrio (Estrutura) Arquivos Especiais (dispositivos de I/O)
157
MTODO DE ACESSO Acesso Sequencial Serial, do incio at encontrar o registro.
Acesso Direto No necessita de ordenao prvia
Acesso Sequencia Indexado: Arquivo de ndice. Combinao dos 2 anteriores
158
Caractersticas dos Registros Tamanho fixo ou varivel Devem ter o mesmo formato interno Definidos pelo programa de aplicao
159
Estrutura Interna de um Arquivo
FLYN, Ida M
160
Mtodos de Alocao Contguas No Contguas Encadeada Indexada
161
Armazenagem ContguaVantagens Simples implementao e manuteno (sequencial) Diretrio Enxuto Basta conhecer o endereo inicial e tamanho Permite o acesso direto Desvantagens Difcil expanso do arquivo Fragmentao162
Funcionamento Contguo
FLYN, Ida M
163
Armazenagem EncadeadaVantagens: Alocao aleatria; Garante o crescimento de arquivos Sem fragmentao Desvantagens: Diretrios com mais informaes Acesso de forma encadeada Menor confiabilidade No permite o acesso direto164
Funcionamento Encadeada
FLYN, Ida M
165
Armazenagem IndexadaVantagens: Acesso mais rpido Sem fragmentao Maior confiabilidade Permite o acesso direto Desvantagens No otimiza o espao de armazenagem (ndice) Implementao complexa166
Funcionamento Indexado
FLYN, Ida M167
Diretrios Objetivo de organizar uma grande quantidade arquivos, formado de: Atributos, Localizao, Controle de acesso e Utilizao
A organizao de um diretrio poder ser linear , rvore ou grafo
168
Organizao LinearDiretrios Aula Trab Pess Jogos Music Fotos Filmes
Arquivos
Caractersticas:Fcil implementao; Limitaes de nomeao de arquivos por usurios diferentes
169
Organizao em rvoreDiretrios Milton
ArquivosAlunos
Sub-diretrios Arquivos
FSOR
OC
Aula
Trab
Caractersticas: Implementao Complexa Maior controle de nomeao e organizao (Pathname) No compartilha arquivos
170
Organizao em GrafosMilton ArquivosAlunos FSOR OC Aula Trab
Provas
DOCS Arquivo compartilhado
Caractersticas: Implementao Complexa Remoo do arquivo compartilhado Compartilha arquivos
171
QUIZ 11 Ger. De Arquivos - II1. Quais os 3 tipos de arquivos? D exemplos de suas aplicaes. 2. Quais os mtodos de acesso a um arquivo? 3. Quais os mtodos de alocao de um arquivo? 4. Quais os tipos de diretrios? 5. Como pode ser um registro interno a um arquivo?
172
12- Gerenciamento de Entrada/Sada Parte I
173
ObjetivoDefinir a forma pela qual os dados so transferidos entre os diversos dispositivos de uma arquitetura computacional.
174
INTROUDO AO HARDWARE Perifricos so extenses de um computador permitindo sua funcionalidade Interfaces permitem a conexo de perifricos ao barramento principal do computador Controladoras realizam o controle de Entradas/Sadas dos perifricos de forma dedicada.
175
Caractersticas dos dispositivos de I/OModelo de Transmisso de dados: caractere, bloco e stream Taxa de Transferncia: velocidade Representao de dados: tipo de codificao Tratamento de erros: paridade / ecc Comunicao: serial / paralela Memria RAM: o processador controla duas reas uma de acesso geral e outra somente para I/O
176
Como fazer E/S? E/S Programada E/S Orientada a interrupes Acesso direto a Memria
177
E/S ProgramadaEncaminha comandos E verifica constantemente Sua execuoExecuta comandos vindos da CPU e atualiza o estado de operao
RAM
CPU
CONTROLADORA
HD
Armazena informaes conforme solicitao da CPU
Fornece as informaes solicitadas pela controladora
178
E/S por interrupoEncaminha comandos E verifica constantemente Sua execuoExecuta comandos vindos da CPU e atualiza o estado de operao
RAM
CPU
CONTROLADORA
HD
Interrupo Fornece as informaes solicitadas pela controladora
Armazena informaes conforme solicitao da CPU
179
Acesso direto a Memria (DMA)Encaminha comandos E verifica constantemente Sua execuoExecuta comandos vindos da CPU e atualiza o estado de operao
RAM
CPU
CONTROLADORA
HD
Interrupo DMA Fornece as informaes solicitadas pela controladora
Armazena informaes conforme solicitao da CPU
180
Gerncia de Entrada e Sada Combinar Hardware e Software Balancear a diferena de Velocidade entre dispositivos Garantir ao usurio usabilidade dos sistema atravs de operaes: read, write, open and close Promover o swapping entre os dispositivos Realizar E/S da mesma forma independente do tipo de hardware.181
Estrutura de Camadas E/SChamada e Formatao de E/S Nomeao , Proteo e bufferizao
Acessa ao dispositivo para transferncia de dados
Configurao da controladora para requisies e status
182
Device Drivers Interagir com o ncleo do S.O (subsistema de E/S) Desenvolvido pelo fabricante No modificam o ncleo do S.O Fornece todas as informaes pertinentes ao dispositivo para gerenciamento pelo ncleo. Realiza o gerenciamento do buffer e escalonamento.183
Subsistema de E/S Interagir com o driver para o controle especfico do dispositivo. Responsvel pela proteo de acesso Garante o desempenho dos dispositivos Funciona com interface para o aplicativos Define a forma de escalonamento
184
Funcionalidade do subsistema de E/S Escalonamento = justia / compartilhamento Bufferizao = armazenamento temporrio Spooling = controle de requiso (1 por vez) Cache= armazenamento de alta velocidade Reserva de Dispositivo= uso exclusivo Usurio=chamadas de sistema
185
QUIZ 12 Ger. de Entrada/Sada1. Defina Perifricos, Interfaces e Controladoras. 2. Escolha um dispositivo de I/O e exemplifique pelo menos 3 de suas caractersticas. 3. Qual a diferena entre as 3 formas de I/O? 4. Explique o funcionamento da Estrutura de Camadas E/S 5. Qual a relao entre um Device Driver e Subsistema de E/S186
13- Gerenciamento de Entrada/Sada Parte II
187
Discos MagnticosSo discos de plstico ou metal, geralmente de dimetro entre 5 e 10 polegadas e coberto, em ambos os lados, por uma superfcie magnetizvel.
188
Ilustrao HD
189
Discos magnticosTrilha Setor
Setor, Trilha, Cilindro e Eixo de um HD
Driver de discos rgidos
Cabeas
Discos
Driver de discos rgidosSistema de movimentao
Conjunto de cabeas
Desempenho Tempo de latncia:deslocamento para o setor Tempo de seek:deslocamento do cabeote para a trilha desejada Tempo de transferncia: tempo que leva a operao. Rotao por minuto: velocidade de giro do disco.
194
RAID - Redundant Array of Independent Disks estrutura de interligao de 2 ou mais discos; operao redundante; Apresentao de 3 nveis bsicos: RAID 0; RAID 1; RAID 5.
RAID - Redundant Array of Independent Disks RAID 0 - Striping ou fracionamento.
Os dados so distribudos em vrios discos onde podem serNo h redundncia da informao. Vantagem: aumento da performance.
gravados/lidos simultaneamente, aumentado a performance.
RAID - Redundant Array of Independent Disks RAID 1 - Mirroring ou espelhamento.
So usados pares de discos (principal e espelho);A gravao no principal repetida no espelho; Operao redundante;
Gravao lenta e leitura rpida;Vantagem: aumento da segurana.
RAID - Redundant Array of Independent Disks RAID 5 - Fracionamento com paridade distribuda.
Discos organizados em pares;Dados e paridade so divididos entre os discos; Dados perdidos podem ser recuperados pela paridade;
Maior velocidade para uso geral.
RAID - Redundant Array of Independent Disks
Quiz 13 Ger. E/S parte II1. Qual a estrutura fsica de um HD?2. Quais os elementos que definem a velocidade de acesso de um HD? 3. Qual a diferena entre Cilindro, Trilha e Setor?
4. Quais os dois principais objetivos de uma tecnologia RAID? Explique 2 tipos.
Referncias Bibliogrficas Livros textos recomendados:
OLIVEIRA, Romulo Silva de; CARISSIMI, A. da S. e Toscani, S.S. Sistemas Operacionais. Porto Alegre: .Bookman, 2008. TANENBAUM, A S. Sistemas Operacionais Modernos. So Pauli: Prentice Hall Brasil, 2007. TANEMBAUM, A.S. e WOODHULL, A. Projetos e Implementao de Sistemas Operacionais. Porto Alegre:Bookman, 2008. Livros textos complementares:
SILBERSCHATZ, A. Sistemas Operacionais com Java. Rio de janeiro: Campus, 2008. MACHADO, Francis B., MAIA, L. P. Arquitetura de Sistemas Operacionais. Rio de Janeiro: LTC, 2007. NEVES, J. C. Programao Shell para Linux. So Paulo.Brasport, 2010. FLYN, Ida M., Introduo aos Sistemas Operacionais. So Paulo: Pioneira, 2002
201
Recommended