mc504 sistemas operacionais - instituto de computação...sistemas operacionais. confirmar que, a...

84
MC504 Sistemas Operacionais Arthur João Catto, PhD 2º semestre de 2012

Upload: others

Post on 01-Feb-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

  • MC504 Sistemas OperacionaisArthur João Catto, PhD

    2º semestre de 2012

  • Man

    UFSCar

    CTI

    Unicamp

    Eldorado

    EESC

    [email protected]

  • Objetivos

    Conhecer conceitos, estruturas e mecanismos de sistemas operacionais.

    Confirmar que, a despeito da velocidade com que o hardware evolui, certos conceitos fundamentais permanecem constantes.

    Assimilar esses fundamentos e sua relação com o desenvolvimento de sistemas operacionais modernos.

    Objetivos Metas Estrutura Partes Módulos| | | |

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • Metas

    Estudar o que são sistemas operacionais, o que eles fazem e como são projetados e construídos.

    Estudar como se estruturam atividades e como elas são implementadas em sistemas com um ou mais processadores.

    Estudar o gerenciamento da memória principal durante a execução de uma atividade.

    Estudar como são organizados e manipulados o sistema de arquivos, a memória de massa e os dispositivos de E/S.

    Estudar mecanismos adequados para a proteção e a segurança de sistemas computacionais.

    Objetivos Metas Estrutura Partes Módulos| | | |

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • Estrutura

    Sistemas Operacionais

    Teoria

    Estudar conceitos fundamentais de sistemas

    operacionais

    Prática

    Colocar conceitos em prática num sistema com

    funcionalidade real

    Objetivos Metas Estrutura Partes Módulos| | | |

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • ConteúdoParte Aulas

    Introduction 1

    Background 2

    Processes 6

    Concurrency 4

    Memory 6

    Scheduling 4

    Input/Output and Files 4

    Security 4

    Total de aulas 31

    Objetivos Metas Estrutura Partes Módulos| | | |

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • Conteúdo detalhadoSeção Módulo Aulas

    Introduction 00 Agenda and Dynamics 1

    Background 01 Computer System Overview 1

    02 Operating System Overview 1

    Processes 03 Process Description and Control 2

    04 Threads 4

    Concurrency 05 Mutual Exclusion and Synchronization 2

    06 Deadlock and Starvation 2

    Total de aulas 13

    Objetivos Metas Estrutura Partes Módulos| | | |

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • Conteúdo detalhadoSeção Módulo Aulas

    Memory 07 Memory management 1

    08 Virtual memory 5

    Scheduling 09 Uniprocessor scheduling 3

    10 Multiprocessor and real-time scheduling 1

    Input/Output and Files 11 I/O management and disk scheduling 2

    12 File management 2

    Security 13 Computer security risks 2

    14 Computer security techniques 2

    Total de aulas 18

  • TEORIA

  • Background

    01 Computer System Overview

    • An overview of computer architecture and organization focusing on topics related to operating system design.

    Computer System Overview Operating System Overview|

    Background Processes Concurrency Memory Scheduling I/O and Files Security| | | | | |

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • 1. The four main structural elements of a computer system are:

    A. Processor, Main Memory, I/O Modules and System BusB. Processor, I/O Modules, System Bus and Secondary

    Memory

    C. Processor, Registers, Main Memory and System BusD. Processor, Registers, I/O Modules and Main Memory

  • 2. __________ is more efficient than interrupt-driven or programmed I/O for a multiple-word I/O transfer.

    A. Spatial localityB. Direct memory accessC. Stack accessD. Temporal locality

  • Background

    02 Operating System Overview

    • A study of the services that an operating system provides to users, processes and other systems.

    • A discussion of how operating systems are structured and implemented.

    Computer System Overview Operating System Overview|

    Background Processes Concurrency Memory Scheduling I/O and Files Security| | | | | |

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • 3. The main purposes of an operating system include:

    A. To provide an environment for a computer user to execute programs on computer hardware in a convenient and efficient manner.

    B. To allocate the separate resources of the computer as needed to perform a given task.

    C. To supervise the execution of user programs to prevent errors and improper use of the computer

    D. To manage and control the operation of I/O devices.

  • 4. __________ was designed to keep the processor and I/O devices, including storage devices, simultaneously busy to achieve maximum efficiency.

    A. MultiprocessingB. MultiprogrammingC. MultithreadingD. Parallel processing

  • Processes

    03 Process Description and Control

    • The process concept and operation includingo Creation

    o Scheduling

    o Communication and

    o Termination.

    Process Description and Control Threads|

    Background Processes Concurrency Memory Scheduling I/O and Files Security| | | | | |

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • 5. A process is best described as …

    A. An algorithmB. A methodC. A programD. A unit of activity

  • 6. The number of recognized states for a process is a characteristic of the …

    A. Processor (CPU).B. Operating system.C. Algorithm.D. Application.

  • Processes

    04 Threads

    • The thread concept.

    • Multithreaded computer systems and programming.

    Process Description and Control Threads|

    Background Processes Concurrency Memory Scheduling I/O and Files Security| | | | | |

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • 7. In a multithreaded environment, a ________ is defined as the unit of resource allocation and a unit of protection.

    A. ProcessB. ThreadC. TraceD. String

  • 8. __________ refers to the ability of an OS to support multiple, concurrent paths of execution within a single process.

    A. MultiprocessingB. MultiprogrammingC. MultithreadingD. Parallel processing

  • Concurrency

    05 Mutual Exclusion and Synchronization

    • The multiprogramming concept, scheduling algorithms and evaluation criteria.

    • Shared data and mutual exclusion.

    • Solving the critical-section problem.

    • The concept of an atomic transaction and mechanisms to ensure atomicity.

    Mutual Exclusion and Synchronization Deadlock and Starvation|

    Background Processes Concurrency Memory Scheduling I/O and Files Security| | | | | |

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • 9. The management of multiple processes within a uniprocessor system is called __________ .

    A. MultiprocessingB. MultiprogrammingC. MultithreadingD. Distributed processing

  • 10. _________ occurs when multiple processes or threads read and write data items so that the final result depends on the order of execution of instructions in the multiple processes or threads.

    A. A race conditionB. Mutual exclusionC. A deadlockD. Concurrency

  • Concurrency

    06 Deadlock and Starvation

    • The concept of deadlock.

    • Methods for preventing or avoiding deadlocks.

    • Methods for detecting deadlocks and recovering from them.

    Mutual Exclusion and Synchronization Deadlock and Starvation|

    Background Processes Concurrency Memory Scheduling I/O and Files Security| | | | | |

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • 11. A situation in which a process, which is able to proceed, is overlooked indefinitely by the scheduler is called __________ .

    A. Mutual exclusionB. StarvationC. DeadlockD. Livelock

  • 12. For a deadlock to occur it is necessary and sufficient the presence of ...

    A. Mutual exclusionB. Hold and waitC. No preemptionD. Circular wait

  • Memory

    07 Main memory

    • Ways of organizing memory hardware.

    • Techniques for main memory management , including pure paging, pure segmentation and segmentation with paging.

    Main Memory Virtual Memory|

    Background Processes Concurrency Memory Scheduling I/O and Files Security| | | | | |

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • 13. ___________ is expressed as an offset from some known point, usually a value in a processor register.

    A. A logical addressB. A relative addressC. An absolute addressD. A physical address

  • 14. The division of main memory into a number of static partitions at system generation time is called _________ .

    A. Fixed partitioningB. Simple pagingC. Simple segmentationD. Virtual memory

  • Memory

    08 Virtual memory

    • Benefits of a virtual memory system.

    • Demand paging, page replacement algorithms, allocation of page frames.

    • The working set model.

  • 15. Main memory is frequently organized as fixed-length blocks called …

    A. PagesB. FramesC. SegmentsD. Sectors

  • 16. Virtual memory enables ...

    A. The execution of processes which are larger than all of main memory.

    B. The execution of processes which require resources that are unavailable to the system.

    C. Simultaneous access to main memory by several processes.

    D. Keeping more processes in main memory at the same time.

  • Scheduling

    09 Uniprocessor Scheduling

    • Long, medium and short-term scheduling.

    • Scheduling algorithms.

    Uniprocessor Scheduling Multiprocessor and Real-Time Scheduling|

    Background Processes Concurrency Memory Scheduling I/O and Files Security| | | | | |

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • 17. The decision as to which available process will be executed by the processor is called …

    A. Preemptive schedulingB. Long-term schedulingC. Medium-term schedulingD. Short-term scheduling

  • 18. Typically, the swapping-in function for processes is based on the need to manage __________ .

    A. The degree of multiprogrammingB. Process prioritiesC. I/O requirementsD. The virtual memory

  • Scheduling

    10 Multiprocessor and Real-Time Scheduling

    • The concept of thread granularity.

    • Key design issues and approaches in multiprocessor thread scheduling.

    • Real-time scheduling requirements.

    Uniprocessor Scheduling Multiprocessor and Real-Time Scheduling|

    Background Processes Concurrency Memory Scheduling I/O and Files Security| | | | | |

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • 19. The multiprocessor system which consists of a set of processors that share a common main memory and are under the integrated control of an operating system is a _________.

    A. ClusterB. Tightly coupled multiprocessorC. Loosely coupled multiprocessorD. Functionally specialized multiprocessor

  • 20. __________ is one that must meet its deadline, otherwise it will cause unacceptable damage or a fatal error to the system.

    A. A periodic taskB. An aperiodic taskC. A hard real-time taskD. A soft real-time task

  • Input/Output and Files

    11 I/O Management and Disk Scheduling

    • Categories of I/O devices, organization of the I/O function and key issues in I/O support.

    • Performance implications of buffering alternatives.

    • Performance issues of disk access and the concept of RAID.

    I/O Management and Disk Scheduling File Management|

    Background Processes Concurrency Memory Scheduling I/O and Files Security| | | | | |

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • 21. The simplest type of I/O support that the operating system can provide is _________ .

    A. Overflow bufferingB. Single bufferingC. Double bufferingD. Circular buffering

  • 22. The seven levels of the RAID (redundant array of independent disks) scheme share some characteristics, among which …

    A. Their physical disks are viewed by the OS as a single logical drive.

    B. They include redundancy to improve performance or provide data protection.

    C. Data are distributed across the physical drives according to a scheme known as striping.

    D. They use some form of parity calculation to introduce redundancy.

  • Input/Output and Files

    12 File Management

    • Basic concepts of files and file systems.

    • Techniques for file organization and access.

    • File sharing and the concept of record blocking.

    • Issues in secondary storage management.

    I/O Management and Disk Scheduling File Management|

    Background Processes Concurrency Memory Scheduling I/O and Files Security| | | | | |

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • 23. A _________ is a collection of related data that can be treated as a unit by some application program.

    A. FieldB. RecordC. FileD. Database

  • 24. _________ are used mostly in applications where timeliness of information is critical and where data are rarely processed exhaustively.

    A. Sequential filesB. Indexed filesC. Indexed-sequential filesD. Hashed files

  • Security

    13 Computer Security Threats

    • Computer security concepts.

    • Intruder behavior patterns and intrusion techniques.

    • Malicious software and related threats.

    Security Threats Security Techniques|

    Background Processes Concurrency Memory Scheduling I/O and Files Security| | | | | |

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • 25. A loss of _________ is the disruption of access to, or use of, information or an information system.

    A. IntegrityB. ConfidentialityC. AvailabilityD. Authenticity

  • 26. A _________ is a useful, or apparently useful, program or command procedure containing hidden code that, when invoked, performs some unwanted or harmful function.

    A. VirusB. WormC. SpywareD. Trojan horse

  • Security

    14 Computer Security Techniques

    • User authentication and access control.

    • Intrusion detection and malware defense.

    • Buffer overflow attacks.

    Security Threats Security Techniques|

    Background Processes Concurrency Memory Scheduling I/O and Files Security| | | | | |

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • 27. __________ authentication is based on pattern recognition.

    A. Token-basedB. BiometricsC. PasswordD. Salt value

  • 28. About the authentication protocols used with smart tokens we can say that …

    A. In the case of a static protocol the user authenticates himself or herself to the token and the token authenticates the user to the computer.

    B. In the case of a dynamic protocol the user authenticates himself or herself to the token and and the token authenticates the user to the computer.

    C. In the case of a dynamic protocol the token generates a unique password periodically.

    D. In the case of a challenge-response protocol the token generates a unique password periodically.

  • PRÁTICA

  • Livro-texto

    OSP 2

    • Kifer & Smolka, Introduction to OperatingSystem Design and Implementation – The OSP 2 Approach.

    http://www.springer.com/computer/programming/book/978-1-84628-842-5

    Livro-texto Projetos Organização Desenvolvimento Comportamento Entrega| | | | |

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • Laboratórios

    Projeto Início Término

    1 Tasks 06/08 26/08

    2 Threads 27/08 16/09

    3 Resources 17/09 07/10

    4 Memory 08/10 11/11

    5 Devices 12/11 02/12

    Livro-texto Projetos Organização Desenvolvimento Comportamento Entrega| | | | |

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • Organização

    Os projetos poderão ser realizados em duplas.

    A avaliação será complementada por testes individuais ao final de cada laboratório.

    • Num mesmo projeto, os integrantes da dupla poderão ter notas diferentes.

    Livro-texto Projetos Organização Desenvolvimento Comportamento Entrega| | | | |

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • Desenvolvimento As duplas deverão trabalhar independentemente. • Não confundir independência com isolamento.

    É possível interagir com outras duplas para:• Discutir tópicos teóricos, conceitos, técnicas e métodos.• Discutir detalhes e uso do ambiente de desenvolvimento.• Discutir o que um projeto pede, mas não como executá-lo.

    Livro-texto Projetos Organização Desenvolvimento Comportamento Entrega| | | | |

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • Comportamento

    Conclua e submeta seu projeto, antes de olhar a solução de outra dupla (seja para ajudá-la, seja para comparar as abordagens adotadas).

    Na dúvida, use o seu bom senso.

    • Todo material submetido para avaliação deverá ser produto de seu próprio esforço.

    • Toda fraude ou tentativa de fraude identificada será severamente punida.

    Livro-texto Projetos Organização Desenvolvimento Comportamento Entrega| | | | |

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • Submissão dos resultados

    Os projetos poderão ser desenvolvidos remotamente, mas só poderão ser entregues usando o sistema de submissão automática(v. Manual de OSP 2).

    • Lembre-se de que as discussões com o professor e o monitor no laboratório são um importante instrumento de avaliação.

    Livro-texto Projetos Organização Desenvolvimento Comportamento Entrega| | | | |

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • AVALIAÇÃO

  • Avaliação Teórica

    Provas Data

    𝑷𝟏 10/09 (segunda-feira) às 21h

    𝑷𝟐 17/10 (quarta-feira) às 19h

    𝑷𝟑 21/11 (quarta-feira) às 19h

    𝑬𝒙𝒂𝒎𝒆 10/12 (segunda-feira) às 21h

    Agenda Cálculo da Nota Questões de Resposta Múltipla| |

    Teoria Prática Cálculo da Média| |

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • Avaliação Teórica

    Serão realizadas 3 provas teóricas compostas por questões de múltipla resposta.

    As provas terão notas 𝑃𝑖 entre 0,0 e 10,0

    Nenhuma nota será substituída.

    As provas terão pesos iguais ∴ 𝑃 = 𝑃𝑖

    3

    As notas serão arredondadas para cima na primeira casa decimal.

    Agenda Cálculo da Nota Questões de Resposta Múltipla| |

    Teoria Prática Cálculo da Média| |

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • Correção de questões de resposta múltipla

    Suponha que a questão tenha 𝑐 alternativas corretas.

    Se você marcar 𝑘 alternativas 𝑘 ≤ 𝑐 e, dentre elas, 𝑥

    estiverem corretas, a nota será 𝑥

    𝑐∙ 100%.

    Se você marcar 𝑘 alternativas 𝑘 > 𝑐 será adotada como resposta a pior combinação de 𝑐 alternativas.

    • Sua nota será 𝑦

    𝑐∙ 100%, onde 𝑦 é o número de alternativas

    corretas na combinação adotada.

    Agenda Cálculo da Nota Questões de Resposta Múltipla| |

    Teoria Prática Cálculo da Média| |

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • Questão com quatro alternativas, sendo 𝐴 e 𝐵 corretas.

    Resposta Valor Razão

    𝐴𝐵 100% Resposta correta

    𝐴 50% Uma de duas alternativas corretas

    𝐴𝐶 50% Uma de duas alternativas corretas

    𝐶 0% Nenhuma alternativa correta

    𝐴𝐶𝐷 0% Usa-se a piorcombinaçãode duasalternativas. Nestecaso, 𝐶𝐷.

    𝐴𝐵𝐶𝐷 0% Usa-se a piorcombinaçãode duasalternativas. Nestecaso, 𝐶𝐷.

    Exemplo de correção de questão de resposta múltipla

  • Avaliação Prática

    Cada projeto de laboratório receberá uma nota 𝐿𝑖 entre 0,0 e 10,0 sendo:

    • 2 pontos para a implementação.

    • 2 pontos para boas práticas de programação.

    • 6 pontos para entendimento da solução e interpretação dos resultados.

    Teoria Prática Cálculo da Média| |

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • Avaliação Prática

    Critérios para avaliação da implementação

    • Coerência entre a teoria e a prática.

    • Correção dos algoritmos implementados.

    • Comparação entre os resultados obtidos e aqueles fornecidos pelo simulador padrão.

  • Avaliação Prática

    Critérios para avaliação das práticas de programação

    • Comentários, código claro, conciso e estruturado, variáveis com bons nomes, etc.

    • Documentação dos aspectos mais relevantes da implementação.

  • Avaliação Prática

    Critérios para avaliação do entendimento da solução e interpretação de resultados

    • Evidência do entendimento dos conceitos envolvidos.

    • Interpretação dos resultados produzidos pelo módulo quando submetido a diversos conjuntos de parâmetros.

    Para esta avaliação, haverá um teste ao final de cada projeto.

  • Avaliação Prática

    Nenhuma nota será substituída.

    Os laboratórios terão pesos 𝑊𝑖conforme a tabela ao lado.

    Cálculo da média dos laboratórios

    • 𝐿 = 𝑊𝑖∙𝐿𝑖 𝑊𝑖

    Laboratório 𝑾𝒊

    1 Tasks 2

    2 Threads 2

    3 Resources 3

    4 Memory 4

    5 Devices 3

  • Avaliação Final Cálculo da nota do semestre•

    Cálculo da média final

    • Se 𝑁 ≥ 5 ⇒ 𝑀 = 𝑁

    • Se 𝑁 < 5 ⇒ 𝑀 =𝑁+𝐸

    2onde 𝐸 é a nota do exame

    Se 𝑀 ≥ 5, você passou!

    MC504 MC514

    𝑁 = 𝑃 mín 𝑃, 𝐿 < 4 ⇒ 𝑁 = mín 𝑃, 𝐿

    mín 𝑃, 𝐿 ≥ 4 ⇒ 𝑁 =5𝑃 + 3𝐿

    8

    Teoria Prática Cálculo da Média| |

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • BIBLIOGRAFIA

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • Livro-texto O conteúdo da disciplina é clássico, o que dispensa um livro-texto

    específico.

    Alguns dos melhores textos hoje disponíveis estão indicados nos próximos slides.

    Esses e vários outros títulos encontram-se também nas bibliotecas da Unicamp.

    Além dos sites de apoio dos livros indicados, há vários links na rede para bons tutoriais e textos de referência gratuitos.• www.acm.org• www.computer.org

    http://www.acm.org/http://www.computer.org/

  • Bibliografia recomendada

  • Bibliografia recomendada

  • Bibliografia recomendada

  • Bibliografia recomendada

  • OBSERVAÇÕES GERAIS

    Apresentação Estrutura Teoria Prática Avaliação Bibliografia Observações| | | | | |

  • Ensino Aberto Na página da disciplina no Ensino Aberto você encontrará• Todas as apresentações usadas em aula• Cópias dos principais artigos citados em classe• Os resultados das avaliações

    Preencha seu perfil. • Não deixe de incluir uma foto.

  • Correio Eletrônico

    Ao usar e-mail lembre-se de

    • Começar o campo Assunto com [MC514].

    • Sempre marcar “Enviar cópia para e-mail externo”.

    • Só usar e-mail para assuntos rápidos.

    • Resolver dúvidas maiores em classe.

    • Não usar e-mail para depurar seus projetos.

    • Não esperar respostas imediatas.

    • Não tentar resolver questões de última hora.

  • Coisas para não fazer Copiar, no todo ou em parte, a solução de um colega, com ou sem

    seu conhecimento ou autorização.

    Copiar, no todo ou em parte, uma solução pré-existente, com ou sem autorização.

    Fornecer, no todo ou em parte, uma solução para que outro colega apresente como sua.

    Maquiar uma solução para que ela pareça funcionar.

    Utilizar recursos vedados pelo enunciado.

    Utilizar qualquer outro recurso com o objetivo de camuflar os defeitos de uma solução incorreta.

  • Coisas para não esquecer Seja caprichoso• Questões ilegíveis poderão não ser corrigidas.

    Seja previdente• Não deixe a matéria se acumular.

    Seja honesto• Toda tentativa de fraude identificada acarreta nota zero para

    todos os envolvidos.

    • O fraudador só engana mesmo a si próprio.

  • Observações Gerais A parte teórica será apoiada por bibliografia atualizada e

    complementada por intenso trabalho prático.

    A parte teórica deverá exigir pelo menos duas a três horas de estudo adicionais, para cada hora de aula, desde o início.

    A parte teórica será beneficiada por uma participação ativa nas aulas. • Isto permite que você identifique suas dificuldades e

    as elimine antes que se tornem problemas de fato.