Baixe o app para aproveitar ainda mais
Prévia do material em texto
Sistemas Operacionais Prof. Fernando Eryck 2012.1 Redes de Computadores SUMÁRIO 1. Motivação 2. O que é um Sistema Operacional 3. Funções Básicas de um S.O 4. Sistemas Mainframe 1. Motivação O estudo de sistemas operacionais (SOs) ganha importância à medida que se necessita deste conhecimento para exercer atividades como administrador de sistemas, programação de aplicações concorrentes e gerentes de segurança. Outro fator importante é o relacionamento dos SOs com as redes de comunicação de dados, o que faz seu estudo necessário para os administradores de rede. 2. O que é um Sistema Operacional �É um conjunto de rotinas executadas pelo processador de maneira não linear. �Programa que oculta do programador a ´verdade´ sobre o hardware e apresenta uma visão simples e agradável dos nomes dos arquivos que podem ser lidos e escritos �Programa que age como um intermediário entre o usuário de um computador e o hardware deste computador 2. O que é um Sistema Operacional programadores e analistas Usuários programas, sistemas e aplicativos usuários memória discos UCP Hardware Sistema OperacionalSistema Operacional fitas impressoras monitores 2. O que é um Sistema Operacional � Ponto de vista do usuário � O usuário enxerga a interface do sistema, velocidade, capacidade de armazenamento e funcionalidades dos periféricos �Facilidade de uso (Ambiente Gráfico )�Facilidade de uso (Ambiente Gráfico ) �Pouca atenção ao desempenho �Nenhuma atenção a utilização dos recursos 2. O que é um Sistema Operacional � Ponto de vista do sistema � Alocador de recursos – gerencia e distribui recursos de hardware �Programa de controle – controla a execução dos programas dos usuários e a operação dos dispositivos de E/S.dos usuários e a operação dos dispositivos de E/S. �Kernel – programa essencial que executa todo tempo (o restante seriam aplicativos) 2. Componentes de um Sistema Computacional � Hardware – recursos básicos de computação (CPU, memória, dispositivos de E/S. �Sistema Operacional – controla e coordena o uso do hardware pelos vários programas aplicativos dos vários usuários �Programas Aplicativos – definem como os recursos são �Programas Aplicativos – definem como os recursos são usados para solucionar os problemas dos usuários (planilhas, editores, navegadores web, etc.) �Usuários – pessoas “O sistema operacional oferece os meios para a utilização apropriada destes recursos durante a operação do sistema de computação” Analogia: O governo não desempenha funções úteis para ele mesmo. Proporciona um ambiente para que outros programas (ex.: Socias) possam desempenhar tarefas úteis. 2. Componentes de um Sistema Computacional Visão abstrata da relação entre os componentes 3. Funções Básicas do SO � Sua principal função é gerenciar o funcionamento e compartilhamento de recursos do computador (como processador, memória principal e secundária, dispositivos de I/O e barramento do sistema e de expansão). Funções básicas do SO: 1. Gerenciamento de processos: O SO é preparado para dar ao usuário a 1. Gerenciamento de processos: O SO é preparado para dar ao usuário a ilusão de que vários processos em execução simultânea no computador são executados em paralelismo. Cada processo recebe uma fatia do tempo e a alternância entre vários processos é tão rápida que o usuário pensa que sua execução é simultânea. 2. Gerenciamento de memória: O SO tem acesso completo à memória do sistema e deve permitir que os processos dos usuários tenham acesso seguro à memória quando o requisitam. 3. Funções Básicas do SO Funções básicas do SO (cont.): 3. Gerenciamento do Sistema de arquivos: Técnica para armazenar e recuperar informações de modo permanente. 4. Gerenciamento de Entrada e Saída de dados: Monitor, impressoras, disco, etc. 5. Gerenciamento do Shell: Software independente que oferece comunicação 5. Gerenciamento do Shell: Software independente que oferece comunicação direta entre o usuário e o sistema operacional “O sistema operacional é projetado para maximizar a utilização dos recursos – assegurando que todo o tempo de CPU, memória e I/O disponíveis sejam utilizados eficientemente e que nenhum usuário individual ocupe mais do que sua cota justa. 4. Sistemas de Mainframe � Primeiros sistemas desenvolvidos � Utilizados em máquinas enormes que ocupavam salas inteiras � Operados a partir de um console� Operados a partir de um console � Voltados para execução de aplicações comerciais e científicas � Diversos tipos ao longo do tempo � Batch � Multiprogramados � Tempo Compartilhado 4.1 Sistemas Batch (Monotarefa) � Primeiros sistemas operacionais, rudimentares � Computador opera uma – e somente uma - aplicação � Dispositivos de entrada/saída � Leitoras de cartão � Drives de fita � Impressoras de linha Sistema Operacional Área do programa do usuário Esquema de memória para um sistema batch simples � Impressoras de linha � Perfuradores de cartões � O usuário não interagia diretamente com o computador � O SO era simples, apenas transferia o controle de um job para outro � O SO estava sempre residente na memória � CPU estava frequentemente ociosa � Para aumentar a velocidade de processamento: � Jobs reunidos em lotes (batch) � Introdução dos discos � Agendamentos (Scheduling) Cartão Perfurado 4.1 Sistemas Batch (Monotarefa) Sistema em Lote Antigo. (a) Os programadores levavam os cartões para o 1401. (b) O 1401 gravava o lote de jobes em fita. (c) O operador levava a fita de entrada para o 7094. (d) O 7094 executava o processamento. (e) O operador levava a fita de saída para o 1401. (f) O 1401 imprimia as saídas 4.1 Sistemas Batch (Monotarefa) 4.2 Sistemas Batch Multiprogramados (Multitarefas) � Tentam resolver o problema da ociosidade carregando vários programas ao mesmo tempo na memória � Quando um programa pára esperando dados, outros podem ser executados. � A multiprogramação aumenta a utilização da CPU� A multiprogramação aumenta a utilização da CPU �Funcionamento � S.O mantém vários jobs na memória simultaneamente (há uma fila residente em disco aguardando ser alocado para memória) � O S.O seleciona um dos Jobs para ser processado � Enquanto o job alocado aguarda uma tarefa, O S.O aloca um novo job a ser processado 512 K Sistema Operacional Job 2 Job 1 Job 3 Job 4 4.2 Sistemas Batch Multiprogramados � Coleta remota � Computadores menores passaram a ser usados para “montar” os batches 4.2 Sistemas Batch Multiprogramados � Características necessárias a um S.O para a multiprogramação � Rotinas de E/S fornecidas pelo S.O � Gerência memória: o S.O deve alocar memória para vários � Gerência memória: o S.O deve alocar memória para vários programas (jobs) � Escalonamento da CPU: o S.O escolhe entre os jobs disponíveis qual deve executar � Alocaçao dos dispositivos: o S.O define quem pode acessar qual dispositivo 4.3 Sistemas de tempo compartilhado (Multitarefa) � Sistemas em batch multiprogramados otimiza o uso dos recursos, mas não propicia a interação do usuário com o Sistema Computacional �Tempo compartilhado � Permite diversos programas sejam executados a partir da divisão do tempo do processador em pequenos intervalos, denominados fatia de tempo (time-slice)processador em pequenos intervalos, denominados fatia de tempo (time-slice) � Caso a fatia de tempo não seja suficiente para conclusão do programa, o mesmo é interrompido e substituído por outro (programa/usuário), enquanto aguarda uma nova fatia de tempo � Cria um ambiente de trabalho próprio dando a impressão de que todo sistema está dedicado exclusivamente a um único usuário. � Permitema interação dos usuários (comandos) com o sistema, através de terminais com vídeo, mouse e teclado � A maioria das aplicaçõess comerciais atualmente são processadas em sistemas de tempo compartilhado � Implementam a memória virtual – técnica que permite a execução de um job que pode não estar completamente na memória 4.3 Sistemas de tempo compartilhado: Multitarefa 4.4 Sistemas de mesa (Desktops) � Consagrados pelos micro-processadores: � Computadores Pessoais e/ou Estações de trabalho �Sistema dedicados a um só usuário que tem acesso a todos dispositivosdispositivos � Focados em maximizar a eficácia e a capacidade de resposta ao usuário � Podem ou não adotar algumas tecnologias desenvolvidas para os sistemas de grande porte � Proteção de arquivos para PC interligados a outros PC em rede � Ex.: Windows, Apple Macintosh, Linux, etc. 4.4 Sistemas de mesa (Desktops) � DEC – PDP 1, primeiro “mini-computador” 4.4 Sistemas multiprocessados � Sistemas com múltiplas CPUs �Sistemas paralelos ou fortemente acoplados � Processadores compartilham memória e clock � Comunicação entre CPUs pela memória� Comunicação entre CPUs pela memória �Vantagens � Aumento do desempenho (Throughput) � Taxa incremental de velocidade com N processadores não é N � Overhead Implícito (> concorrência por recursos) � Economia de escala � Compartilha periféricos, memória em massa e energia � Aumento de confiabilidade � A falha de um processador não interrompe o sistema, apenas fica mais lento 4.4.1 Sistemas multiprocessados Simétricos � Cada processador executa a mesma tarefa � Muitos processadores podem executar uma tarefa em paralelo (paralelismo) sem degradação de desempenho � Quando um processador falha o sistema continua funcionando, delegando a tarefa para outro processadordelegando a tarefa para outro processador � São mais poderosos do que os assimétricos (> maior balanceamento do processador e operações I/O) �É possivel melhorar o desempenho adicionando outro processador 4.4.2 Sistemas multiprocessados Assimétricos � Cada processador desempenha uma tarefa �Um processador mestre planeja e aloca trabalho p/ outros �A cada processador é designado uma tarefa específica 4.5 Sistemas Distribuídos � Sistemas fracamente acoplados: � Cada processador tem sua memória local � Comunicação se dá por canais de transmissão �Caracterizado por dois ou mais computadores conectados através de uma rede, cujo objetivo é concluir uma tarefa em comumuma rede, cujo objetivo é concluir uma tarefa em comum �Dependem da interconexão de rede para realizarem suas funcionalidades (protocolo TCP/IP mais comum) �Distribuem a computação entre diversos processadores fisicamente independentes e diferentes plataformas � Podem se organizar como: �Cliente/Servidor �Peer-to-peer (par-a-par) 4.5 Sistemas Distribuídos � Vantagens: �Compartilhamento de recursos em uma rede �Aumento de desempenho – divisão de carga �Confiabilidade�Confiabilidade �Comunicação entre usuários e aplicativos �Ex.: �Projeto Seti@home �ClimatePrediction.net �Boinc �Ourgrid 4.5 Sistemas Distribuídos 4.6 Agregados Computacionais � Sistemas distribuídos em uma rede local rápida e uniforme de operação (SW) �Diversos processadores compartilham recursos �Compartilhamento de dispositivos de armazenamento (dados)�Compartilhamento de dispositivos de armazenamento (dados) �Podem ser organizados de forma simétrica e assimétrica � Organização Simétrica � Os computadores operam as aplicações a monitoram-se reciprocamente � Organização Assimétrica � Uma máquina fica monitorando as demais que estão operando as aplicações 4.7 Sistemas de tempo real � Sistemas com restrições bem definidas sobre tempo de resposta � O não cumprimento de uma tarefa dentro do prazo é considerado uma falha do sistema �Frequentemente usadas em aplicações dedicadas, como controladores de �Frequentemente usadas em aplicações dedicadas, como controladores de dispositivos �Detenção do processador pelo tempo necessário ou até que um programa prioritário o solicite �Podem ser divididos em sistemas � Hard (tempo real rígido) – O prazo de execução não pode ser violado � Soft (tempo real flexível) – Uma falha é aceitável �Ex.: Monitoramento de refinarias de petróleo, tráfego aéreo, sistemas bancários, monitoramento cardíaco 4.8 Sistemas pessoais de mão � Personal Digital Assistants (PDAs) �Palms �SmartPhone �Telefone celulares (Iphone, BlackBerry,etc.) �Envolvem questões diferentes de desktops: �Memória limitada �Processadores relativamente lentos �Telas pequenas �Ex.: Palm OS, Windows Mobile (Pocket PC) 4.9 Sistemas embutidos (embarcados) � Sistemas que são desenvolvidos para serem inseridos em dispositivos específicos �Usualmente, as necessidades de interface com o usuário são definidas pelo dispositivodefinidas pelo dispositivo �Muitas vezes trazem requisitos de tempo real �Restrições de memória e capacidade de processamento podem ser severas �Ex.: Sistemas de controle de vôo integrados na aeronaves, roteadores, switches, Impressoras, etc. 5 Migração das funcionalidades
Compartilhar