38
Plano da Disciplina PCS-2453 – Sistemas Operacionais – Prof. João José Neto – Aula 1 Módulo I - - - Generalidades 1. Introdução. História. Terminologia. Conceitos básicos de sistemas operacionais 2. Administração de recursos, Máquina estendida, Interface com o usuário, Controle de transições de estados de processos Módulo II - - - O Processador e seus Periféricos 3. Entrada e saída. Espera ocupada. Interrupção. Rotinas de tratamento de interrupção. Tipos de interrupção. Técnica de buffering 4. Acesso direto à memória. Canais seletores. Canais multiplexadores. Canais multiplexadores de blocos. Programas de canal. Módulo III - - - Memória e sua Virtualização 5. Administração de memória. Memória real e virtual. Alocação contígua. Overlays. Multiprogramação. 6. Partições. Proteção de partições de memória. Alocação particionada simples e relocável. 7. Páginas. Alocação paginada simples. Virtualização de memória paginada. Proteção de páginas. Algoritmos de substituição de páginas. 8. Segmentos. Alocação segmentada simples. Virtualização de memória segmentada sem e com paginação. Proteção de segmentos. Compartilhamento de segmentos. Módulo IV - - - Processos, Sincronização e Comunicação 9. Administração de processos. Job scheduling mono e multiprogramado, com e sem entrada e saída. Sistemas distribuídos. 10. Process scheduling. Comunicação de processos. Seções críticas. Exclusão mútua. Mensagens. 11. Políticas de scheduling. Competições. Deadlock. Módulo V - - - Dispositivos e sua Virtualização 12. Administração de dispositivos. Dispositivos de entrada e saída. Dispositivos de armazenamento. 13. Dispositivos de acesso serial e aleatório. Dispositivos de cabeçote fixo e móvel. Blocagem. 14. Virtualização de dispositivos. Spooling. Módulo VI - - - Arquivos, Proteção e Controle 15. Sistemas de arquivos. Hierarquia. Diretórios. Métodos de acesso. Proteção de acesso. Compartilhamento de arquivos. Interação com o job scheduler. 16. Controle do sistema operacional. Linguagens de controle. Interfaces com o usuário e com os programas. Interação com os programas de sistema e do usuário. Critério de Avaliação: A= (P1+2*P2+E)/4 , onde P1, P2 são as duas provas e E é o conceito relativo ao desempenho em atividades práticas, incluindo o projeto e os trabalhos em classe. Lembrar que a aceitação do projeto, e portanto sua avaliação, só será feita se todas as suas partes forem entregues completas , compreendendo, cada uma delas: (a) uma documentação da estrutura do software, da lógica dos algoritmos empregados e das estruturas de dados utilizadas; (b) saídas do computador, comprovando que o programa tenha sido convenientemente depurado e testado nos vários casos de interesse; (c) programas, nos formatos fonte e executável, em disquete ou CD, incluindo arquivos com os casos de teste . Para haver aprovação é necessário que o projeto esteja completamente desenvolvido, documentado e operante, e o aluno deverá ter média mínima de 5.0 nas provas. Normas de Recuperação: Para os alunos que tenham sido reprovados por não terem o projeto aceito, a recuperação consiste em efetuar essa entrega na data da prova de recuperação, com eventuais especificações adicionais, determinadas pelo professor na época da publicação das notas. Para os que tenham sido reprovados pelas notas das provas, haverá uma prova de recuperação abrangendo toda a matéria, incluindo assuntos ligados ao projeto. Freqüência: A freqüência às aulas é obrigatória, segundo os regulamentos em vigor. Enquanto compete ao professor apurar a freqüência dos alunos às aulas, a estes cabe participar das mesmas e assinar as listas de presença. Não haverá abono de faltas por parte do professor. Assim, cabe exclusivamente ao aluno, em sala de aula, registrar sua presença a todas as aulas freqüentadas. Notar que, segundo o regulamento, para que possa haver aprovação por nota, é exigido do aluno a presença mínima regimental, caso contrário haverá reprovação por faltas, independentemente das suas notas. Por essa razão, recomenda-se ao aluno participação ativa nas aulas e a assinatura das listas de presença, para erradicar as desnecessárias e tão evitáveis reprovações por faltas. Bibliografia: * Tanenbaum Sistemas Operacionais Modernos – 2 a . edição – Pearson 2005 (livro-texto) Deitel, Deitel e Choffnes Sistemas Operacionais – 3 a . edição – Pearson 2005 Flynn e McHoes Introdução aos Sistemas Operacionais Thomson 2002 Pérez, Carballeira, Anasagasti e Costoya Sistemas Operativos – Uma visión aplicada – McGraw-Hill Interamericana de España 2002 * Silberschatz, Galvin e Gagne Sist.Operacionais Conceitos e Aplicações Campus, 2001 O’Gorman Operating Systems with Linux Palgrave 2001 Tanenbaum Distributed Operating Systems Prentice Hall, 1995 * Stallings Operating Systems Maxwell/ MacMillan, 1992 Tanenbaum Operating Systems, Design and Implementation Prentice Hall, 1987 Turner Operating Systems, Design and Implementations MacMillan, 1986 Madnick e Donovan Operating Systems McGraw Hill, 1975 * – os títulos marcados com asterisco são os mais utilizados nesta disciplina

PCS2453 - Notas de aula 1

Embed Size (px)

DESCRIPTION

Notas da aula de PCS2453 - compiladores

Citation preview

  • Plano da Disciplina PCS-2453 Sistemas Operacionais Prof. Joo Jos Neto Aula 1Mdulo I Generalidades

    1. Introduo. Histria. Terminologia. Conceitos bsicos de sistemas operacionais

    2. Administrao de recursos, Mquina estendida, Interface com o usurio, Controle de transies de estados de processos

    Mdulo II O Processador e seus Perifricos 3. Entrada e sada. Espera ocupada. Interrupo. Rotinas de tratamento de

    interrupo. Tipos de interrupo. Tcnica de buffering 4. Acesso direto memria. Canais seletores. Canais multiplexadores. Canais

    multiplexadores de blocos. Programas de canal. Mdulo III Memria e sua Virtualizao

    5. Administrao de memria. Memria real e virtual. Alocao contgua. Overlays. Multiprogramao.

    6. Parties. Proteo de parties de memria. Alocao particionada simples e relocvel.

    7. Pginas. Alocao paginada simples. Virtualizao de memria paginada. Proteo de pginas. Algoritmos de substituio de pginas.

    8. Segmentos. Alocao segmentada simples. Virtualizao de memria segmentada sem e com paginao. Proteo de segmentos. Compartilhamento de segmentos.

    Mdulo IV Processos, Sincronizao e Comunicao 9. Administrao de processos. Job scheduling mono e multiprogramado, com

    e sem entrada e sada. Sistemas distribudos. 10. Process scheduling. Comunicao de processos. Sees crticas. Excluso

    mtua. Mensagens. 11. Polticas de scheduling. Competies. Deadlock.

    Mdulo V Dispositivos e sua Virtualizao 12. Administrao de dispositivos. Dispositivos de entrada e sada. Dispositivos

    de armazenamento. 13. Dispositivos de acesso serial e aleatrio. Dispositivos de cabeote fixo e

    mvel. Blocagem. 14. Virtualizao de dispositivos. Spooling.

    Mdulo VI Arquivos, Proteo e Controle 15. Sistemas de arquivos. Hierarquia. Diretrios. Mtodos de acesso. Proteo

    de acesso. Compartilhamento de arquivos. Interao com o job scheduler. 16. Controle do sistema operacional. Linguagens de controle. Interfaces com o

    usurio e com os programas. Interao com os programas de sistema e do usurio.

    Critrio de Avaliao: A= (P1+2*P2+E)/4, onde P1, P2 so as duas provas e E o conceito relativo ao desempenho em atividades prticas, incluindo o projeto e os trabalhos em classe. Lembrar que a aceitao do projeto, e portanto sua avaliao, s ser feita se todas as suas partes forem entregues completas, compreendendo, cada uma delas: (a) uma documentao da estrutura do software, da lgica dos algoritmos empregados

    e das estruturas de dados utilizadas; (b) sadas do computador, comprovando que o programa tenha sido convenientemente

    depurado e testado nos vrios casos de interesse; (c) programas, nos formatos fonte e executvel, em disquete ou CD, incluindo arquivos

    com os casos de teste . Para haver aprovao necessrio que o projeto esteja completamente desenvolvido, documentado e operante, e o aluno dever ter mdia mnima de 5.0 nas provas.

    Normas de Recuperao: Para os alunos que tenham sido reprovados por no terem o projeto aceito, a recuperao consiste em efetuar essa entrega na data da prova de recuperao, com eventuais especificaes adicionais, determinadas pelo professor na poca da publicao das notas. Para os que tenham sido reprovados pelas notas das provas, haver uma prova de recuperao abrangendo toda a matria, incluindo assuntos ligados ao projeto. Freqncia: A freqncia s aulas obrigatria, segundo os regulamentos em vigor. Enquanto compete ao professor apurar a freqncia dos alunos s aulas, a estes cabe participar das mesmas e assinar as listas de presena. No haver abono de faltas por parte do professor. Assim, cabe exclusivamente ao aluno, em sala de aula, registrar sua presena a todas as aulas freqentadas. Notar que, segundo o regulamento, para que possa haver aprovao por nota, exigido do aluno a presena mnima regimental, caso contrrio haver reprovao por faltas, independentemente das suas notas. Por essa razo, recomenda-se ao aluno participao ativa nas aulas e a assinatura das listas de presena, para erradicar as desnecessrias e to evitveis reprovaes por faltas.

    Bibliografia: * Tanenbaum Sistemas Operacionais Modernos 2a. edio Pearson 2005 (livro-texto) Deitel, Deitel e Choffnes Sistemas Operacionais 3a. edio Pearson 2005 Flynn e McHoes Introduo aos Sistemas Operacionais Thomson 2002 Prez, Carballeira, Anasagasti e Costoya Sistemas Operativos Uma visin aplicada

    McGraw-Hill Interamericana de Espaa 2002 * Silberschatz, Galvin e Gagne Sist.Operacionais Conceitos e Aplicaes Campus, 2001 OGorman Operating Systems with Linux Palgrave 2001 Tanenbaum Distributed Operating Systems Prentice Hall, 1995 * Stallings Operating Systems Maxwell/ MacMillan, 1992 Tanenbaum Operating Systems, Design and Implementation Prentice Hall, 1987 Turner Operating Systems, Design and Implementations MacMillan, 1986 Madnick e Donovan Operating Systems McGraw Hill, 1975

    * os ttulos marcados com asterisco so os mais utilizados nesta disciplina

  • PCS-2453 SISTEMAS OPERACIONAIS Professor Joo Jos Neto Aula 02 Assunto: Levantamento Histrico de Conceitos e Tecnologias Desde os Sistemas Bsicos de Programao at os Sistemas Operacionais Terminologia bsica:Sistemas de programao Linguagem de mquina Linguagens simblicas Montadores (assemblers) Linguagens de montagem Macro montadores Macros para ling. simblica Linguagens de alto nvel imperativas: Fortran, Cobol Linguagens funcionais: Lisp Linguagens voltadas a metodologias: Modula, CLU Expansores gerais de macro Linguagens estruturadas: Algol, Pascal, C

    Linguagens com orientao a objetos:Smalltalk, Java Linguagens multi-paradigma: C++ Linguagens visuais: Visual Basic, Visual C,... Linguagens para web: Java, Perl,... Linguagens de hipertexto: HTML, XML,... Linguagens extensveis Linguagens de formatao:Tex, LaTex Arquiteturas de computadores Mquinas de Van Neumann Mquinas de somar mecnicas Mquinas a rels Mquinas eletromecnicas Mquinas a vlvulas

    Mquinas transistorizadas Mquinas com memria Mquinas com programa armazenado Montagem Compilao Interpretao Bibliotecas do sistema Carregador Ligador Editor de ligaes Alocador de memria Ambientes de desenvolvimento Ambientes de execuo

    Ambientes multi-paradigma Programa-fonte Programa-objeto Programa executvel Programa absoluto Programa relocvel Relocador Linguagens de comando Batch scripts Interpretadores de comandos Compiladores de comandos Interface com o usurio Interface textual Interface grfica

    Interface vocal Interpretador de voz Programas de sistema Programas utilitrios Sistema Operacional

    Atividade Recomendada (recorrer bibliografia para saber mais acerca dos conceitos apresentados, caso no tenha familiaridade com eles): 1. Usando o conjunto de termos tcnicos acima, procurar definir cada um deles e estabelecer

    relaes entre eles, explorando principalmente suas similaridades e diferenas, quando for o caso. 2. Usando alguma fonte como as da bibliografia a seguir, procure informaes sobre a anatomia

    dos programas de sistema, com a finalidade de complementar seus conhecimentos sobre sua funcionalidade, sobre a forma como operam e sobre sua estrutura e lgica interna.

    3. Faa uma representao grfica, mostrando um sistema de programao completo, com todos os programas que dele fazem parte, representados por blocos, e mostrando atravs de setas as dependncias existentes entre eles, ou seja, de onde provm o seu cdigo, de onde provm os seus dados, quais so e de onde provm suas entradas, quais so e para onde so emitidas as suas sadas, em que seqncia so acionados os programas, como so controladas suas execues, etc.

    Bibliografia sobre histrico e sobre sistemas de programao: Beck

    System Software An Introduction to Systems Programming Addison Wesley, 1985

    Calingaert Assemblers, compilers and program translation Computer Science Press, 1979

    Barron Assemblers and loaders McDonald/Elsevier, 1969

    Maginnis Elements of compiler construction Appleton Century Crofts, 1972

    Donovan Systems programming McGraw-Hill, 1972

    Welsh e McKeag Structured System Programming Prentice Hall, 1980

    Ullman Fundamental concepts of programming systems Addison Wesley, 1976

    Wegner Programming Languages, Information Structures and Machine Organization McGraw-Hill, 1968

    Cole Macro Processors Cambridge University Press, 1976

    Kernighan e Plauger Software Tools Addison Wesley, 1976

    Tseng (ed.) Microprocessor development and development systems McGraw-Hill, 1982

    Duncan Microprocessor Programming and Software Development Prentice Hall, 1979

    Sites da Internet sobre histria dos principais sistemas operacionais:Em geral: http://www.oshistory.net/metadot/index.pl UNIX: http://www.levenez.com/unix/ Windows: http://www.levenez.com/windows/

  • PCS-2453 SISTEMAS OPERACIONAIS Aula 03 Prof. Joo Jos Neto Assunto: Conceitos bsicos de sistemas operacionais Terminologia bsica (em ordem alfabtica): 1. Administrao de recursos 2. Alocao de dispositivos 3. Alocao de memria 4. Alocao de processador 5. Canal 6. Chamada de supervisor 7. Controlador de trfego 8. Controlador de trfego de E/S 9. Controle de acesso 10. Despachante

    11. Dispositivo 12. Dispositivos compartilhados 13. Dispositivos dedicados 14. Dispositivos virtuais 15. DMA (direct memory access) 16. Escalador de entrada e sada 17. Escalador de jobs 18. Escalador de tarefas 19. Espao de endereamento 20. Estado supervisor

    21. Estado usurio 22. Estruturao de programas 23. Eventos assncronos 24. Executivos 25. Hierarquia 26. cones 27. Informao 28. Instruo privilegiada 29. Interface grfica 30. Interface homem-mquina

    31. Interface vocal 32. Interrupo 33. Job 34. Ling. de comandos textual 35. Mainframe 36. Mquina estendida 37. Mquina hierrquica 38. Memria 39. Monitor 40. Multiprocessamento

    41. Multiprogramao 42. Multitarefa 43. Ncleo (kernel) 44. Prioridade 45. Procedimento 46. Processador 47. Processador perifrico 48. Processamento em lotes 49. Processo 50. Proteo de informao

    51. Realidade virtual 52. Recuperao de dispositivos 53. Recuperao de memria 54. Recuperao de processador 55. Recurso 56. Redes de computadores 57. Shell 58. Simulao de perifricos 59. Sistema de arquivos 60. Sistema de Tempo Real

    61. Sistema de time-sharing 62. Sistema operacional 63. Sistemas distribudos 64. SPOOLing 65. Tarefa 66. Time slice 67. Transio de estados 68. Unidade de controle 69. Usurio

    Questes para estudo e discusso: Usando o conjunto de termos tcnicos acima, procurar definir, com a ajuda do questionrio abaixo, cada um deles e estabelecer relaes entre eles, explorando principalmente suas similaridades e diferenas, quando for o caso. 1. Defina sistemas operacionais. Cite algumas razes para estud-los. 2. Qual a importncia dos sistemas operacionais nos computadores? 3. Relate, qualitativamente, a evoluo histrica dos conceitos incorporados nos sistemas operacionais. 4. De que maneira o sistema operacional funciona como um elo de ligao, integrador do software ao hardware de um

    sistema computacional? 5. Qual o conceito, que as mquinas computacionais implementam, que exerce o papel mais fundamental no

    funcionamento do sistema operacional, disparando, sob o comando do hardware, a operao das suas diversas partes? Explique em detalhes o funcionamento desse importante mecanismo acionador e exemplifique.

    6. Quais as funes bsicas executadas pelos sistemas operacionais? De que maneira tais funes poderiam ter sido executadas nos computadores antigos, antes do advento dos sistemas operacionais?

    7. Quais os principais recursos computacionais administrados pelos sistemas operacionais? 8. Explique a funo desempenhada no ambiente computacional pelos diversos componentes fsicos do computador, que

    so geralmente administrados pelos sistemas operacionais. 9. Inseridos em um ambiente computacional controlado por um sistema operacional, os programas passam por diversos

    estados (ou situaes) de processamento. Quais so esses estados e o que representa cada um deles? 10. Esboce graficamente o fluxo dos estados pelos quais os programas passam e explique em que condies e em

    resposta a qual estmulo se d cada uma das transies entre esses estados. Exemplifique. 11. Identifique as principais diferenas estruturais e conceituais existentes entre computadores pessoais e mainframes. 12. Descreva a viso que se pode ter dos sistemas operacionais, enquanto extenses das mquinas em que operam. 13. Apresente uma possvel organizao estrutural para os diversos mdulos de um sistema operacional, de forma que

    fique mais simples sua estrutura e mais intuitiva a sua manuteno. 14. Explique e discuta no mnimo trs dos diversos pontos de vista segundo os quais os sistemas operacionais podem ser

    considerados, para efeito de estudo. 15. Que so recursos? Quais so os principais recursos fsicos e lgicos que podem ser identificados em um sistema

    computacional? Quais so e como operam as partes do sistema operacional tipicamente responsveis pela administrao de cada um desses recursos?

    16. Em que consistem as polticas de alocao empregadas pelos mdulos administradores de recursos em um sistema operacional? Exemplifique.

    17. Compare os conceitos de mecanismo e de poltica de administrao de recursos. Exemplifique. Proponha um esquema em que convivam diversas polticas em um mesmo mecanismo de administrao de recursos.

    18. Em que situaes, normais ou anormais de operao, um programa em execuo pode perder o controle do processador? Procure detalhar o que ocorre em cada caso, dos pontos de vista do programa, do operador e do sistema operacional.

    19. O que a tcnica de virtualizao de recursos em um sistema computacional? Quais so as vantagens do seu emprego? Cite alguns casos de virtualizao que voc pode identificar em um sistema operacional.

    20. Em que consiste e que maneira efetuado o controle de acesso a arquivos, por parte de um sistema operacional? Faa um paralelo com o controle restritivo que o sistema deve impor aos usurios que requisitam acesso ao sistema para utilizarem o computador. Cite outras situaes que voc conhece, em que o sistema impe ao usurio ou aos seus programas restries controladas de acesso a algum outro recurso da mquina.

    21. Que significa estar o sistema em modo supervisor? Em que situaes ocorre? Por que razo? Quais atividades computacionais que so exclusivas deste modo de operao do computador? Justifique a razo dessa exclusividade.

    22. O que o ncleo (kernel) do sistema operacional? O que um shell? Por que este nem sempre faz parte do ncleo? 23. Construa um diagrama de estados que represente o andamento de um programa no sistema operacional, e explicite as

    relaes de causa e efeito nas diversas possveis transies de estados pelas quais tal programa passa, em seu processamento sob o controle de um sistema operacional.

    24. Como opera uma mquina hierrquica estendida? Explique cuidadosamente seu funcionamento, e justifique as opes adotadas em sua estratificao.

    25. Discuta ao menos duas alternativas de estruturao de um sistema operacional em camadas hierrquicas, apontando vantagens e desvantagens em cada caso.

    26. Quais so as semelhanas e diferenas entre os administradores dos diversos recursos de um sistema operacional? 27. Em computadores antigos, explique a repercusso, sobre a multiprogramao, do fato de o hardware da poca no

    possuir mecanismos de interrupo nem de acesso direto memria (DMA direct memory access). Proponha alguma soluo atravs da qual se pudesse contornar esse problema. Quais seriam as limitaes de tal proposta?

    28. Ainda nos computadores antigos, ditos de segunda gerao, por quais razes os sistemas multi-usurios de time-sharing no puderam ser empregados de forma extensiva?

    29. Defina e compare os conceitos de processador, processamento, processo, procedimento, programa, programao, multiprogramao, multiprocessamento.

    30. Compare os conceitos de programao estruturada e programao hierrquica. 31. Compare os conceitos de dispositivos dedicados, compartilhados e virtuais. At que ponto cada um dos trs tipos de

    dispositivos se mostra adequado para uso em mainframes e/ou em computadores pessoais? 32. Desenhe um diagrama de estados detalhado que modele o comportamento dos programas executados em um sistema

    operacional sem multiprogramao. O que ocorre em cada uma das transies, e como so disparadas? 33. Compare as semelhanas e as diferenas nos conceitos de sistemas que operam em lotes (batch), time-sharing e

    tempo real, em ambientes com um ou com mais processadores. 34. Compare os conceitos de sistemas paralelos, distribudos e redes de computadores. 35. Compare as vises do sistema operacional como: gestor de recursos, coordenador de estados/transies, mquina

    estendida, ou elemento de comunicao programa/mquina/operador. 36. Compare, do ponto de vista do usurio e do projetista, prs e contras dos sistemas operacionais com linguagem de

    controle textual e daqueles com interface homem-mquina grfica, visual. 37. Compare o mecanismo de acionamento das funes do sistema operacional, por parte do operador, por parte dos

    programas e por parte do hardware, nos casos de ambientes textuais e visuais. 38. Proponha uma forma de executar multiprogramao em um sistema desprovido de relgio de tempo real. Discuta a

    soluo apresentada, aponte limitaes e sugira outras possibilidades de soluo. 39. Em que circunstncias, caso existam, o modelo cliente-servidor, que bastante usado em sistemas distribudos,

    poderia ser empregado em ambientes com um nico computador? 40. Considere uma empresa, com estrutura hierrquica habitual: um gerente, uma equipe administrativa, n coordenadores

    de projetos, m funcionrios para cada coordenador, um equipamento de computao para cada elemento da empresa. Esboce um diagrama de estados que represente o funcionamento da empresa na execuo de um projeto. Compare com as atividades correlatas dos sistemas operacionais. Pergunta-se:

    a) Que paralelo existe entre as interrupes do computador e os eventos associados, nessa empresa? b) Quais eventos promovem mudanas de estado na empresa? E no sistema operacional? c) Como interpretar, na empresa, a multiprogramao? d) Quais fenmenos na empresa podem ser comparados ao multiprocessamento? e) O que ocorre quando um alto grau de multiprogramao acontece em um computador? A que corresponde isso na

    empresa? Identifique as principais conseqncias em cada caso. f) A que correspondem na empresa, as linguagens textuais de comandos do sistema operacional? Como identificar

    nela o correspondente a uma interface homem-mquina visual?

    Bibliografia complementar: Per Brinch Hansen Operating Systems Prentice Hall Madnick e Donovan Operating Systems McGraw Hill Deitel An Introduction to Operating Systems Addison Wesley

    Peterson e Silberschatz Operating System Concepts Addison Wesley Davis Operating Systems Addison Wesley Tanenbaum Operating Systems Design and Implementation Prentice Hall Flynn e McHoes Introduo aos Sistemas Operacionais Thomson

  • PCS-2453 Sistemas Operacionais Aula 04 Prof. Joo Jos Neto

    !"

    #$ % &

    & ' ( &) *# " && *# *#+ , #&*-( ! *# " (#( *# . " &/ , /*-, /&0 /12(#3 #

    #" 4 *-"5 *# #( #$%3 # ( *#//& !&- *# 3 # ( / & !*# 1 #*#2 !*#16 25 !"( (" ' & ! #"*#""& /7!

    /!*## ' # *# ' 12"(712*# % 8/

    / ("

    !9*#*#/*#

    ' !(" *#

    7/( %

    ) * ) %+ %

    , - . - (/

    , ) , - . %0 %1 2 3 4 5 %2 3 2 (0 5 3

    6 6 6 '

    -

    4 !"&*- " (

    ( % 6 *-:

    7 ! *#4 #%

    7 8 7 8 7 8 7 8 7 8

    % 7 8 12 7 8 &*# 7 8 7 8 7 8 &*#' !9

    ; :

    "&

    < ( 8 -

    4 (

  • PCS-2453 SISTEMAS OPERACIONAIS Aula 05 Prof. Joo Jos Neto

    Assunto: O processador e seus perifricos (primeira parte): Entrada e sada. Espera ocupada. Interrupo. Rotinas de tratamento de interrupo. Tipos de interrupo. Tcnica de buffering.

    Conceitos (em ordem alfabtica):

    Acesso direto memria (DMA) Bloco de dados Buffer de entrada/sada Canal (de entrada/sada) Computadores antigos: organizados em torno do processador Computadores recentes: organizados em torno da memria Controladores de dispositivos Dispositivo de armazenamento

    Dispositivo ativo/passivo Dispositivo de comunicao Dispositivo de entrada Dispositivo de entrada e sada Dispositivo inteligente (c/ processamento local) Dispositivo sncrono/assncrono Dispositivo de sada Dispositivo de transferncia de dados Entrada/sada independente de dispositivo Espera ocupada

    Interfaces entre processador e perifrico Interrupo Interrupes do relgio de tempo real Palavra de controle (instruo) de canal Programa de canal Registro fsico Registro lgico Rotina de tratamento de interrupo Roubo de ciclo Taxa de transferncia de dados

    Tempo de acesso Tendncia moderna: organizao distribuda Terminais RS-232 Terminais mapeados na memria Unidade de transferncia Via de controle e de dados (bus) Via em anel Via unidirecional e bidirecional

    Atividades:

    1. Faa uma comparao tcnica das caractersticas das arquiteturas de computadores ao longo de sua evoluo histrica. Quais inovaes foram introduzidas em cada etapa dessa evoluo? Comente a importncia de cada uma delas.

    2. Estabelea parmetros de comparao e, usando critrios baseados em tais parmetros, compare entre si as seguintes tcnicas de entrada/sada: por roubo de ciclo, por interrupo, por acesso direto memria e por meio de um canal de entrada/sada.

    3. Construa esboos detalhados (em portugus) da lgica de rotinas de acionamento (drivers) de algum dispositivo de entrada/sada de seu interesse, cujos dados tcnicos estejam disponveis, exercitando atravs delas a aplicao de cada uma das quatro tcnicas mencionadas na questo anterior. Tenha o cuidado de detalhar, ao nvel das instrues de mquina, todas as operaes a serem realizadas. Lembre-se que esse tipo de programao obrigatoriamente de nvel de abstrao muito baixo, muito prximo dos detalhes do hardware da mquina especfica com que se est trabalhando, e, portanto, podem diferir muito de uma mquina para outra.

    4. Compare os vrios tipos de dispositivos que voc conhece quanto natureza da transferncia que realizam, quanto ao seu tempo de acesso, sua unidade bsica de transferncia de dados (quantidade de dados transferidos por vez), etc.

    5. Quando se fala em operaes de transferncia de dados, efetuadas pelos programas executados sob o controle de um sistema operacional, o que significa a expresso independncia de dispositivo? De que maneira pode essa independncia ser obtida? O que ganha com isso o

    programador em relao ao uso da tcnica da transferncia dependente do dispositivo?

    6. Quatro camadas estruturais hierrquicas podem ser identificadas na gerncia de entrada/sada efetuada pelos sistemas operacionais modernos: o software do usurio (aplicativos), o software do sistema operacional responsvel pela entrada/sada independente de dispositivos, os acionadores (drivers) e os programas de atendimento de interrupo. Explique o papel de cada uma dessas camadas e cite algumas das tarefas que cada uma delas realiza.

    7. Que tipos de terminais voc conhece? Explique conceitualmente as diferenas existentes entre eles e o impacto dessa diferena sobre os programas que os acionam.

    8. Quais so os tempos envolvidos numa operao tpica de entrada/sada? Quais deles esto diretamente atrelados ao dispositivo fsico e quais dependem mais da forma como o sistema operacional trata o acionamento do dispositivo e a transferncia de dados propriamente dita?

    9. Descreva detalhadamente, passo a passo, cada atividade (tanto do dispositivo como do processador e do sistema operacional) que ocorre enquanto uma operao de entrada/sada efetuada atravs da tcnica de interrupo. Considere o caso em que no h outras transferncias de dados em curso, e depois estude o impacto da presena concorrente de outras operaes de entrada/sada.

    10. Conceitue: bloco de dados, buffer, unidade de transferncia de um dispositivo, registro fsico e lgico, acesso direto memria.

  • PCS-2453 SISTEMAS OPERACIONAIS Aula 06 Prof. Joo Jos Neto

    Assunto: O Processador e seus perifricos - (segunda parte) Referncia: Ron White Como funciona o computador Quark Editora, 1997

    Conceitos: dispositivos de armazenamento de acesso serial dispositivos de armazenamento de acesso aleatrio dispositivos sncronos e assncronos trilhas e setores de dados trilhas de sincronizao fitas, discos, disquetes e tambores magnticos dispositivos de cabeotes fixos e mveis movimentos de seek e search registros fsicos e registros lgicos

    blocagem de dados; fator de blocagem canais multiplexadores e seletores canais multiplexadores de blocos rotinas de entrada/sada com interrupo: iniciao, tratamento, finalizao entrada/sada com buffers old/new PSW (program status word) channel control word, channel status word programao independente de dispositivo

    software de tratamento uniforme de nomes interrupes: entrada/sada, programa, chamada de supervisor, externas, mquina outros discos: CD, DVD, zip, jaz, pen-drive portas paralela, serial, USB, VESA, ISA, SCSI outros dispositivos: scanners, modems, joy-stick,

    mouse, canetas, telas sensiveis ao toque, tablet, monitor, placa de som, dispositivos de realidade virtual, etc.

    Questes:1. Classifique os dispositivos indicados na tabela a seguir

    (dispositivos tpicos) de acordo com seu tipo e sua velocidade, e discuta a melhor forma de conect-los a um computador que dispe de um banco de memria com tempo de acesso de 70ns. Utilize para isso canais de tipos adequados aos dispositivos, e dimensione o maior nmero possvel de dispositivos do mesmo tipo que podero ser conectados ao mesmo tempo a cada canal, de forma que no haja sobrecarga.

    Dispositivo Tipo Veloc. (kb/s) Comunica-se c/ teclado entrada 0.01 homem mouse entrada 0.02 homem

    entrada vocal entrada 0.02 homem scanner entrada 200 homem

    sada vocal sada 0.6 homem impr. matricial sada 1 homem

    impressora laser sada 100 homem monitor grfico sada 30000 homem

    cpu - buffer sada 200 homem rede - terminal entrada/sada 0.05 mquina

    rede - rede local entrada/sada 200 mquina disco ptico armazenamento 500 mquina

    fita magntica armazenamento 2000 mquina disco magntico armazenamento 2000 mquina

    2. Quais so as classes de interrupo que voc conhece? Mostre a arquitetura de um ncleo de sistema operacional, responsvel por efetuar sua identificao, e o acionamento das correspondentes rotinas de tratamento. Identifique e explique, com detalhes, as atividades executadas pelo hardware e pelo software para essa finalidade.

    3. As rotinas de tratamento de interrupo so todas muito similares em estrutura. Rotinas de tratamento das interrupes de relgio de tempo real no so exceo. Calcule o overhead, ou seja, a parcela do tempo do processador que gasto com o tratamento de tal tipo de interrupo, em uma mquina na qual cada interrupo de relgio gasta um tempo t, e se repete a cada T.

    4. Como feita a operao de scroll em terminais do tipo bit map? 5. De que maneira um terminal RS-232 podem executar,

    internamente ao terminal, a operao de remover da tela uma determinada linha de texto?

    6. Pesquise o funcionamento fsico dos dispositivos modernos de armazenamento: CD-rom, CD-r/w, DVD-rom, DVD-r/w, mini-discos rgidos, zip-disk, jaz-disk. Como so feitas fisicamente as gravaes e leituras nesses dispositivos?

    7. Como opera uma porta USB? Pesquise o funcionamento de um pen-drive. Como possvel a um dado dispositivo operar em modo plug-and-play? Explique a lgica desse tipo de operao.

    8. Pesquise a maneira como uma cmara fotogrfica digital pode ser conectada para transferncia de fotos para o computador .

    9. Voc poderia usar a memria de sua cmara digital como pen-drive? Explique de que maneira isso seria possvel.

    10.Pesquise o funcionamento de outros perifricos e seus adaptadores: impressora, scanner, joy-stick, mouse, placa de som, web-cam, dispositivos de realidade virtual, modem, teclado, caneta eletrnica, touch-screen, tablet, monitor de video, portas paralela, serial, SCSI, USB, etc.

  • PCS-2453 Sistemas Operacionais Aula 07 Prof. Joo Jos Neto Assunto: Administrao de Memria I: Introduo Administrao de Memria Fsica Alocao contgua. Swapping. Overlays. Conceitos: 1. Administrador de memria 2. Alocao contgua simples 3. Alocao esttica de memria 4. Alocao dinmica de memria

    5. Espao fsico de endereamento 6. Espao lgico de endereamento 7. Espao de endereamento linear 8. Estrutura Hierrquica de Memria

    9. Memrias Cache / Backing 10.Overlay 11.Proteo de memria 12.Relocabilidade esttica

    13.Relocabilidade dinmica 14.Supervisor de overlay 15.Swapping

    Questes: 1. Quais as funes tpicas de um administrador de memria no S.O.? 2. Que alocao contgua simples de memria? Quais as suas

    vantagens e desvantagens? Em que situaes indicada? 3. Que tempo de retorno de um job (turnaround time)? 4. Que tempo de espera da transferncia de dados entre programas e

    perifricos? 5. Que tempo relativo de espera de entrada/sada de um programa? 6. Que um mecanismo de swapping? Quando se aplica? 7. Que so overlays? Quando so convenientes? Em que casos so

    desaconselhados? 8. Descreva o hardware necessrio para a implementao de swapping. 9. Especifique o hardware necessrio para se implementar overlays. 10.Qual o hardware necessrio realizao de sistemas cache-backing? 11.Qual o efeito, para o sistema operacional e para o usurio, da

    utilizao de memrias hierrquicas? 12.Qual a diferena entre endereamento fsico e endereamento

    lgico? E entre endereamentos fsico e virtual? 13.Considere um computador, com disco e com 256K bytes de memria

    fsica, e um programa formado de quatro partes, com tamanhos de 200K, 130K, 140K e 250K, respectivamente, as quais so executadas em momentos diferentes, de forma relativamente independente. Deseja-se implementar esse programa usando para isso um esquema de overlays de execuo na mquina disponvel. Explicar detalhadamente o mecanismo de operao.

    14. Dispe-se de um computador antigo com 256K bytes de memria fsica, de um disco grande e rpido, e de um canal multiplexador ao qual esto acoplados 16 terminais sem processador, apenas com teclado e monitor. Dispe-se, para essa mquina, do interpretador de uma linguagem de programao e do software necessrio para efetuar a comunicao com os terminais. Pede-se projetar um sistema

    de time-sharing para disponibilizar a linguagem do interpretador aos 16 terminais em regime de swapping. Explicar detalhadamente o funcionamento desse programa.

    15.Em sistemas modernos, h muitas tcnicas tradicionais que ainda so muito utilizadas, talvez de maneira pouco explcita. Em relao administrao de memria fsica, como se manifestam as tcnicas de swapping e de overlaying nas mquinas atuais?

    16.Discuta, para cada forma de alocao de memria, a influncia do hardware disponvel, o desempenho, a eficcia da alocao de memria, a necessidade de converso de endereos lgicos em fsicos, a possibilidade de compartilhamento ou no de memria, a possibilidade ou no da realizao de esquemas de proteo, a incorporao de mecanismos de swapping, etc.

    17.Em sistemas com administrao de memria relocvel, surgem problemas de desperdcio de espao devido ao fenmeno da fragmentao. Descreva esse problema e indique como contorn-lo.

    18.Descreva detalhadamente como mapear endereos lgicos em fsicos em sistemas com endereamento relocvel de memria.

    19.Que significa compartilhamento de memria? Quais problemas acarreta? Como tais problemas costumam ser resolvidos?

    20.Para o sistema operacional que voc costuma utilizar, pesquise de que maneira efetuada a gerncia da memria fsica. Descubra as solues que foram dadas para os diversos problemas, e procure informar-se acerca das razes pelas quais tais tcnicas foram adotadas. Juntamente com os resultados colhidos pelos colegas, procure montar um bom conjunto de informaes tcnicas acerca dos principais sistemas operacionais em uso.

  • PCS-2453 SISTEMAS OPERACIONAIS Aula 08 Prof. Joo Jos Neto

    Assunto: Administrao de Memria II: Administrao de Memria Fsica Multiprogramao. Alocao Particionada Simples e Relocvel.

    Conceitos: 1. Multiprogramao 2. Particionamento de memria 3. Partiicionamento esttico e dinmico 4. Endereos absolutos 5. Endereos relativos ao Program Counter 6. Relocabilidade esttica

    7. Proteo de memria: registradores de limites 8. Alocao particionada simples 9. Fragmentao de memria 10. Compactao de memria: garbage collection 11. Endereos relativos ao Registrador de base 12. Proteo e relocao dinmica: reg. base e limite

    13. Relocabilidade dinmica 14. Alocao particionada relocvel 15. Alocao de mltiplas parties para o mesmo job 16. Polticas de alocao First-fit, Best-fit, Worst-fit 17. Parties de tamanho padro e de tamanho varivel

    Taxa de espera de um job isolado: w=(tempo total de espera de entrada/sada)/(tempo total de processamento + tempo total de espera de entrada/sada)

    Taxa de espera de um job em multiprogramao: w= (w/(1-w))^n / (n! * (i=0..n) ( (w/(1-w) )^i / i! )) (demonstrado em Madnick/Donovan Operating Systems) Valores de w para w=65%: n=2, w=37,6%; n=3, w=18,9%; n=4, w=8,1%; n=5, w=2,9%; n=6, w=0,9%; n=7, w=0,2%; n=8, w=0,1%.

    Questes: 1. Que multiprogramao? Em que difere do multiprocessamento? Quais os

    seus objetivos? Qual o seu impacto sobre a administrao de memria? 2. Qual a estimativa de ocupao do processador para um conjunto de quatro

    programas simultaneamente na memria, sendo que cada um isoladamente gastaria em mdia a metade do tempo total de permanncia no computador esperando o final de suas operaes de entrada/sada?

    3. Para um conjunto de jobs que, individualmente, gastariam dois teros do seu tempo total de permanncia aguardando entrada/sada, qual o impacto esperado da multiprogramao? Estimar o tempo ocioso do processador para o grau mximo de multiprogramao variando entre 2 e 6.

    4. Que tempo de retorno de um job (turnaround time)? Qual pode ser o impacto do grau de multiprogramao sobre o tempo de retorno dos jobs em um sistema operacional multiprogramado?

    5. Qual a diferena entre endereamento fsico e endereamento lgico? E entre endereamentos fsico e virtual?

    6. Por que a presena de alocao dinmica em um sistema no implica obrigatoriamente que este sistema implementa memria virtual?

    7. Que significa particionamento de memria? Lembrando que o sistema operacional tambm um programa, como se pode ver, do ponto de vista do particionamento de memria, o esquema de alocao contgua simples com uma rea protegida privativa para o sistema operacional?

    8. Quais so as diferenas conceituais e de implementao da administrao de memria apoiada nos esquemas de particionamentos esttico e dinmico?

    9. O que deve fazer o sistema operacional para que um programa, contendo apenas instrues com endereos absolutos, possa ser executado em parties diferentes, de acordo com a deciso de um administrador de memria particionada?

    10. Propor uma disciplina de programao ou de gerao de cdigo para programas a serem executados em mquinas que dispem de instrues com endereos relativos ao Program Counter, de tal maneira que no haja necessidade de realizar operaes de acertos de endereo devidas mudana de endereo fsico do programa.

    11. Que vem a ser Relocabilidade Esttica? Descreva esta operao, bem como o funcionamento interno do programa Relocador pertencente ao sistema de programao que opera no ambiente do sistema operacional disponvel.

    12. Como funciona a proteo de memria proporcionada pelo uso de registradores de limites para as parties?

    13. Descreva detalhadamente o esquema de Alocao Particionada Simples (sem relocao), e compare com a Alocao Contgua Simples.

    14. O que e quando ocorre o fenmeno da fragmentao de memria? Quais as suas implicaes? Como costuma ser tratado pelo sistema operacional?

    15. Descreva um algoritmo que realize a operao de compactao de memria (garbage collection). Em que condies costuma ser utilizada?

    16. Como operam as instrues de mquina que apresentam endereos relativos ao Registrador de Base? Que relao tm com a relocao dinmica? Como podem ser exploradas em um esquema de Memria Particionada Relocvel?

    17. Como funciona a proteo de memria e a relocao dinmica em um computador em que se dispe de um registrador de base e outro de limite?

    18. Descreva o funcionamento da Relocabilidade Dinmica em um computador. Aponte prs e contras do uso deste conceito.

    19. Descreva a Alocao Particionada Relocvel de memria em um sistema operacional. Compare-a tecnicamente em detalhes com o esquema de Alocao Particionada Simples. Quais so os prs e contras de cada um?

    20. A alocao de mltiplas parties para um mesmo job altera o comportamento de um sistema operacional com administrao de Memria Particionada. Descreva o impacto dessa opo sobre as necessidades de hardware e sobre a eficcia dessa tcnica de administrao de memria.

    21. Descreva as polticas de alocao de memria baseadas nos algoritmos First-fit, Best-fit, Worst-fit. Projete e teste os trs algoritmos para alguns conjuntos de jobs, e procure compar-los quanto s condies mais favorveis e mais desfavorveis para a aplicao de cada um.

  • PCS-2453 SISTEMAS OPERACIONAIS Aula 09 Prof. Joo Jos Neto Assunto: Administrao de Memria 3 - Memria Fsica Paginada. Conceito de Paginao. Alocao Paginada Simples. Proteo de Pginas.

    Conceitos:Memria fsica e memria lgica Compartilhamento de recursos Memria compartilhada Bloco Pgina Paginao da memria fsica

    Alocao paginada simples Mapeamento de memria paginada Page map Page map table Memory block table Memria associativa

    Fragmentao interna File map table Translation lookaside buffer Unallocated area table Recuperao de memria para o sistema Esquema de Key/Lock

    Prioridades de alocao Tag Taxa de espera relativa de entrada/sada Tempo efetivo de processador Overhead de mapeamento de endereos

    Questes: 1. Conceitue e descreva detalhadamente o funcionamento de um mecanismo de

    administrao paginada simples da memria fsica em um sistema operacional. 2. Qual a funo e como realizado o mapeamento de endereos lgicos em

    endereos fsicos na administrao de memria com alocao paginada simples? 3. Qual o papel do hardware em cada passo da execuo das instrues de

    referncia memria em sistemas com administrao paginada de memria? 4. Explique cuidadosamente o mecanismo de mapeamento de endereos lgicos em

    endereos fsicos, utilizado em ambientes com memria paginada. Exemplifique um caso extremo, mostrando passo a passo a evoluo do contedo dos diversos registradores da mquina conforme evolui a execuo de uma instruo de referncia memria cujo cdigo ocupe dois words, estando o primeiro word em uma pgina e o segundo, na pgina seguinte, o mesmo ocorrendo com o seu operando, tambm de dois words, e ocupando posies limtrofes entre duas pginas.

    5. Quais as estruturas de dados utilizadas pelo software de administrao de memria para controlar a alocao paginada? Explique.

    6. Qual o suporte de hardware necessrio para viabilizar a paginao de memria em um sistema computacional?

    7. Quais as vantagens e desvantagens do emprego da alocao paginada simples de memria em relao ao uso de outros mtodos?

    8. Faa uma anlise comparativa entre a paginao simples e os outros mtodos de alocao de memria fsica que voc conhece.

    9. Quais as vantagens e desvantagens do emprego da paginao de memria em um computador?

    10. Dada a necessidade de mapeamento de endereos lgicos em fsicos a cada referncia feita memria, qual o impacto da paginao sobre o tempo de execuo dos programas?

    11. Qual o impacto do tamanho do bloco de memria (e portanto das pginas) sobre o mecanismo de mapeamento em ambientes com memria paginada? O que acontece se as pginas forem muito grandes? E se forem muito pequenas? Como decidir o melhor tamanho para as pginas em um dado computador?

    12. possvel ao programador escrever programas de uma forma tal que se possa garantir que apresentem um bom desempenho em quaisquer ambientes

    paginados em que forem executados? Por qu? A quais fatores esse aspecto do desempenho mais sensvel?

    13. Considerando que um programa pode, por exemplo, apresentar construes sintticas iterativas curtas, mas que ocorram no final de uma pgina e terminem no incio de uma outra, estime o impacto do uso de um sistema com alocao de memria paginada sobre as necessidades de memria fsica de programas com esse perfil.

    14. Mostre, usando um exemplo particular sua escolha, de que forma pode um programa qualquer ser posto em execuo em um ambiente computacional com alocao paginada de memria fsica.

    15. Qual o efeito da disperso de pginas pela memria fsica sobre o desempenho do programa?

    16. Comente o impacto da adoo do esquema de paginao de memria sobre o fenmeno da fragmentao, que se faz muito presente nos sistemas com memria particionada.

    17. Qual seria a utilidade de um programa de compactao de memria em um ambiente computacional com memria paginada?

    18. Conceitue fragmentao interna. Em uma situao de pior caso, qual pode ser o maior impacto possvel desse tipo de fragmentao sobre a porcentagem de ocupao de memria em um ambiente de memria paginada? Exemplifique.

    19. No esquema de alocao particionada, foi proposto um par de registradores para delimitarem na memria fsica o espao de endereamento do programa. Na alocao paginada, em que o programa fica aleatoriamente disperso pela memria, que soluo voc pode propor para proteger a memria de forma similar utilizada no esquema particionado?

    20. Proponha uma forma de implementar, para programas executados em ambiente de memria paginada, um esquema de proteo de acesso um pouco mais sofisticado, em que partes do programa podem ser apenas executadas, mas no lidas nem modificadas, outras podem ser lidas mas no modificadas nem executadas, e outras ainda podem ser lidas e modificadas, mas no executadas. Como se trata de uma forma mais complexa de proteo, torna-se necessrio modificar o hardware para isso. Esquematize detalhadamente a sua proposta, e avalie sua viabilidade tcnica e econmica.

  • PCS-2453 SISTEMAS OPERACIONAIS Aula 10 Prof. Joo Jos Neto Assunto: Administrao de Memria 4 - Memria Paginada com virtualizao de memria. Algoritmos de Substituio de Pginas.

    Conceitos:Compartilhamento de recursos Memria compartilhada File map table Princpio da localidade Working set Memria virtual Memria virtual paginada

    Interrupo de falta de pgina Paginao requisitada Translation lookaside buffer Unallocated area table Bloco em trnsito Algoritmo de substituio tima Algoritmo FIFO (first in, first out)

    Algoritmo LRU (least recently used) Algoritmo NFU (not frequently used) Algoritmo NRU (not recently used) Algoritmos de remoo de pginas Anomalia FIFO (anomalia de Belady) Aproximao do algoritmo LRU Esquema de Key/Lock

    Reference bit / Change bit Tag Tempo de espera relativa de entrada/sada Tempo efetivo de processador Page swapping Thrashing Recuperao de memria para o sistema

    Questes: 1. Que alocao de memria por requisio dinmica de pginas? Explique

    detalhadamente o funcionamento de tal esquema de administrao de memria. 2. Conceitue memria virtual. O que necessrio para que um esquema de

    alocao de memria implemente memria virtual? Quais so suas aplicaes? 3. A virtualizao da memria a nica forma de permitir a execuo de programas

    que no cabem inteiros na memria fsica? Justifique sua resposta afirmativa, ou fornea contra-exemplos no caso de resposta negativa.

    4. Quais as vantagens e desvantagens do emprego da virtualizao de memria em um computador?

    5. Sabe-se que a virtualizao de memria permite a execuo direta de programas que foram escritos sem que haja obrigatoriamente cincia prvia de que a memria do ambiente em que seriam executados gerenciada como memria virtual. Como implementada essa transparncia, e qual o correspondente nus no custo de implementao do hardware e do software?

    6. Conceitue paginao requisitada. Mostre detalhadamente como se comporta o hardware em ambientes com memria virtual paginada. Ilustre esse funcionamento mostrando passo a passo a evoluo do contedo dos registradores da mquina ao longo da execuo de uma instruo de referncia memria de pior caso, ou seja, que apresente comportamentos limtrofes quanto sua posio na memria, e tambm quanto posio ocupada por seu operando. Comente suas observaes.

    7. Quais as vantagens e desvantagens da utilizao da tcnica de paginao requisitada de memria em relao paginao simples?

    8. Conceitue thrashing. Quais so as sua causas? E suas conseqncias? 9. Quais as estruturas de dados utilizadas pelo administrador de memria

    virtualizada por paginao requisitada? Explique seu funcionamento. 10. Quando e como so feitas a alocao e a recuperao, para o sistema, de reas

    de memria em um esquema de memria virtual com paginao requisitada? 11. Que recursos deve exibir o hardware que empregado na realizao de sistemas

    de memria virtual por paginao requisitada? 12. Conceitue blocos em trnsito e justifique a sua existncia em sistemas com

    paginao requisitada de memria virtual. 13. Que paralelo existe entre os conceitos de localidade e de working set?

    14. Colete em uma pesquisa bibliogrfica descries de algoritmos de substituio de pginas, e suas aplicaes. Estude a lgica dos algoritmos coletados.

    15. Quais os algoritmos de substituio de pginas que voc conhece, e qual a funo deles? Qual o impacto de sua eliminao sobre o comportamento dos sistemas operacionais que deles se utilizam?

    16. Que working set? Como esse conceito se aplica avaliao do desempenho de um sistema operacional?

    17. Conceitue o princpio da localidade. Descreva um experimento atravs do qual se poderia constat-lo na prtica.

    18. Dada a necessidade da execuo de operaes de entrada/sada em resposta a cada falta de pgina durante a execuo de um programa, qual o impacto da virtualizao de memria sobre o tempo de execuo dos programas?

    19. Qual o impacto do tamanho do bloco de memria (e portanto das pginas) sobre o nmero total de interrupes de falta de pgina que ocorre em um ambiente de memria virtual paginada?

    20. possvel ao programador escrever programas de uma forma tal que se possa garantir que apresentem um bom desempenho em quaisquer ambientes paginados em que forem executados? Por qu?

    21. Considerando, por exemplo, que um programa pode, por exemplo, apresentar construes iterativas que se iniciem no final de uma pgina e terminem no incio de uma outra, estime o impacto do uso de um sistema com alocao de memria paginada sobre as necessidades de memria fsica de um programa.

    22. Comente eventuais impactos devidos virtualizao da memria, no desempenho dos programas: (a) do tamanho do disco, (b) de sua porcentagem de ocupao, (c) de sua velocidade de transferncia, (d) do seu tempo de acesso, (e) de sua fragmentao, (f) do seu compartilhamento entre diversos programas.

    23. Discuta a validade ou no da seguinte afirmao: Quanto maior o nmero de pginas do programa simultaneamente presentes na memria, menor ser a freqncia de pedidos de interrupo por requisio de pginas faltantes.

    24. Discuta a validade ou no da seguinte afirmao: A iluso de ter disponvel uma quantidade ilimitada de memria pode levar o programador a criar seus programas sem os mnimos cuidados com o gasto excessivo de espao.

    25. Discuta o impacto da memria virtual sobre o tamanho dos programas modernos.

  • PCS-2453 SISTEMAS OPERACIONAIS Aula 11 Prof. Joo Jos Neto Assunto: Alocao Segmentada Simples e com Virtualizao. Proteo e Compartilhamento de Segmentos. Conceitos (em ordem alfabtica): Segmento Espao de Endereamento bidimensional Segmentao simples Procedimento puro Procedimento recursivo Procedimento reentrante Segmentos no-modificveis Segment map table

    Segment name table Active segment table Proteo de segmentos Bit de falta de ligao Interrupo de falta de ligao Interrupo de falta de segmento Ligao dinmica dos segmentos

    Memria Virtual segmentada Segmentos compartilhados Segmentos de ligao Segmentos executveis Efeito colateral Procedimento puro

    Questes: 1. Que alocao de memria segmentada? 2. De que formas pode ser implementada a alocao segmentada de

    memria? 3. Explicar o princpio de funcionamento do esquema de

    segmentao no gerenciamento da memria fsica. Em que diferem? Qual a vantagem de seu uso em lugar da alocao particionada?

    4. Como feito o tratamento da fragmentao da memria fsica em ambientes com segmentao simples? E com particionamento? Como tratado o problema do acerto dos endereos relativos aps uma compactao de memria?

    5. Definir o conceito de segmento. H vrios tipos de segmentos, segundo sua funo. Quais so esses tipos? Quais so as caractersticas de cada um deles?

    6. Explicar detalhadamente como feito fisicamente, no hardware, o acesso a um endereo lgico de memria, pertencente a um segmento especfico?

    7. Quais as vantagens e desvantagens do uso da segmentao sobre o de outros esquemas de gerenciamento de memria?

    8. Quais as funes executadas no sistema operacional pelo gerenciador de memria quando se adota o esquema de alocao segmentada?

    9. Como se obtm o efeito de virtualizao da memria atravs da segmentao?

    10.Descrever o funcionamento das partes do hardware responsveis pela implementao de memria virtual atravs da tcnica de segmentao.

    11.Conceitue e explique a utilidade da ligao dinmica em esquemas de segmentao.

    12.Conceitue e justifique a existncia e a finalidade dos segmentos de ligao.

    13.Quais as vantagens de se ter segmentos compartilhveis em um sistema?

    14.Que significa efeito colateral em um programa? Como se manifesta nas linguagens de programao?

    15.Conceitue e descreva a finalidade de procedimentos puros, em um programa e no sistema operacional.

  • PCS-2453 SISTEMAS OPERACIONAIS Aula 12 Prof. Joo Jos Neto Assunto: Memria Virtual Segmentada com Paginao. Conceitos: Active segment table Bit de falta de ligao Espao de Endere. bidimensional Espao lgico de endereamento Interrupo de falta de ligao Interrupo de falta de segmento

    Ligao dinmica dos segmentos Memria Virtual segmentada Procedimento puro Procedimento recursivo Procedimento reentrante Proteo de segmentos

    Segment map table Segment name table Segmentao simples Segmentao com paginao requisitada Segmento Segmentos compartilhados

    Segmentos de ligao Segmentos executveis Segmentos no-modificveis

    Questes: 1. Trace um paralelo entre as tcnicas de gerenciamento de memria com

    segmentao e com particionamento. 2. Explique em que situao o gerenciamento de memria segmentada se

    reduz a um simples particionamento. Mostre os detalhes do funcionamento de um programa quando sob sistemas operacionais que adotem cada um dos esquemas de administrao de memria.

    3. Em que consiste a segmentao de memria com paginao requisitada?

    4. Conceitue cada um dos elementos seguintes que, devidamente combinados, originam os mais variados tipos de gerenciamento de memria: alocao contgua, particionada, paginada, segmentada; memria virtual, swapping, overlay; espao de endereamento: linear e bidimensional; fsico e lgico; contguo, paginado, particionado ou segmentado; requisio dinmica de: pgina, segmento, etc.

    5. Indique quais combinaes dos conceitos da questo anterior permitem que: a) a memria seja virtualizada; b) um programa seja executado sem que esteja completamente presente na memria; c) o programa ocupe um espao fsico no-contguo de memria; d) o espao lgico de endereamento do programa seja controladamente compartilhado;

    6. Explique conceitualmente por que swapping e overlay no implementam obrigatoriamente a virtualizao de memria.

    7. Qual o hardware necessrio implementao de cada um dos tipos de gerenciamento de memria mencionados na questo 5?

    8. Quais so os elementos necessrios no hardware de um computador no qual se deseja instalar ambientes de: a) memria virtual; b) paginao; c) segmentao; d) todos simultaneamente?

    9. Detalhe esquematicamente, com um certo rigor, o hardware necessrio implementao de segmentao de memria com paginao requisitada.

    10. Quais as vantagens e desvantagens de implementar, em uma mesma mquina, as tcnicas de segmentao e de paginao de memria?

    11. Qual o maior nmero possvel de interrupes que uma mesma referncia memria pode causar em um ambiente com memria virtual paginada e segmentada?

    12. Descreva detalhadamente as rotinas de atendimento das interrupes ligadas administrao da memria virtual com segmentao paginada.

    13. Compare conceitualmente as tcnicas de virtualizao de memria baseada: a) na paginao; b) na segmentao; c) na segmentao paginada.

    14. Do ponto de vista do espao de endereamento, como que se apresenta ao usurio a memria em um sistema operacional com esquema de gerenciamento de memria segmentada?

    15. Compare entre si os funcionamentos dos administradores de memria baseados na segmentao, no particionamento, nos overlays e no swapping.

    16. Como so as estruturas de dados, os algoritmos, as rotinas de tratamento de interrupo e a dinmica de operao dos sistemas de gerenciamento de memria virtual segmentada com paginao?

    17. Quais so os impactos da presena de gerenciamentos de memria virtual segmentada com paginao sobre o desempenho do sistema operacional? e dos programas? Justifique.

  • PCS-2453 SISTEMAS OPERACIONAIS Aula 13 Prof. Joo Jos Neto Assunto: Gerenciamento de Processos 1 Conceitos gerais Conceitos: Processador Processo Job Scheduler Process Scheduler Traffic Controller SPOOLing Turnaround time

    Turnaround time ponderado Time slice CPU headway Throughput Prioridades Dispatching Process control block

    Ready-list Round-robin Quantum Inverso do resto do quantum Balanceamento Prioridade dinmica Job scheduling coordenado

    Master/Slave scheduling Scheduling homogneo Sincronizao Compartilhamento de recursos Condies de competio

    Questes para fixao dos conceitos: 1. Qual o papel da administrao de processos, no escopo do sistema

    operacional? Quais funes do sistema operacional se referem diretamente aos processos?

    2. Desenhe um diagrama de estados que modele a vida de um programa no sistema, interpretando o papel dos vrios estados e indicando o mdulo do sistema operacional responsvel pela execuo das aes associadas a cada uma das transies.

    3. Relacione os elementos do diagrama da questo 2 com o elemento correspondente do simulador guiado por eventos do projeto que voc est desenvolvendo nesta disciplina.

    4. Quais so os mdulos que compem tipicamente um administrador de processos e quais as atribuies principais de cada um deles no contexto do sistema operacional?

    5. Conceitue job scheduler. Quais so as metas tpicas que geralmente esse mdulo procura atingir?

    6. Quais so as polticas de job scheduling que voc conhece, que tenham como finalidade principal reduzir o turnaround time mdio dos programas executados?

    7. Que process scheduling? De que maneira o mdulo process scheduler do sistema operacional pode ser implementado?

    8. Qual o papel do dispatcher na administrao de processos? 9. Esboce a lgica de um hardware cuja funo seja a de realizar

    automaticamente o chaveamento do uso de um processador pelos processos em um ambiente multiprogramado.

    10. Que um traffic controller no sistema operacional? Quais so as estruturas de dados nas quais se baseia a sua implementao? Explique detalhadamente seu funcionamento.

    11. Sugira uma forma como podem sincronizar-se processos executados paralelamente, que compartilham reas de dados na memria principal.

    12. Qual o papel da ready list no sistema operacional?

    13. Explique o funcionamento da poltica round robin para o gerenciamento da ready list em um sistema operacional multiprogramado.

    14. Quais as metas usualmente estabelecidas para o traffic controller em um sistema operacional multiprogramado?

    15. Quais os esquemas de gerenciamento usualmente empregados para obter um balanceamento da carga do sistema? Argumente acerca da convenincia dessas polticas de balanceamento em sistemas nos quais estejam simultaneamente presentes jobs CPU-bound e I/O-bound.

    16. Explique o funcionamento da poltica de prioridades no gerenciamento de processos. Como se pode evitar o bloqueio sistemtico de processos de baixa prioridade devido preferncia dada aos de alta prioridade?

    17. De que maneira pode ser feita a atribuio dinmica (varivel, portanto) de prioridades aos processos durante sua execuo, em funo do seu comportamento quanto ao uso do processador?

    18. Comente o papel de uma poltica de dispatching que privilegie processos interativos, priorizando-os em relao aos demais quanto alocao do processador, para reduzir o tempo de resposta do sistema ao usurio.

    19. Quais so as arquiteturas mais freqentemente utilizadas para conectar processadores? Esboce-as, e compare-as quanto ao seu funcionamento.

    20. Qual a justificativa para a incluso, em um sistema operacional, de recursos para a sincronizao de processos?

    21. Como podem ser resolvidos os casos de competio dos processos pela posse e uso de recursos em um ambiente operacional multiprogramado?

    22. Qual a influncia do tamanho do quantum (ou time slice) no comportamento de um sistema operacional multiprogramado?

    23. Que significa SPOOLing? Qual a sua relao com a administrao de processos?

  • PCS-2453 SISTEMAS OPERACIONAIS Aula 14 Prof. Joo Jos Neto

    Assunto: Gerenciamento de Processador parte 2: comunicao e sincronizao; deadlocks.

    Conceitos: Deadlock Lock bit Test and set Semforo Lock/Unlock

    Wait/Signal Primitivas P e V de Dijkstra Semforo contador Primitivas Send/Receive Mensagem

    Pr-alocao de recursos Alocao restringida Alocao controlada Alocao padronizada Cooperao entre processos

    Deteco e recuperao de deadlock Bloqueio Espera ocupada Corridas Recursos [non-]Preemptable

    Questes para fixao dos conceitos:

    1. Como surge, em um sistema operacional, a necessidade da sincronizao de processos?

    2. Como aparecem e como podem ser resolvidos os casos de competio entre os processos pela posse dos recursos compartilhados disponveis no sistema?

    3. Se, em um sistema operacional, no lugar da poltica de round-robin, estiver implementado um mecanismo de process scheduling baseado exclusivamente em uma poltica de prioridade dos processos, o que pode acontecer caso um processo de alta prioridade vier a executar um ciclo infinito (ou seja, entrar em loop)?

    4. Quais os mecanismos de sincronizao de processos que voc conhece? Descreva o funcionamento de cada um deles.

    5. Explique a diferena entre a tcnica de espera ocupada e o mecanismo de bloqueio de processos, utilizado pelos sistemas operacionais.

    6. O que so regies crticas? Que excluso mtua de processos? 7. Explique os papis complementares das instrues do tipo test and set

    e das primitivas de sincronizao. 8. O que so e como so implementados os semforos? 9. Esboce a lgica de um par de processos que, respectivamente, fazem

    o papel de produtor e consumidor, utilizando um buffer comum, e sincronizados por semforos contadores.

    10.Pesquise na literatura outros problemas envolvendo mtodos de sincronizao de processos concorrentes, tais como, por exemplo, o problema do jantar dos filsofos, ou o do barbeiro sonolento.

    11.Que so deadlocks e como so originados? Quais so os efeitos do aparecimento de deadlocks em um sistema operacional?

    12.Como pode ser evitado o aparecimento de deadlocks em um sistema operacional?

    13. Explique, com detalhes, os procedimentos que podem ser adotados por um sistema operacional quando da deteco da ocorrncia de um deadlock nele instalado.

    14. Em que consiste a tcnica da pr-alocao de recursos? Como opera?

    15. Qual o significado da tcnica da alocao restringida? Quais as modalidades que voc conhece? Para que servem? Como funcionam?

    16. Na tcnica da alocao padronizada, os recursos devem ser alocados sempre em uma ordem pr-estabelecida. Por que razo esta forma de alocao impede o aparecimento de deadlock?

    17. Em que mdulos pode ser dividido o gerenciador de processos na implementao de um sistema operacional, de modo que fique preservada a hierarquia dos seus componentes?

    18. Que significa um recurso [no-]preemptable? 19. Pesquise na literatura e explique as quatro condies necessrias e

    suficientes para a ocorrncia de um deadlock: condio de excluso mtua; condio de entrar em estado de espera; condio de no-preemption; condio de espera circular.

    20. Pesquise na literatura e estude o funcionamento dos algoritmos clssicos de deteco e recuperao de deadlocks utilizados em sistemas operacional.

    21. De que maneira possvel utilizar trocas de mensagens como mecanismo ao mesmo tempo de comunicao e de sincronizao de processos?

    22. Que so threads? Como so utilizados no sistema operacional?

  • PCS-2453 SISTEMAS OPERACIONAIS Aula 15 Prof. Joo Jos Neto

    Assunto: Gerenciamento de dispositivos Parte 1: Conceitos

    Conceitos: dispositivo alocao de dispositivos poltica de alocao spooling virtualizao de dispositivos

    alocao dedicada alocao compartilhada alocao virtual dispositivo de acesso serial dispositivo de acesso direto

    canal unidade de controle canal seletor canal concentrador canal multiplexador de blocos

    buffering I/O traffic controller I/O device handler (driver) DMA operao de dispositivos offline

    Questes para fixao dos conceitos:1. Que dispositivo de entrada/sada? Qual o seu papel em um sistema de

    computao? 2. Quais as funes do administrador de dispositivos no sistema operacional? 3. Quais os mdulos de que se compe um administrador de dispositivos? Qual a

    funo de cada um? 4. Quais as polticas clssicas de alocao de dispositivos de entrada/sada que

    voc conhece? Explique-as. 5. Quais as polticas clssicas de recuperao de dispositivos de entrada/sada? 6. Que spooling? Em que casos se aplica? Em que casos no se aplica? 7. Quais as metas usualmente perseguidas nas polticas de alocao

    compartilhada? 8. Quanto ao tipo de utilizao, h duas classes de dispositivos de entrada/sada.

    Quais so e como se caracterizam? 9. Como se classificam os dispositivos de armazenamento quanto ao acesso? 10. O que determina o tempo de acesso em um dispositivo de acesso serial? 11. Como so organizados os dados nos meios de armazenamento serial? 12. Quais as funes que devem ser executadas por uma unidade de

    armazenamento serial? 13. Como so implementados os registros de comprimento varivel em unidades

    de armazenamento serial? 14. Para que servem os inter-record gaps nos dispositivos de armazenamento de

    acesso serial? 15. Que blocagem? Quais as suas vantagens? Quais as suas desvantagens? 16. Que so dispositivos de acesso completamente direto? O que os caracteriza? 17. Que so e como se caracterizam os dispositivos de acesso direto? 18. Quais os mecanismos fsicos de acesso informao em dispositivos de

    acesso direto? 19. Qual a utilidade dos gaps em dispositivos de entrada/sada de acesso direto? 20. Que so canais de entrada/sada? Que so programas de canal? Quais as

    vantagens do uso de canais? Quais so as alternativas ao uso de canais? 21. Que so unidades de controle de entrada/sada? Qual a sua funo na

    execuo de entrada/sada?

    22. Qual o papel do gerenciador de dispositivos, relativo aos canais e aos controladores?

    23. Quais as tcnicas de hardware utilizadas para eliminar o gargalo decorrente da escassez de canais e de controladores frente ao grande nmero de dispositivos? Como funcionam?

    24. Quais tipos de interrupo so necessrias para manter dispositivos em operao independente?

    25. Que multiplexao de blocos? Como opera? Quando se aplica? 26. Onde feito o buffering de entrada/sada? Como funciona? Para que serve? 27. Quais as tcnicas que voc conhece para aumentar a disponibilidade dos

    equipamentos em um sistema operacional? 28. Quais as funes do I/O traffic controller? Como opera? 29. Quais as bases de dados utilizados pelo I/O traffic controller? Quais as

    informaes nelas contidas? 30. Quais as tcnicas utilizadas nos I/O device handlers para o tempo de acesso

    mdio aos dispositivos de acesso direto? Qual o apoio oferecido pelo hardware com esta finalidade?

    31. Que tipo de overhead introduzido pelos mtodos de reduo de tempo de acesso aos dispositivos de entrada/sada de acesso direto, empregados pelo software do sistema operacional?

    32. Quais caractersticas dos dispositivos de entrada/sada motivam a sua virtualizao? Por qu?

    33. Quais tipos de associao entre processadores, perifricos e canais tm sido utilizados ao longo da histria dos sistemas de computao?

    34. Que operao off-line de dispositivos de entrada/sada? Quais os seus problemas? Quais as suas aplicaes?

    35. Quais os conflitos que surgem quando se liga mais de um processador a um mesmo disco? Como tais conflitos so resolvidos?

    36. Que so sistemas virtuais de entrada/sada? Detalhe a estrutura de um sistema virtual completo. Explique seu funcionamento.

  • PCS-2453 SISTEMAS OPERACIONAIS Aula 16 Prof. Joo Jos Neto Assunto: Administrao de dispositivos Parte 2: Tcnicas Conceitos: 1. Unit Control Block 2. Spooling 3. Tempo de acesso 4. Registro (record) 5. Tape mark

    6. Inter-record gap 7. Dispositivos de cabea fixa 8. Dispositivos de cabea mvel 9. Trilha (track) ou cilindro 10. Setor (sector, record)

    11. Endereamento em dispositivos 12. Seek/Search 13. Canal 14. Programa de canal 15. Channel control word (CCW)

    16. Unidade de controle 17. Confiabilidade 18. Disponibilidade 19. Channel control block 20. Control unit control block

    21. Acoplamento direto 22. Processador de suporte 23. Simulao

    Questionrio:1. A tcnica de spooling permite o uso de simulao (= virtualizao) para

    aumentar a versatilidade e a eficincia de operaes de entrada e sada em dispositivos dedicados, convertendo-as em entradas e sadas em dispositivos compartilhados. Relacione os ganhos que podem ser obtidos aplicando-se essa prtica.

    2. Explique as diferenas fsicas e conceituais entre dispositivos de entrada e sada e dispositivos de armazenamento, e justifique a escolha de um deles como hospedeiro para a virtualizao do outro.

    3. Compare os dispositivos de armazenamento de acesso serial com os de acesso direto quanto a suas propriedades e quanto sua adequao para servir como hospedeiro para criar um sistema de spooling.

    4. Compare o conceito de registro em perifricos de acesso serial e em perifricos de acesso direto. Investigue de que forma cada tipo de dispositivo materializa o seu prprio conceito de registro.

    5. Em que situaes uma fita magntica se mostra bastante adequada para a virtualizao de outros perifricos? Detalhe esse uso para o caso de sistemas de aquisio de dados operando em locais no atendidos.

    6. Pesquise na internet caractersticas (velocidade, densidade de gravao, de diversos modelos de fitas magnticas tpicas para armazenamento de dados em computadores. Avalie-as comparativamente, e determine uma relao aceitvel entre o tamanho de um inter-record gap e a quantidade de fita realmente ocupada por dados em uma operao usual. Supondo que cada gravao lgica envolva a transferncia de um certo volume v de dados, determine um fator de blocagem apropriado para que seja ocupada no mnimo uma porcentagem da fita (p%) considerada aceitvel.

    7. Faa um levantamento de caractersticas (capacidade, nmero de cabeotes de leitura e gravao, tipo de cabeote fixo ou mvel, tamanho e nmero de trilhas e de setores, velocidade de rotao, tempo de acesso, de seek e de search, etc) e compare entre si alguns tipos de

    dispositivos de acesso direto quanto a sua eficincia para a transferncia de dados com a memria do computador. Avalie-os comparativamente quanto ao tempo necessrio para que uma transferncia completa seja executada.

    8. Entre as principais tcnicas de uso de dispositivos, implementadas pelos I/O device handlers destacam-se: (a) slotting, que a reordenao cclica dos acessos ao disco para minimizar o tempo de search entre acessos a diferentes setores da mesma trilha; (b) a ordenao do seek, para minimizar o tempo de deslocamento do cabeote entre trilhas prximas ou no; (c) o uso da tcnica de folding (gravao repetida de dados no dispositivo, para reduzir o tempo mdio de acesso em aplicaes crticas). Projete algoritmos que implementem essas tcnicas, admitindo a existncia de comandos de entrada/sada que determinem, em cada momento, a posio exata do disco em sua rotao e dos cabeotes em sua movimentao. Indique como incorporar tais algoritmos em um I/O device handler (driver).

    9. Os sistemas computacionais antigos faziam suas transferncias de dados (a) sem nenhum auxlio (operao offline dos dispositivos); (b) com a ajuda de processadores auxiliares (processador principal e processador perifrico diretamente acoplados atravs de discos; (c) interligados por vias de dados de alta velocidade); (d) com a ajuda dos canais (virtualizao por tcnica de spooling). Comparar essas tcnicas e explicar detalhadamente o funcionamento de cada um desses esquemas.

    10.Usualmente, o spooling interage com outros mdulos do sistema, como o gerenciador de processos e o gerenciador de informao, atravs de tabelas que descrevem as operaes em andamento no sistema operacional. Descreva como opera um sistema de spooling moderno.

  • PCS-2453 Sistemas Operacionais Aula 17 Prof. Joo Jos Neto Assunto: Segunda parte do projeto simulao dirigida por eventos Na primeira parte deste projeto pediu-se que fosse implementado um simulador inspirado na referncia

    McDougall, M. H. Computer System Simulation - an Introduction ACM Computing Surveys, vol. 2 n. 3, setembro de 1970, p. 191-209

    Trata-se de um simulador dirigido por eventos, do tipo estocstico, com granularidade no nvel de sistema, ou seja, um simulador no qual o modelo adotado para representar os fenmenos simulados no leva em considerao detalhes individuais dos fenmenos e sim seu efeito coletivo apenas. Para ilustrar, pode-se observar que no h qualquer preocupao da modelagem quanto relao entre um programa e uma operao envolvendo seus particulares acessos ao disco, e sim sobre a carga coletivamente imposta ao disco pelo conjunto dos programas ativos. H diversos outros casos similares identificveis no artigo. Nesta segunda parte, o simulador desenvolvido dever ser enriquecido com mais detalhes de modelagem, de forma que, alm das medidas no nvel do sistema, possam ser efetuadas algumas medidas individuais tambm. Os gerenciadores de recursos devero operar de acordo com os seguintes requisitos: Gerenciador de memria: memria virtual segmentada, sem paginao Cada recurso gerenciado pelo sistema deve ter sua correspondente fila de espera:

    o Memria o Multiprogramao (com limite pr-fixado de programas simultaneamente ativos no

    sistema) o CPU (lista de processos prontos para serem executados) o Entrada e Sada: uma fila para cada dispositivo o Disco: Uma fila nica para o disco fsico o Arquivos: Uma fila para controlar o acesso a cada arquivo

    Descrio do job:

    o Instante de chegada, o Estrutura do job (rvore dos segmentos que o constituem) o Nmero total previsto de entradas, sadas e acessos a arquivos o Identificao dos arquivos a serem acessados pelo job o Tempo mximo de CPU

    Gerenciador de processos:

    o multiprogramao por time-slice o grau limitado (ajustvel) de multiprogramao; o fila cclica de processos prontos para a execuo na CPU (ready list); o fila de CPU em regime cclico (round robin)

    Gerenciador de informaes:

    o Sistema simples de arquivos linear nico, visvel por todos os programas do sistema. o Um esquema de proteo de acesso aos arquivos:

    Arquivos pblicos/particulares Identificao do programa possuidor do arquivo Nome e tamanho do arquivo

    Pode-se considerar, entre outras, as seguintes premissas de trabalho: Durante a execuo do programa, igualmente provvel que um segmento referencie qualquer dos

    segmentos de que depende, ou seja, que esto abaixo dele na rvore de dependncias.

    O intervalo entre dois pedidos sucessivos de entrada/sada e outro pode ser feito constante, e determinado a partir do nmero de entradas/sadas previstas para o job (representando um tempo mdio de execuo do programa entre duas operaes de entrada/sada)

    Como alternativa, na ocasio da chegada do job ao sistema, o tratamento desse evento pode consistir em estabelecer, aleatoriamente, com distribuio uniforme, as ocasies em que o programa far pedidos de entrada/sada ao sistema (isso mais realista, e esses momentos devero nesse caso ser registrados em uma lista para uso pelo simulador ao longo do processamento).

    Os instantes de ocorrncia de referncias aos segmentos de memria podem ser estimados

    determinando-se, no momento do recebimento da CPU, se no time-slice corrente haver ou no referncia a algum outro segmento. possvel tratar as referncias memria de forma anloga das entradas/sadas. Se estiver sendo executado um segmento Si que tem como segmentos possivelmente referenciados Sk ,,, Sm , ao receber a CPU, o processamento possvel ser:

    o Processamento interno em Si apenas, durante todo o time-slice. Neste caso, apenas

    controlar o transcurso do tempo de processamento do job.

    o Referncia a algum dos Sk ,,, Sm antes do trmino do time-slice. Neste caso, contabilizar a parcela j transcorrida do time-slice, e iniciar a execuo do segmento referenciado (caso esteja presente na memria, o programa no perde a CPU, mas prossegue no segmento referenciado, caso contrrio, inclui-se, no incio da lista de eventos, no momento corrente de simulao, um evento de referncia a um segmento que no est presente na memria correspondente a uma interrupo de falta de segmento)

    A modelagem da memria segmentada pode ser feita nos mesmos moldes da memria

    particionada, com parties de tamanho arbitrrio. No obrigatrio compactar a memria. Em caso de fragmentao, bloquear o aumento do nmero

    de processos ativos at que seja liberada memria suficiente. No entanto, se isso for considerado conveniente, h liberdade para incluir uma rotina de Garbage collection..

    A modelagem do sistema de arquivos poder ser feita aplicando-se rea em disco os mesmos

    algoritmos aplicados s parties de memria. No simulador final devero estar presentes, portanto, os seguintes elementos: Tabela de jobs, uma para todo o sistema. As linhas desta tabela contm informaes sobre os

    diversos programas em atividade:

    o quanto tempo de processamento falta para o programa terminar o lista dos pontos no processamento em que h requisies de entrada/sada o ponteiro para a rvore de segmentos que descreve a estrutura do programa o conjunto de arquivos a serem referenciados pelo programa

    Tabelas de parties livres da memria fsica e de parties livres do disco, com posio e

    comprimento. Tabela de parties ocupadas da memria (uma para cada programa), correspondente segment

    map table do programa tabela cujo contedo varia durante o processamento, em funo de quais segmentos esto presentes na memria fsica

    Tabela de parties ocupadas no disco (nica), correspondente ao conjunto de arquivos que

    formam o sistema de arquivos implementado. Cada linha desta tabela indica o nome, o possuidor, o tamanho e as caractersticas do arquivo a que se refere.

    Eventos independentes: chegada dos jobs (identificao, instante de chegada, recursos utilizados:

    tempo de CPU, nmero de operaes de entrada/sada, quantidade de memria ocupada pelos diversos segmentos).

  • PCS-2453 Sistemas Operacionais Aula 18 Prof. Joo Jos Neto Assunto: Gerenciamento de Informaes I conceitos bsicos

    Palavras-chave: Administrador de Informaes Arquivos Atributos de arquivos (ver lista abaixo) Arquivos seqenciais Arquivos de acesso aleatrio Arquivos de programas Arquivos de dados Arquivos de diretrio

    Arquivos do sistema Arquivos especiais de E/S e de blocagem Acesso por chaves simples Acesso por chaves mltiplas Sistema de Arquivos Diretrios VTOC - Volume Table of Contents Bancos de dados

    Bibliotecas Compartilhamento de informao Compartilhamento controlado Direito de acesso informao Estruturao de dados Gerenciamento de dados Informao Informao permanente

    Informao temporria Proteo de informao Controle de Acesso Lista de Controle de Acesso Matriz de Controle de Acesso Criptografia Registros de comprimento fixo Registros de comprimento varivel

    Alguns atributos de arquivos: acesso aleatrio ou seqencial arquivo ASCII ou binrio arquivo de sistema ou do usurio comprimento corrente do arquivo comprimento da chave de acesso

    comprimento do registro comprimento mximo permitido data e hora da criao data e hora da ltima alterao data e hora do ltimo acesso

    arquivo invisvel no diretrio localizao da chave de acesso necessidade ou no de backup password permisses de acesso

    proteo contra alterao read only temporrio ou permanente usurio corrente do arquivo usurio que criou o arquivo

    Questionrio 1. Que se entende por informao no contexto do presente estudo? 2. Qual o principal papel do administrador de informaes em um sistema

    operacional? Descreva macroscopicamente suas funes. 3. Quais as funes bsicas de um administrador de informao? 4. Considerando que a informao um recurso abstrato, sua administrao

    pelo sistema operacional difere da administrao dos recursos concretos, tais como memria e dispositivos de entrada/sada. Comente essa afirmao e apie seus comentrios com justificativas tcnicas.

    5. Em que aspectos o administrador de informaes se assemelha e em quais outros ele difere dos demais administradores de recursos do sistema operacional? Quais so as implicaes desses fatos?

    6. Que so arquivos? Que tipos de arquivos voc conhece? Quais so as caractersticas de cada um?

    7. Que so arquivos temporrios? Como e em que situaes so utilizados? 8. Descreva o uso dos arquivos destinados blocagem de entrada/sada. 9. Que um sistema de arquivos? Descreva sua estrutura e funcionamento. 10.Que so diretrios (VTOC)? Como costumam ser organizados? 11.Quais so as principais polticas implementadas pelos gerenciadores de

    informaes? Quais os objetivos de cada uma? Como so alcanados? 12.Como podem ser implementadas bibliotecas particulares e pblicas de

    arquivos, em um sistema de arquivos?

    13.Que sistema de gerenciamento de dados? Em que difere de um sistema de arquivos usual?

    14.Que um sistema de bancos de dados? Em que difere de um sistema de gerenciamento de dados ou de um sistema de arquivos?

    15.Enumere e descreva os passos efetuados pelo sistema operacional na execuo de comandos READ / WRITE de uma linguagem de alto nvel.

    16.Que um sistema hierrquico de arquivos? Esboce sua estrutura e descreva de modo geral o seu funcionamento.

    17.Descreva a arquitetura e os mdulos componentes de um sistema tpico de arquivos com estrutura de funcionamento hierrquica.

    18.Defina e escreva o funcionamento das operaes OPEN e CLOSE. 19.Como se costuma proceder para que seja reduzido o tempo de acesso

    (consulta) a diretrios muito grandes em um sistema operacional? 20.Esboce um algoritmo para a implementao da proteo de acesso aos

    arquivos, em um sistema de arquivos hierrquico. 21.Proteo de acesso a arquivos e proteo do sistema operacional contra

    entrada de usurios no-autorizados so servios que tm muito em comum. Sugira uma forma de implementao desse tipo de proteo que possa ser aplicada em ambos os casos. Exemplifique.

    22. Sugira uma forma de classificao de arquivos baseada na identificao do usurio que criou cada um deles.

  • PCS-2453 Sistemas Operacionais Aula 19 Prof. Joo Jos Neto

    Assunto: Sistemas de arquivos - aspectos da implementao

    Palavras-chave (em minsculas) e operadores (em maisculas):arquivo arquivos ASCII arquivos binrios arquivos de acesso aleatrio arquivos de dados arquivos de texto arquivos do usurio

    arquivos executveis arquivos fonte arquivos relocveis arquivos seqenciais rvore de nomes nomes dos arquivos APPEND

    CLOSE CREATE DELETE GET ATTRIBUTES SET ATTRIBUTES OPEN READ

    RENAME SEEK WRITE alocao contgua alocao em lista ligada arquivos compartilhados bit map de blocos

    blocos livres data block diretrios CP/M (precursor do DOS) diretrios MS-DOS diretrios UNIX i-nodes (index nodes) lista de blocos vazios

    lista ligada com ndice lista ligada de blocos livres MAP/UNMAP quotas de disco single, double, triple, ... indirect block segurana de acesso tamanho do bloco

    Questionrio1. Conceitue arquivos. Faa um levantamento dos vrios aspectos dos arquivos que so mais importantes,

    do ponto de vista do usurio e do sistema. 2. Compare, quanto estrutura e quanto utilizao, arquivos cuja organizao seja na forma de:

    (a) seqncias de bytes; (b) seqncias de registros; (c) rvore de registros, com chave de busca e ordenao

    3. Compare estruturalmente arquivos de diversos tipos: (a) arquivos do usurio; (b) diretrios; (c) arquivos especiais de entrada/sada, usados para simular terminais, impressoras, etc.; (d) arquivos especiais blocados, usados para modelar discos; (e) arquivos temporrios de rascunho; (f) arquivos do sistema

    4. Descreva a estrutura e a funo de alguns tipos mais utilizados de arquivos do usurio: (a) arquivos de dados binrios; (b) arquivos de texto ASCII; (c) arquivos de programas-fonte em linguagens de programao; (d) arquivos de programas-objeto relocveis; (e) arquivos de programas-objeto executveis; (f) texto de entrada para editorao de texto

    5. Descreva a funo dos seguintes operadores de arquivos, e projete a lgica das rotinas do sistema operacional que implementam o seu funcionamento:

    6. (a) CREATE; (b) DELETE; (c) OPEN; (d) CLOSE; (e) READ; (f) WRITE; (g) APPEND; (h) SEEK; (i) GET ATTRIBUTES; (j) SET ATTRIBUTES; (k) RENAME

    7. Esboce a lgica de gerenciamento dos nomes dos arquivos em um sistema de arquivos em que existe hierarquia similar utilizada em sistemas operacionais como o Windows ou o Linux.

    8. Sugira como implementar, em sistemas de arquivos como os do exerccio anterior, a excluso mtua entre os espaos de nomes dos arquivos pertencentes a diferentes usurios.

    9. Sugira uma estratgia para que um dado usurio, no sistema de arquivos em questo, possa tornar visvel, a outro usurio, um arquivo de sua propriedade.

    10. Rotinas pertencentes a bibliotecas relocveis costumam referenciar-se umas s outras. Proponha um esquema de organizao para o sistema de arquivos do sistema operacional, em que fique simples para o ligador (link-editor) localizar as rotinas relocveis que so do interesse de um dado programa, sem que se faa necessrio pesquisar todo o contedo dos arquivos que as contm.

    11. Proponha um esquema, similar ao do exerccio anterior, para a implementao de hipertextos, ou seja, arquivos de texto contendo links [apontadores] para informaes contidas em outra parte do mesmo arquivo, em outros arquivos presentes no sistema, e at mesmo em arquivos residentes em outras mquinas [neste ltimo caso, a referncia a eles costuma ser feita acrescentando-se, referncia usual, uma identificao do computador hospedeiro].

    12. Descreva o mecanismo de alocao contgua de rea em disco para arquivos. Quais so suas vantagens e desvantagens? Esboce as estruturas de dados envolvidas em sua modelagem. Compare-o com o mecanismo correspondente utilizado na administrao de memria.

    13. Descreva o mecanismo de alocao de rea em disco para arquivos, atravs do uso de uma lista ligada de blocos para cada arquivo. Esboce as estruturas de dados envolvidas. Compare-o com o mecanismo correspondente utilizado em administrao de memria paginada.

    14. Descreva formas de controlar a ocupao dos blocos do disco, por parte dos arquivos. 15. Explique o funcionamento dos bit maps das reas em disco, e descreva o algoritmo de controle de

    alocao correspondente usando essa estrutura. 16. Repita a questo anterior aplicando-a a outras tcnicas de controle de alocao, tais como: (a) lista de

    blocos vazios, (b) listas ligadas de blocos livres e (c) listas ligadas com ndice. 17. Que so i-nodes em sistemas baseados em Unix? De que maneira so utilizados para descrever a

    estrutura dos arquivos e mapear os blocos dos arquivos em seus endereos fsicos no disco?

    18. Pesquise, na Internet e na literatura da rea disponvel na biblioteca (no deixe, em funo da facilidade proporcionada pela internet, de consultar bons livros!), alguns detalhes sobre o formato dos diretrios em alguns dos mais utilizados sistemas operacionais, especialmente os populares Unix (Linux), MS-DOS e MS-Windows.

    19. Conceitue compartilhamento de arquivos entre dois ou mais usurios. Como funciona? De que forma implementado esse recurso?

    20. No sistema CP/M, precursor do MS-DOS, h um s diretrio para todos os arquivos. Para cada arquivo, tem-se um byte para identificar o usurio a que pertence o arquivo, oito para o nome do arquivo, trs para a extenso, um para indicar o nmero de blocos e dezesseis para indicar os nmeros dos blocos que compem o arquivo. No MS-DOS, diretrios so hierrquicos, podendo pois conter diretrios. Para cada arquivo, tem-se oito bytes para o nome, trs para extenso, um para atributos, dois para data, dois para hora da criao do arquivo, dois para o nmero do primeiro bloco, e quatro para o tamanho do arquivo. No Unix, tem-se tambm uma estrutura hierrquica. Cada arquivo tem um nome com quatorze bytes e dois bytes identificam o nmero do i-node associado ao arquivo. Cada i-node tem um endereo fixo no disco, e contm os atributos do arquivo ou diretrio e um conjunto de nmeros dos blocos do disco que compem o arquivo ou diretrio. A partir desses dados, e de outras informaes que voc puder coletar, faa uma avaliao comparativa da estrutura e do funcionamento dos diretrios desses trs sistemas de arquivos.

    21. Pesquise o mecanismo usado para controlar o uso de arquivos compartilhados nos trs sistemas estudados no exerccio anterior.

    22. Identifique os principais elementos causadores de problemas de segurana no acesso aos arquivos em um sistema operacional.

    Gerenciamento de Informaes - Uma implementao hierrquica (Conforme Madnick & Donovan, Operating Systems, McGraw-Hill, 1974)

    1. Que Symbolic File System? Como funciona? Quais as estruturas de dados em que se baseia? 2. Como efetuada a remoo de um arquivo em um sistema que permite compartilhamento, sinnimos e

    repetio de nomes de arquivos? 3. Quais as vantagens e as implicaes do compartilhamento de arquivos? 4. Quais as atribuies do Access Control Verification Module? Como funciona? 5. Quais as tcnicas que voc conhece para controlar o acesso aos arquivos? Como operam? Quais as

    vantagens e desvantagens de cada uma? 6. Quais os tipos de acesso aos registros que os sistemas operacionais oferecem para o usurio de

    arquivos? 7. Que so Overflow Areas? Onde se aplicam? Quais as vantagens e desvantagens de sua utilizao? 8. Quais as funes do Physical File System? Como so implementadas? Quais as tcnicas utilizadas para

    isso? 9. Que File Buffering? Quais as suas vantagens e desvantagens? Quais as tcnicas empregadas em sua

    aplicao? 10. O que , e onde se aplica a configurao dinmica dos dispositivos de memria de massa de acesso

    direto? Quais as suas vantagens e desvantagens? 11. Que so File Maps? Onde se empregam? Qual a sua aplicao? 12. Quais as atribuies do Allocation Strategy Module? Quais so as tcnicas que utiliza? 13. Qual o papel do Device Strategy Module na administrao de informaes? 14. Proponha outro tipo de arqu