Download pdf - Aula FSO Quiz

Transcript

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