Você está na página 1de 191

Disciplina: Fundamentos de Sistemas Operacionais

Prof. Milton Aidar Martinez milton.martinez@veris.edu.br

Resumo Currculo Professor


Mestrando 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 Professor


Atuado 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 Disciplina
Identificar problemas encontrados no funcionamento
de 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 software


que compe um computador.
5

Contedo Programtico - Resumo


Introduo aos Sistemas Operacionais
oDefinio | Histrico | Conceitos Bsicos | Chamadas | Tipos

Gerncia do Processador
oProcessos | Estados | Escalonamento | Deadlocks | Threads

Gerncia de Memria
oTipos| Alocao| Fragmentao | Swapping | Proteo

Gerncia de Arquivos
oArquivos| Diretrios| Acesso| Alocao| Sistemas de Arquivos

Gerncia de I/O
oHardware| 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

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 Geral
Sistema Operacional uma espcie de Gerente Executivo, que administra todos os componentes de SOFTWARE e HARDWARE.

HISTRIA
1940 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

Hardware
Basicamente 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.O
LOTE 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 operacional


O 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 servios
Execuo 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 usurio


A 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 sistema
Os 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 sistema
A 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 sistema
Os 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 comandos
O 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: GUI


Os 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 projeto


Na 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 perifricos


Em 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 Sistema


1. 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 Threads
2.1 Processos 2.2 Threads 2.3 Comunicao interprocesso

31

Processos
O Modelo de Processo

Multiprogramao de quatro programas Modelo conceitual de 4 processos sequenciais, independentes Somente um programa est ativo a cada momento
32

Criao de Processos
Principais 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 lote
33

Trmino de Processos
Condies 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 estados


36

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 processos


37

Threads
O Modelo de Thread (1)

(a) Trs processos cada um com um thread (b) Um processo com trs threads
38

Sincronismo entre Processadores Modelo Mestre / Escravo (Assimtrico)


M e m r i a P r i n c i p a l CPU MESTRE
Dispositivos de E/S

CPU ESCRAVA 1 CPU ESCRAVA 2

39

Sincronismo entre Processadores (Fracamente Acoplados)


Memria
Principal

CPU 1

Dispositivos de E/S 1

Memria
Principal

CPU 2

Dispositivos de E/S 2

Memria
Principal
40

CPU 3

Dispositivos de E/S 3

Sincronismo(Simtrica) entre Processadores


CPU 1

Memria
Principal

CPU 2

Dispositivos de E/S 2

CPU 3
41

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 - Processos
1. 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/S


a) 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 nveis


51

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 quantum
52

Escalonamento em Sistemas Interativos (2)

Um algoritmo de escalonamento com quatro classes de prioridade


53

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 - Escalonamento
1. 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 processador
Estado de Execuo
lo 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 maximizar


o 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 implementao


o 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 processo


o 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

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 I


1. 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 pronto
Fila 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 prioridades


Filas 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 prioridade


o Permite melhor balanceamento no uso da CPU o Amplamente usado em sistemas de tempo compartilhado o **No** evita o starvation(restrio)

Escalonamento circular com prioridades


Fila 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 II


1. 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 filas


Fila 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 realimentao


Maior Prioridade
Fila 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 aplicaes


o 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 III


1. 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 Processos
105

Disciplina: Fundamentos de Sistemas Operacionais

08 - Gerenciamento de Memria Parte I

106

Objetivo
Alocar 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 Memria


Monoprogramao sem Troca de Processos ou Paginao

Trs maneiras simples de organizar a memria


- um sistema operacional e um processo de usurio
110

Tcnica de Overlay
Na 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 programa
114

Multiprogramao com Parties Fixas

Parties fixas de memria


a) b) filas de entrada separadas para cada partio fila nica de entrada
115

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


1. 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 MMU


124

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 recentemente
130

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, 2002
132

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


1. 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

Objetivo
Definir 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 Prazo


1. 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 concorrentemente
143

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 disco
144

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 Livros


146

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 READ
Digitar 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 Operaes
149

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 arquivos


151

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 parte


152

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


1. 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 Contgua
Vantagens Simples implementao e manuteno (sequencial) Diretrio Enxuto Basta conhecer o endereo inicial e tamanho Permite o acesso direto Desvantagens Difcil expanso do arquivo Fragmentao
162

Funcionamento Contguo

FLYN, Ida M

163

Armazenagem Encadeada
Vantagens: Alocao aleatria; Garante o crescimento de arquivos Sem fragmentao Desvantagens: Diretrios com mais informaes Acesso de forma encadeada Menor confiabilidade No permite o acesso direto
164

Funcionamento Encadeada

FLYN, Ida M

165

Armazenagem Indexada
Vantagens: Acesso mais rpido Sem fragmentao Maior confiabilidade Permite o acesso direto Desvantagens No otimiza o espao de armazenagem (ndice) Implementao complexa
166

Funcionamento Indexado

FLYN, Ida M
167

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 Linear
Diretrios Aula Trab Pess Jogos Music Fotos Filmes

Arquivos

Caractersticas:
Fcil implementao; Limitaes de nomeao de arquivos por usurios diferentes

169

Organizao em rvore
Diretrios 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 Grafos
Milton ArquivosAlunos FSOR OC Aula Trab

Provas

DOCS Arquivo compartilhado

Caractersticas: Implementao Complexa Remoo do arquivo compartilhado Compartilha arquivos

171

QUIZ 11 Ger. De Arquivos - II


1. 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

Objetivo
Definir 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/O


Modelo 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 Programada
Encaminha comandos E verifica constantemente Sua execuo
Executa 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 interrupo


Encaminha comandos E verifica constantemente Sua execuo
Executa 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 execuo
Executa 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/S


Chamada 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/Sada


1. 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/S
186

13- Gerenciamento de Entrada/Sada Parte II

187

Discos Magnticos
So 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 magnticos
Trilha Setor

Setor, Trilha, Cilindro e Eixo de um HD

Driver de discos rgidos

Cabeas

Discos

Driver de discos rgidos


Sistema 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 ser


No 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 II


1. 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