Fundamentos de Sistemas Operacionais



Documentos relacionados
Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais

Processamento de Dados

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

Arquitetura de Computadores. Sistemas Operacionais IV

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Everson Scherrer Borges João Paulo de Brito Gonçalves

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais

Sistemas Distribuídos

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Sistema Operacional. Prof. Leonardo Barreto Campos 1

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Sistemas Operacionais

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

Organização de Computadores 1

Resumo até aqui. Gerenciamento Proteção Compartilhamento. Infra-estrutura de Software

Sistemas Operacionais

Sistemas Operacionais

UFRJ IM - DCC. Sistemas Operacionais I. Unidade I Introdução. 11/02/2014 Prof. Valeria M. Bastos

Introdução aos Sistemas

Introdução aos Sistemas Operacionais. Computador = hardware + software. Como é formado o meu computador? E como estes componentes se comunicam?

Sistemas Operacionais Introdução. Professora: Michelle Nery

Sistemas Operacionais

Sistemas Operacionais

A Evolução dos Sistemas Operacionais

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

UFRJ IM - DCC. Sistemas Operacionais I

Sistemas Operacionais

Introdução a Computação

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Prof. André Dutton

Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto

7 Processos. 7.1 Introdução

SISTEMAS OPERACIONAIS

Desenvolvimento de um Simulador de Gerenciamento de Memória

Virtualização Gerencia de Redes Redes de Computadores II

Resumo. Prof. Alejandro - Introdução à Sistemas Operacionais Resumo Informativo, complemente o material assistindo as Aulas 19/08/2015 1

Arquitetura e Organização de Computadores

Introdução aos Sistemas Operacionais

Sistemas Operacionais

SISTEMAS OPERACIONAIS. Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN

Sistemas Operacionais

Sistemas Operacionais

SISTEMAS OPERACIONAIS. George Gomes Cabral

Gerenciamento de Memória

CURSO BÁSICO DE INFORMÁTICA

Prof.: Roberto Franciscatto. Capítulo 1 Introdução

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

Sistema Operacional Correção - Exercício de Revisão

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

ESTUDO DE CASO WINDOWS VISTA

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 04 - Concorrência. Cursos de Computação

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Infra-Estrutura de Software. Introdução. (cont.)

Introdução a Computação

ADMINISTRAÇÃO DE SISTEMA OPERACIONAL DE REDE (AULA 1)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Sistemas de Lotes (2) Sistemas de Lotes (3) Layout da MP em Sistemas de Lotes. Minimizar o tempo de resposta

Sistemas Operacionais

Desculpe, mas este serviço (jogo) encontra se em manutenção.

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

Introdução aos Sistemas Operativos

Entendendo como funciona o NAT

Introdução à Computação: Sistemas Operacionais II

Prof. Esp. Lucas Cruz

4 Estrutura do Sistema Operacional Kernel

AULA 5 Sistemas Operacionais

CONHEÇA MELHOR SEU COMPUTADOR

Sistemas Operacionais

Relatorio do trabalho pratico 2

Sistemas Operacionais. Prof. André Y. Kusumoto

Fundamentos do uso de tecnologia da informação F U P A C V R B P R O F. C H R I S T I E N L. R A C H I D

Processos e Threads (partes I e II)

Introdução aos Computadores

Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Sistemas Operacionais. INTRODUÇÃO Prof. Rafael Alberto Vital Pinto FACSUL/CESUR

Fundamentos de Sistemas Computacionais Introdução

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron

Introdução à Computação: Sistemas de Computação

Aula 02 Conceitos básicos elipse. INFORMÁTICA INDUSTRIAL II ENG1023 Profª. Letícia Chaves Fonseca

Fundamentos de Sistemas Operacionais

Classificação de SO (Sistemas Operacionais) Técnico de Informática 2º. Módulo Profa. Madalena Pereira da Silva

Visão Geral de Sistemas Operacionais

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO

Noções básicas de Informática: Software

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Arquitetura de Computadores para. Sistemas Operacionais. Sistemas Operacionais. Sumário

IW10. Rev.: 02. Especificações Técnicas

Prof. José Maurício S. Pinheiro UniFOA

RODRIGUES JARDIM,MIRIAN BERGMANN DE LIMA, TAMIRES RODRIGUES FERREIRA

Sistemas Operacionais

GESTÃO DE SISTEMAS OPERACIONAIS II

Disciplina: Introdução à Informática Profª Érica Barcelos

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

Informática, Internet e multimídia

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

AULA 13 - Gerência de Memória

SISTEMAS OPERACIONAIS 2007

Sistemas Operacionais

Transcrição:

Fundamentos de Sistemas Operacionais Professor: João Fábio de Oliveira jfabio@amprnet.org.br (41) 9911-3030 Objetivo: Apresentar o que são os Sistemas Operacionais, seu funcionamento, o que eles fazem, como o seu desempenho pode ser avaliado e como eles são comparáveis entre si. Considerações: a) 4 Provas Bimestrais e 2 Trabalhos b) As aulas serão teóricas/expositivas, seguindo a bibliografia sugerida.

Parte I Teoria dos Sistemas Operacionais Visão Geral Componente de Software Componente de Hardware Sistemas Operacionais

O que é um Sistema Operacional? Interface de Comandos do Usuário Gerenciador da Unidade de Processamento Gerenciador de Memória Gerenciador de Dispositivos Gerenciador de Arquivos

Software de Sistemas Operacionais Componentes em todos os SO: Gerenciador de Memória, Gerenciador de Unidade de Processamento, Gerenciador de Dispositivos e Gerenciador de Arquivos A Interface de Comandos do Usuário é específico de cada SO, uns mais amigáveis outros nem tanto. Tarefa básica de cada componente: Monitorar continuamente seus recursos Fazer cumprir as regras qye determinam quem recebe o quê, quando e quanto Alocar o recurso quando for apropriado Desalocar o recurso (ou seja, anular a alocação) quando for apropriado

Software de Sistemas Operacionais Gerenciador da Unidade de Processamento (CPU) Gerenciador de Dispositivos (teclado, impressora, unidade de disco, modem, monitor, etc) Gerenciador de Memória (memória principal RAM) Gerenciador de Arquivos (arquivos de programa, arquivos de dados, compiladores, etc) Os sistemas em rede possuem um Gerenciador de Rede que assume a responsabilidade pelas tarefas relacionadas a rede, como: comunicações, protocolos, monitoramentos, etc.

Componentes de Hardware O Hardware é um item essencial para avaliar o SO: CPU, Memória, Dispositivos de E/S Até 1975, mainframes e minicomputadores eram classificados por memória e preço. Após, surgiram os supercomputadores, que atualmente rodam aplicações críticas, e também os microcomputadores, direcionando ao mercado pequeno e doméstico. Tipos de Sistemas Operacionais Sistemas em Lotes (Batch): conjunto de comandos repassados seqüencialmente através de arquivos. Sistemas Interativos: possui troca de informações com o usuário durante a execução dos comandos. Sistemas em Tempo Real: deve produzir respostas imediatas para o usuário. Usado em missões críticas, como aplicações médicas, etc. Sistemas Híbridos: uma composição dos sistemas em lote e interativos. A maioria dos sistemas atuais são híbridos.

Um Pouco de História... Anos 40: primeira geração, SO operacionais rudimentares, sem estrutura. Anos 50: segunda geração, SO começam a ter estrutura de reaproveitamento, foco no mercado, nasce o Job Control Language (JCL). Anos 60: terceira geração, evolução das CPUs e introdução do conceito de multiprogramação. Anos 70: CPUs cada vez mais rápidas em relação aos demais dispositivos, introdução da Memória Virtual para ampliar recursos do SO.

Um Pouco de História... Anos 80: introdução do firmware, que incorpora parte dos comandos da máquina, aliviando a carga dos SO e deixando-os otimizados. Além disto, a indústria passa a trabalhar com multiprocessamento (vários processadores), um grande salto na performance das máquinas. Anos 90 e atualidade: os SO atuais possuem amplos recursos e estrutura para tratarem com robustez e eficiências as necessidades de aplicações massivas, seja tratamentos de vídeo, internet, voz, entre outrso. Porém, há de se considerar que a evolução do hardware é consideravelmente rápido, oferecendo cada vez mais recursos para os SO modernos.

Gerenciamento de Memória Os Primeiros Sistemas O gerenciamento da memória principal é um processo crítico. O desempenho como um todo depende do VOLUME de memória e dos processos de OTIMIZAÇÃO durante as tarefas. Alocações (Otimização): Sistemas de Usuário Único Partições Fixas Partições Dinâmicas Partições Dinâmicas Realocáveis

Gerenciamento de Memória Sistemas de Usuário Único A alocação de memória é total para o programa, ele tinha de ser carregado completamente na memória para ser executado. Havia problema sérios de limitações e não aceitava multiprogramação.

Gerenciamento de Memória Partições Fixas É configurado várias partições da memória, com tamanho fixo, onde cada tarefa poderia ser executada de forma independente. O tamanho era fixado, não havia flexibilidade quanto ao tamanho dos programas, se maior que as partições, não eram executados. (wait) Tarefas: T1 30K T2 50K T3 30K T4 25K Partição 1 Partição 2 Partição 3 Partição 4 Estado Original 100K 25K 25K 50K Memória Principal Depois de Receber as Tarefas Tarefa 1-30K Tarefa 4-25K Tarefa 2-50K Memória Principal

Gerenciamento de Memória Partições Dinâmicas A memória ainda é tratada em blocos contíguos, porém as alocações seguem o critério de primeiro a chegar, primeiro a ser atendido, desde que tenha segmentos livres de memória. Um problema típico criado é o da fragmentação, que neste modelo não é resolvido, mesmo havendo partes livres de memória, que somados, poderiam atender uma tarefa.

Gerenciamento de Memória Partições Dinâmicas Passo1: Alocação Inicial Tarefas: T1 10K T2 15K T3 20K T4 20K SO T1-10K T2-15K T3-20K T4-50K 0K 10K 20K 35K 55K 105K Terminados T1 e T4 Passo2: Libera Espaço SO vago-10k T2-15K T3-20K Vago-50K 0K 10K 20K 35K 55K 105K Surgem T5 5K T6 30K Passo3: Aloca T5 e T6 SO T5-5K T2-15K T3-20K T6-30K Vago-20K 0K 10K 20K 35K 55K 85K 105K Terminado T3 Passo4: Libera Espaço SO T5-5K T2-15K Vago-20K T6-30K Vago-20K 0K 10K 20K 35K 55K 85K 105K Surgem T7 10K T8 30K SO T5-5K T2-15K T7-10K 10K T6-30K 20K ESPERA Mas não há 30K livre no total? 0K 10K 20K 35K 55K 85K 105K

Gerenciamento de Memória Otimização: Primeira x Melhor (Partição Livre) A Primeira partição livre é simples mas ineficiente em grande volume de trabalho. O otimização com o conceito da Melhor partição livre aproveita os recursos livres para acomodar melhor as necessidades das tarefas, porém exige um controle adicional de listas para gerenciar as partições livres. Uma lista de memória é criada para administrar os espaços livres, com isto, há condições de se ofertar a melhor partição livre para determinada tarefa. É um processo mais lento, porém mais eficiente.

Gerenciamento de Memória Desalocação Basicamente, o processo de desalocação para partições fixas envolve apenas mudança de status do controle de alocação. Já para partições dinâmicas, o processo é um pouco mais complexo, considerando: Que o bloco seja adjacente ao outro livre Que o bloco esteja entre dois blocos livres Que o bloco seja isolado entre outros já alocados

Gerenciamento de Memória Partições Dinâmicas Realocáveis Implementa uma estrutura que resolve o problema da fragmentação de blocos livres, chamada de compactação. Não é uma tarefa fácil. O SO trabalha para aproveitar os fragmentos livres, utiliza-se de tabelas auxiliares para este controle, e com isto há condições de se realocar memória para processos que necessitam de mais espaço. Esta tarefa é executada pelo SO de forma intrínseca.

Gerenciamento de Memória As técnicas aqui apresentadas (usuário único, partição fíxa, partição dinâmica e partição dinâmica realocável), possuem três características em comum: Carga completa do programa na memória Armazenamento contínuo do programa na memória Permanência do programa na memória durante todo o tempo de execução Estas técnicas, que são mais antigas, mostram um cenário que hoje os sistemas mais modernos já incorporam outros recursos mais sofisticas, considerando critérios de alocação de espaço em hardware diversos, técnicas de swap, alocações em discos, entre outros...

Exercícios...