Baixe o app para aproveitar ainda mais
Prévia do material em texto
SISTEMAS OPERACIONAIS PARA REDES Prof. Luiz di Marcello Aula 1 – Fundamentos de Sistemas Operacionais OBJETIVOS DA AULA ❖ Descrever as funções e componentes de um sistema operacional ❖ Explicar a evolução histórica dos sistemas operacionais ❖ Diferenciar os tipos de sistemas operacionais FUNDAMENTOS DE SISTEMAS OPERACIONAIS O Hardware e o Sistema Operacional ✓ Você comprou os componentes e montou o computador ✓ Você o ligou na tomada e pressionou o botão POWER ✓ Ele começa a inicialização do sistema e… o computador não está “operacional” para utilização ✓ Falta instalar o Sistema Operacional FUNDAMENTOS DE SISTEMAS OPERACIONAIS ✓ Montar o hardware: conexão dos componentes físicos ✓ Ligar na tomada: energização da placa-mãe e componentes ✓ Ocorre o boot: série de processos responsáveis pela inicialização do computador FUNDAMENTOS DE SISTEMAS OPERACIONAIS https://www.tecmundo.com.br/aumentar-desempenho/11266-como- funciona-o-boot-de-um-computador.htm O Hardware e o Sistema Operacional FUNDAMENTOS DE SISTEMAS OPERACIONAIS O que é um Sistema Operacional? ✓ Conjunto de programas indispensáveis ao funcionamento do computador, que serve de interface (ligação, elo) entre o homem e a máquina ✓ Conjunto de rotinas executadas pelo processador, que controla o funcionamento do computador, como um gerente dos vários recursos disponíveis no sistema ✓ Conjunto de programas responsável pela gerência de recursos de hardware, segurança de acesso e utilização e interface com os usuários FUNDAMENTOS DE SISTEMAS OPERACIONAIS USUÁRIOS H A R D W A R E UCP DISPOSITIVOS DE E/S MEMÓRIA PRINCIPAL PROGRAMADORES SISTEMAS E APLICATIVOS BANCOS DE DADOS OUTROS USUÁRIOS ▪ MS-DOS ▪ WINDOWS 3.11, 95/98, XP, VISTA, 7, 8, 10 ▪ LINUX (MANDRIVA, UBUNTU, FEDORA) ▪ MAC-OS X El Capitan ▪ iPhone OS10, Android 7, Windows 10 Mobile SISTEMA OPERACIONALSO FT W A R E ✓ Computadores baseados em válvulas: ENIAC, 18 mil válvulas, 30 toneladas, consumo de140KW; EDVAC; UNIVAC I, censo americano ✓ Ausência de sistema operacional: programação feita por painéis, através de fios, sem uso de linguagens de programação FUNDAMENTOS DE SISTEMAS OPERACIONAIS Histórico: 1ª Geração (1945-1955) ✓ Criação do transistor (maior velocidade e confiabilidade no processamento, menor dissipação de energia) ✓ Seqüenciamento da execução dos programas, sem intervenção do operador, conhecido como processamento BATCH (em lote): perfuração das instruções em cartões e processamento do JOB utilizando-se fita magnética ✓ Surgimento das primeiras linguagens de programação: Assembly e Fortran FUNDAMENTOS DE SISTEMAS OPERACIONAIS Histórico: 2ª Geração (1955-1965) ✓ Criação dos circuitos integrados (CIs) e, posteriormente, dos microprocessadores ✓ Utilização da técnica de compartilhamento da memória (partições) e do processador denominada multiprogramação, permitindo processamento time-sharing ✓ Substituição das fitas por discos magnéticos, possibilitando execução mais rápida e a alteração na ordem de submissão dos programas em lote (spooling) ✓ Surgimento em 1969 do sistema operacional UNIX FUNDAMENTOS DE SISTEMAS OPERACIONAIS Histórico: 3ª Geração (1965-1980) ✓ Miniaturização e barateamento dos computadores através da integração cada vez maior dos componentes ✓ Surgimento dos microcomputadores pessoais (PCs) e do sistema operacional DOS (Disk Operating System) ✓ Sistemas multiusuário e multitarefa, permitindo a execução de diversas tarefas de forma concorrente ✓ Equipamentos com múltiplos processadores ✓ As redes de computadores se difundiram por todo mundo: sistemas operacionais de rede FUNDAMENTOS DE SISTEMAS OPERACIONAIS Histórico: 4ª Geração (1980 até hoje) ✓ Grandes avanços de hardware (microeletrônica), software e telecomunicações ✓ Processadores e memórias cada vez menores e mais baratos ✓ Processamento distribuído em sistemas operacionais ✓ Computação móvel, sistemas operacionais dos celulares ✓ Novas interfaces homem/máquina, sistemas multimídia, bancos de dados distribuídos e inteligência artificial FUNDAMENTOS DE SISTEMAS OPERACIONAIS Histórico: 5ª Geração (????) Classificação: Monotarefa (Monoprogramado) FUNDAMENTOS DE SISTEMAS OPERACIONAIS ✓ Todos os recursos do computador (UCP, memória principal e dispositivos de E/S) ficam dedicados a um único usuário/programa até a conclusão de sua execução ✓ O sistema operacional só é capaz de controlar/gerenciar um programa de cada vez ✓ São de simples implementação, se comparados a outros sistemas, não havendo muita preocupação com problemas de proteção, pois só existe um usuário/programa utilizando-o Classificação: Multitarefa (Multiprogramado) FUNDAMENTOS DE SISTEMAS OPERACIONAIS ✓ Os recursos da máquina são alocados de modo dinâmico entre o número de programas ativos de acordo com o nível de prioridade ou o estágio de execução de cada um dos programas ✓ O sistema operacional gerencia o acesso concorrente aos seus diversos recursos, de forma ordenada e protegida ✓ São mais complexos e eficientes do que os sistemas monotarefa, já que vários programas utilizam os mesmos recursos Classificação: Multitarefa (Multiprogramado) FUNDAMENTOS DE SISTEMAS OPERACIONAIS ✓ Existem vários tipos de processamento (gerência/interação com usuários) nesse tipo de sistema: ❖ BATCH (LOTE) - Os programas quando executados são armazenados em disco ou fita, onde esperam para serem “atendidos”. Normalmente, esses programas (jobs) não exigem interação com os usuários Classificação: Multitarefa (Multiprogramado) FUNDAMENTOS DE SISTEMAS OPERACIONAIS ✓ Existem vários tipos de processamento (gerência/interação com usuários) nesse tipo de sistema: ❖ TIME-SHARING (TEMPO-COMPARTILHADO) - O sistema operacional aloca uma “fatia de tempo” (time- slice) do processador para cada usuário. Caso o programa do usuário não esteja concluído nesse intervalo de tempo, ele é substituído por um de outro usuário, e fica esperando por uma nova fatia de tempo. Permitem a interação dos usuários com o sistema Classificação: Multitarefa (Multiprogramado) FUNDAMENTOS DE SISTEMAS OPERACIONAIS ✓ Existem vários tipos de processamento (gerência/interação com usuários) nesse tipo de sistema: ❖ REAL-TIME (TEMPO-REAL) - Enquanto em sistemas de tempo compartilhado o tempo de resposta pode variar sem comprometer as aplicações, nos sistemas de tempo real os tempos de resposta devem estar dentro de limites rígidos. Não existe a ideia de fatia de tempo, um programa executa o tempo que for necessário, ou até que apareça outro prioritário em função de sua importância executa espera espera Tempo MONOTAREFA Tempo MULTITAREFA espera esperaPrograma A espera esperaPrograma B espera executaexecuta executaexecuta CONCORRENTE ≠ SIMULTÂNEO executaPrograma A Classificação: Compartilhamento de recursos FUNDAMENTOS DE SISTEMAS OPERACIONAIS Classificação: Suporte aos usuários FUNDAMENTOS DE SISTEMAS OPERACIONAIS MONOUSUÁRIO USUÁRIO = GENTE e NÃO PROGRAMA! TODO SISTEMA MULTIUSUÁRIO É OBRIGATORIAMENTE MULTITAREFA MULTIUSUÁRIO SIGNIFICA MAIS DE UMA PESSOA NO MESMO SISTEMA INTERAGINDO SIMULTANEAMENTE Classificação: Sistemas Multiprocessados FUNDAMENTOS DE SISTEMAS OPERACIONAIS ✓ Possuem mais de um processador, sendo que estes podem compartilhar o mesmo sistema operacional, ou cada um pode possuir o seu próprio sistema ✓ Permitem que vários programas sejam executados ao mesmo tempo, simultaneamente ✓ Possibilitam aumentar a capacidade computacional (escalabilidade), disponibilidade (sistema continua o proces samento, mesmo se um dos processadores falhar) e balan ceamento de carga (distribuição da carga de processamento) Classificação: Sistemas Multiprocessados FUNDAMENTOS DE SISTEMAS OPERACIONAIS ✓ Existem diferentes formas de comunicação entre esses processadores e também diferentes graus de compartilha mento da memóriaprincipal e dos dispositivos de E/S: ❖ Fortemente acoplados – dois ou mais processadores compartilhando uma única memória e controlados por apenas um único sistema operacional (ex.: multicore) Classificação: Sistemas Multiprocessados FUNDAMENTOS DE SISTEMAS OPERACIONAIS ✓ Existem diferentes formas (...) dos dispositivos de E/S: ❖ Fracamente acoplados – caracterizam-se por possuir dois ou mais processadores conectados e com funcionamento independente (multicomputadores). Podem ser controlados por sistemas operacionais diferentes (ex.: cluster) FUNDAMENTOS DE SISTEMAS OPERACIONAIS ✓ O Sistema Operacional proporciona o ambiente no qual os programas são executados e é composto por um conjunto de rotinas, conhecido como o núcleo ✓ Ele reage às chamadas de sistemas (system calls) e executa os seus procedimentos de forma concorrente, sem seguir uma ordem estabelecida, com base em eventos assíncronos ✓ A interface entre o Sistema Operacional e os programas dos usuários é definida por um conjunto de instruções denominado chamadas de sistema (system calls) Estrutura do Sistema Operacional FUNDAMENTOS DE SISTEMAS OPERACIONAIS ✓ As chamadas ao sistema (system calls) fornecem a interface entre os processos e o sistema operacional ✓ Constituem o mecanismo de proteção ao núcleo do SO e também de acesso aos seus serviços, como se fossem as portas de entrada para os processos Estrutura do Sistema Operacional: System Calls Estrutura do Sistema Operacional: Componentes e Funções FUNDAMENTOS DE SISTEMAS OPERACIONAIS Gerenciador de Processos Gerenciador de Memória Gerenciador de Disco Gerenciador de Rede Gerenciador de E / S Gerenciador de Arquivos Sistema de Proteção Sistema Interpre tador de Comandos SISTEMA OPERACIONAL FUNDAMENTOS DE SISTEMAS OPERACIONAIS ✓ Engenheiro de Sistemas e Computação pela UERJ, Especialista em Sistemas Abertos e Mestre em Educação. Atualmente, é Coordenador (Graduação e Pós-Graduação), Professor adjunto e Tutor da Universidade Estácio de Sá. Tem experiência na área de Ciência da Computação, com ênfase em Arquitetura de Sistemas de Computação e Tecnologias da Informação e Computação, e também na área de Educação, com ênfase em Tecnologias de Informação e Comunicação nos Processos Educacionais ✓ http://lattes.cnpq.br/6477530917342363 Prof. Luiz di Marcello Senra Santiago SISTEMAS OPERACIONAIS PARA REDES Prof. Luiz di Marcello Aula 2 – Processos OBJETIVOS DA AULA ❖ Descrever as características de um processo ❖ Identificar os estados de um processo ❖ Diferenciar aplicativos e serviços PROCESSOS ✓ Instância de um programa em execução ✓ É a unidade de carga e alocação de uma tarefa ✓ Um programa é carregado para a memória principal, onde aloca-se uma área para código e dados PROCESSOS Conceito ✓ Para que a concorrência entre os programas ocorra é necessário que as informações do programa interrompido sejam guardadas para continuação do processamento posterirormente ✓ Estas informações são fundamentais para que o sistema operacional gerencie a execução concorrente de programas, base de um ambiente multiprogramável ✓ O processo é esse conjunto necessário de informações PROCESSOS Estrutura do Processo PROCESSOS Estrutura do Processo ✓ O processo é o ambiente onde um programa é executado ✓ O processo é formado por três partes que mantêm as informações necessários à execução de um programa ✓ Os estados de um processo representam sua situação atual, ao longo do seu processamento ✓ A mudança de estado é uma transição ✓ Um processo ativo pode assumir três diferentes estados: execução (running), pronto (ready), espera/bloqueado (wait) ✓ Além desses três, a maioria dos sistemas estabelece estados para os momentos de criação (novo) e eliminação (saída) PROCESSOS Estados do Processo PROCESSOS Estados do Processo: Modelo de 5 Estados NOVO Admissão Ocorrência do evento Dispatch Liberação Time-out Espera do evento PRONTO EXECUÇÃO FIM ESPERA PROCESSOS Estados do Processo: Transições INICIO → PRONTO: ocorre apenas na admissão PRONTO → EXECUÇÃO: ocorre quando o processo é selecionado para execução, segundo critérios pré- definidos pelo sistema operacional EXECUÇÃO → PRONTO: ocorre quando o processo é interrompido e um novo processo será selecionado PROCESSOS Estados do Processo: Transições EXECUÇÃO → ESPERA: ocorre quando o processo deve aguardar um recurso ESPERA → PRONTO: ocorre quando a solicitação de recurso é atendida EXECUTANDO → FIM: término do programa PROCESSOS Criação de um Processo Quando ocorre? ✓ Quando executamos um programa ✓ Quando um usuário acessa o sistema ✓ Quando um processo gera um processo-filho ✓ Atribui um identificador único => Aloca uma entrada na tabela de processos => Aloca espaço para o processo => Inicializa o PCB (Process Control Block) => Coloca o processo na fila apropriada => Cria estruturas auxiliares Quais são as etapas? PROCESSOS Troca de Contexto ✓ É a substituição do processo em execução ✓ Quando ocorre a preempção ou interrupção de algum tipo, ou mesmo que um processo solicita E/S, um novo processo é selecionado para execução (escalonado) ✓ O processo interrompido tem seu contexto salvo e o novo processo irá iniciar a execução, tendo seu contexto lido PROCESSOS Troca de Contexto ✓ Processos CPU-Bound (ligado à CPU): São processos que passam a maior parte do tempo em estado de execução, ou seja, utilizando o processador. Realizam poucas operações de E/S ✓ Processos I/O-Bound (ligado à E/S): São processos que passam a maior parte do tempo em estado de espera, pois realizam um elevado número de operações de E/S PROCESSOS Tipos de Processo: processamento que realizam ✓ Observem as diferenças nos gráficos abaixo: PROCESSOS Tipos de Processo: processamento que realizam ✓ Processos em foreground: Permite a comunicação direta do processo com o usuário durante sua execução. Em geral o canal de entrada está associado ao teclado/mouse e de saída a um monitor ✓ Processos em background: Não existe interação direta com o usuário. Os serviços ativos no Windows, por exemplo, são processos em segundo plano PROCESSOS Tipos de Processo: interação com o usuário Um processo Um thread Múltiplos processos Um thread por processo Um processo múltiplos threads Múltiplos processos Múltiplos threads por processo PROCESSOS THREADS: O que são? ✓ São fluxos de execução distintos dentro de um mesmo processo: PROCESSOS THREADS: Benefícios e características ✓ Capacidade de resposta: numa aplicação interativa, parte do programa pode continuar executando, enquanto outra parte está em espera, por exemplo, realizando uma operação de E/S ✓ Compartilhamento de recursos: compartilham o código, os dados e os arquivos do processo ao qual pertencem ✓ Economia: É muito mais rápido criá-las e permutar seus contextos, quando comparadas aos subprocessos ✓ Escalabilidade: realização em paralelo de threads de um mesmo processo em sistemas multiprocessados PROCESSOS THREADS: Benefícios e Características ✓ Compartilham o mesmo contexto de software e espaço de endereçamento com os demais, porém cada thread possui seu contexto de hardware ✓ O TCB (Thread Control Block) armazena o contexto de hardware e algumas informações exclusivas* ao thread (prioridade, estado e bits de estado) ✓ Disponível em http://www.training.com.br/sosim/ CRIAR PROCESSOS PROCESSOS Simulador SOSIM: Entendendo melhor PROCESSOS Simulador SOSIM: Entendendo melhor PROCESSOS Simulador SOSIM: Entendendo melhor ✓ Engenheiro de Sistemas e Computação pela UERJ, Especialista em Sistemas Abertos e Mestre em Educação. Atualmente, é Coordenador (Graduação e Pós-Graduação), Professor adjunto e Tutor da Universidade Estácio de Sá. Tem experiência na área de Ciência da Computação, com ênfase em Arquitetura deSistemas de Computação e Tecnologias da Informação e Computação, e também na área de Educação, com ênfase em Tecnologias de Informação e Comunicação nos Processos Educacionais ✓ http://lattes.cnpq.br/6477530917342363 Prof. Luiz di Marcello Senra Santiago PROCESSOS SISTEMAS OPERACIONAIS PARA REDES Prof. Luiz di Marcello Aula 3 – Gerência do Processador GERÊNCIA DO PROCESSADOR OBJETIVOS DA AULA ❖ Descrever o funcionamento do escalonador ❖ Diferenciar políticas preemptivas de não-preemptivas ❖ Identificar as políticas de escalonamento GERÊNCIA DO PROCESSADOR Escalonador e Escalonamento ✓ O processador (UCP) é o componente do computador que realiza (executa) as instruções dos programas ✓ Com a possibilidade da UCP ser compartilhada entre diversos processos (multiprogramação), o SO possui critérios para realizar a seleção do(s) processo(s) que serão executados, ou seja, aquele(s) que irão transitar do estado de PRONTO para o estado de EXECUÇÃO *Os novos sistemas computacionais são multicore GERÊNCIA DO PROCESSADOR ✓ A parte do código do SO responsável pelo escalonamento (scheduling) é o escalonador (scheduler) Escalonador e Escalonamento EXECUÇÃO (UCP) ESPERA (E/S) PRONTO ESCALONADOR Processo Processo Processo Processo GERÊNCIA DO PROCESSADOR ✓ Portanto, para determinar a ordem com que os processos serão executados, o escalonador utiliza critérios definidos por um algoritmo ou política de escalonamento de processos ✓ Isso consiste na Gerência do Processador Escalonador e Escalonamento GERÊNCIA DO PROCESSADOR ✓ Algoritmos de escalonamento consideram vários fatores: ▪ A taxa de utilização de UCP: medição da ocupação da UCP ▪ Throughput: quantidade de processos terminados por unidade de tempo ▪ Turnaround: tempo transcorrido desde o momento em que o processo entra (criação/admissão) e o instante em que termina sua execução; digamos que seja o “tempo de vida” ▪ Tempo de resposta: tempo decorrido entre o instante da submissão de um e a apresentação da resposta ▪ Tempo de espera: tempo total gasto na fila de PRONTO Política de Escalonamento: Objetivos GERÊNCIA DO PROCESSADOR ✓ É a capacidade que o SO tem de tirar de execução um processo em detrimento de outro ✓ Capacidade de um SO interromper um processo em execução e substituí-lo por um outro, ocasionando troca de contexto Preempção (ou Preemptividade): Definição GERÊNCIA DO PROCESSADOR ✓ Uma tarefa pode deixar a UCP (sair de EXECUÇÃO), caso termine sua fatia de tempo (preempção por tempo), execute uma chamada de sistema ou caso ocorra uma interrupção que acorde uma tarefa mais prioritária (preempção por prioridade), que estava suspensa aguardando um evento ✓ A cada interrupção, exceção ou chamada de sistema, o escalonador pode reavaliar todas as tarefas da fila de PRONTO e decidir se mantém ou substitui a tarefa em EXECUÇÃO Escalonamento Preemptivo GERÊNCIA DO PROCESSADOR ✓ A tarefa em execução permanece no processador tanto quanto possível, só abandonando-a caso termine de executar, solicite uma operação de entrada/saída ou libere explicitamente o processador, voltando à fila de tarefas prontas ✓ Esses sistemas são ditos cooperativos quando há a cooperação das tarefas entre si, auxiliando na gestão do processador Escalonamento Não-Preemptivo GERÊNCIA DO PROCESSADOR ✓ Trata-se do algoritmo de escalonamento de implementação mais simples: o primeiro processo que solicita a CPU é o primeiro a ser alocado ✓ Os processos em estado de PRONTO são organizados com base na política FIFO (First In First Out) ✓ O tempo médio de espera é um tanto longo e os processos importantes podem ser obrigados a esperar devido à execução de outros processos menos importantes dado que não há distinção entre processos Escalonamento First Come First Served (FCFS) Políticas de Escalonamento Não-Preemptivas GERÊNCIA DO PROCESSADOR ✓ O processo que tem o menor ciclo de processamento (tempo de execução) será selecionado para usar o processador ✓ Esta política é considerada ótima, mas impossível de implementar na prática, já que não há modo de saber o tempo de duração do processo Escalonamento Shortest Job First (SJF) Políticas de Escalonamento Não-Preemptivas GERÊNCIA DO PROCESSADOR ✓ A cada processo é associada uma prioridade e a CPU é alocada para o processo com a mais alta prioridade ✓ Processos com prioridades iguais são escalados segundo a política FCFS ✓ O maior problema deste escalonamento é o starvation (processo de baixa prioridade indefinidamente postergado), que pode ser prevenido com aging: aumento gradual da prioridade de um processo, à medida que ele fica esperando Escalonamento por Prioridade Políticas de Escalonamento Preemptivas GERÊNCIA DO PROCESSADOR ✓ A prioridade de um processo pode ser de dois tipos: ▪ Prioridade estática: não muda durante a vida do processo ▪ Prioridade dinâmica: prioridade ajustada de acordo com o tipo de processamento e/ou carga do sistema ✓ A preempção por prioridade ocorre quando o SO retira um processo em EXECUÇÃO para dar lugar a outro processo de maior prioridade Escalonamento por Prioridade Políticas de Escalonamento Preemptivas GERÊNCIA DO PROCESSADOR ✓ Os processos entram na fila de PRONTO na ordem de chegada e sai o primeiro que chegou (FIFO), sendo que cada processo ganha um tempo limite (fatia de tempo, time-slice ou quantum) para EXECUÇÃO ✓ Após esse tempo ele é interrompido (preempção por tempo) e colocado no final da fila de PRONTO ✓ Se o quantum for suficiente para o processo finalizar ou se o processo solicitar uma operação de E/S, outro processo do início da fila é selecionado para executar Escalonamento Round Robin ou Circular Políticas de Escalonamento Preemptivas GERÊNCIA DO PROCESSADOR ✓ O tempo médio de espera é geralmente longo ✓ O desempenho do algoritmo depende bastante da escolha do quantum, já que a troca de contexto (alternar entre um processo e outro) gasta tempo: quantum muito pequeno ocasiona grande quantidade de trocas de processos e a eficiência da CPU é reduzida; quantum muito grande pode tornar a política Round Robin numa FCFS comum Escalonamento Round Robin ou Circular Políticas de Escalonamento Preemptivas GERÊNCIA DO PROCESSADOR ✓ Implementa diversas filas de processos em estado de PRONTO, uma para cada prioridade; a prioridade é da fila e não do processo ✓ Cada fila separada tem algoritmo de escalonamento próprio (ex.: foreground (interativos) usam escalonamento Round Robin, enquanto background (batch) usam algoritmo FCFS ✓ Os processos devem ser classificados previamente em função do tipo de escalonamento para poderem ser corretamente alocados nas filas; não permite mudança de fila Escalonamento por Múltiplas Filas (sem Realimentação) Políticas de Escalonamento Preemptivas GERÊNCIA DO PROCESSADOR ✓ O sistema tenta identificar dinamicamente o comportamento de cada processo, ajustando suas prioridades de execução e mecanismos de escalonamento (mecanismo adaptativo) ✓ Também há prioridade entre as filas; o sistema só pode escalonar processos de uma das filas quando todas as outras de maior prioridade estiverem vazias Escalonamento por Múltiplas Filas com Realimentação Políticas de Escalonamento Preemptivas GERÊNCIA DO PROCESSADOR ✓ O processo é criado e entra no final da fila de maior prioridade; quando deixa a CPU por preempção por tempo, o processo é redirecionado para uma fila de menor prioridade, onde a fatia de tempo é maior ✓ Quanto maior for a prioridade de uma fila, menor será a fatia de tempo associada a esta fila Escalonamento por Múltiplas Filas com Realimentação Políticas de Escalonamento Preemptivas GERÊNCIA DO PROCESSADOR ✓ É usado quando existem vários processadores, havendo compartilhamento da carga de processamento ✓ Implementa-se uma só fila de PRONTO, que pode ser atendida de diferentes formas: ▪Cada processador vai à fila e seleciona um processo; não se pode permitir que um processo seja escolhido por mais de um processador e/ou que um processo não seja escolhido por nenhum processador Escalonamento com Múltiplos Processadores Políticas de Escalonamento Preemptivas GERÊNCIA DO PROCESSADOR ✓ Implementa-se uma só fila de PRONTO, que pode ser atendida de diferentes formas: ▪ Usar um processador como escalonador de processos para os outros processadores, criando uma estrutura mestre-escravo (master-slave) ▪ Um processador é responsável por todas as decisões de escalonamento, processamento de E/S, etc. (multiprocessamento assimétrico); os demais processadores só executam código do usuário Escalonamento com Múltiplos Processadores Políticas de Escalonamento Preemptivas GERÊNCIA DO PROCESSADOR ✓ Tempo real HARD: as tarefas têm que terminar em tempos definidos, o SO tem que admitir o processo somente quando ele poderá terminar na hora certa; normalmente, este tipo de sistema possui hardware específico ✓ Tempo real SOFT: neste tipo de sistema, os processos de tempo real devem ter a mais alta prioridade; nesse caso não deve haver time sharing; o tempo de latência deve ser pequeno para que o processo possa começar a executar o mais rapidamente possível Escalonamento de Tempo Real Políticas de Escalonamento Preemptivas GERÊNCIA DO PROCESSADOR ✓ Engenheiro de Sistemas e Computação pela UERJ, Especialista em Sistemas Abertos e Mestre em Educação. Atualmente, é Coordenador (Graduação e Pós-Graduação), Professor adjunto e Tutor da Universidade Estácio de Sá. Tem experiência na área de Ciência da Computação, com ênfase em Arquitetura de Sistemas de Computação e Tecnologias da Informação e Computação, e também na área de Educação, com ênfase em Tecnologias de Informação e Comunicação nos Processos Educacionais ✓ http://lattes.cnpq.br/6477530917342363 Prof. Luiz di Marcello Senra Santiago SISTEMAS OPERACIONAIS PARA REDES Prof. Luiz di Marcello Aula 4 – Gerência de Memória GERÊNCIA DE MEMÓRIA OBJETIVOS DA AULA ❖ Descrever a alocação particionada ❖ Analisar o funcionamento da paginação ❖ Diferenciar paginação e segmentação GERÊNCIA DE MEMÓRIA http://media.forumpcs.com.br/ Hierarquia da Memória ✓ Algumas memórias no computador armazenam de forma permanente (não voláteis), enquanto outras de forma temporária (voláteis) ✓ A memória principal armazena programas e seus dados, para que possam ser executados, referenciados, acessados GERÊNCIA DE MEMÓRIA Memória Principal ✓ Nos sistemas multitarefa, torna-se indispensável gerenciar a memória principal, devido à importância, o custo e a exiguidade desse recurso ✓ A gerência de memória possui duas abordagens principais: ▪ Manter os processos na memória principal durante toda a sua execução ▪ Mover os processos entre a memória principal e a secundária (tipicamente disco), utilizando técnicas de permuta (swapping) ou de paginação GERÊNCIA DE MEMÓRIA ✓ A memória principal disponível é dividida entre o SO e o programa em execução (sistemas monoprogramáveis) ✓ O tamanho máximo do programa é limitado à memória principal disponível ✓ Essa limitação veio a ser superada com a técnica de overlay Alocação Contígua GERÊNCIA DE MEMÓRIA ✓ Utiliza o conceito de sobreposição: a mesma região da memória será ocupada por módulos diferentes do processo ✓ É de responsabilidade do usuário esse gerenciamento, que geralmente é oferecido como um recurso da linguagem Técnica de OVERLAY GERÊNCIA DE MEMÓRIA ✓ Um módulo (raiz) do programa fica sempre residente e os demais módulos são mutuamente exclusivos em relação a sua execução; esses módulos permanecem no disco até que sejam necessários ✓ Foi o primeiro uso do conceito de mover partes do processo entre o disco e a memória principal, o que acabaria por originar as modernas técnicas de gerenciamento de memória, nas quais a divisão dos módulos é totalmente transparente para o usuário Técnica de OVERLAY GERÊNCIA DE MEMÓRIA ✓ A forma mais simples de se manter mais de um processo (multitarefa) de usuário na memória ao mesmo tempo é dividir a memória em n partições (possivelmente diferentes) e alocar os diferentes processos em cada uma delas Alocação Particionada Fixa (Estática) GERÊNCIA DE MEMÓRIA ✓ Deve-se considerar a diferença entre o código absoluto (referências a endereços no programa são posições físicas da memória principal) e o código relocável (referências a endereços no programa são relativas ao início do código), permitindo que os programas sejam executados a partir de qualquer partição Alocação Particionada Fixa (Estática) GERÊNCIA DE MEMÓRIA ✓ Nos primeiros sistemas as partições eram estabelecidas na configuração do SO e seu tamanho e localização somente podiam ser alterados realizando um novo boot ✓ Estratégias para alocar o processo: ▪ Uma única fila de entrada – todos os processos ficam na mesma fila e vão sendo alocadas na menor partição livre que os possa acomodar ▪ Uma fila por partição – os processos são divididos em várias filas de acordo com o seu tamanho e são alocados quando a partição atendida pela fila está disponível Alocação Particionada Fixa (Estática) GERÊNCIA DE MEMÓRIA ✓ Na alocação particionada fixa havia desperdício por conta dos espaços não ocupados nas partições (fragmentos) ✓ A memória principal não é particionada em blocos de tamanhos pré-determinados; existe uma partição que ocupa toda a memória disponível para usuários ✓ Os processos vão sendo alocados, essa partição única vai diminuindo até que não caibam mais processos no espaço restante, resultando num único fragmento Alocação Particionada Dinâmica GERÊNCIA DE MEMÓRIA ✓ Quando um processo termina e deixa a memória, o espaço ocupado por ele se torna uma partição livre, que será utilizada para alocar outro processo ✓ Podemos notar, que após alocar e desalocar vários processos, a memória pode se (re)particionar Alocação Particionada Dinâmica GERÊNCIA DE MEMÓRIA ✓ A escolha da partição para o próximo job da fila deverá ser feita de acordo com uma das seguintes políticas: ▪ BEST-FIT: alocar o job na partição disponível de tamanho mais próximo ao do job, buscando deixar fragmentos livres menores ▪ FIRST-FIT: procura alocar o job na primeira partição onde ele couber, buscando agrupar os jobs pequenos separando-os dos grandes ▪ WORST-FIT: procura alocar o job na maior partição disponível onde ele couber, buscando mais um job pequeno no espaço resultante Alocação Particionada Dinâmica GERÊNCIA DE MEMÓRIA ✓ A técnica de swapping consiste em remover um processo da memória toda vez que ele fica bloqueado, retornando-o a fila de PRONTO quando a condição estiver satisfeita ▪ Vantagens: maior compartilhamento de memória; menor fragmentação; bom para processos pequenos e poucos usuários ▪ Desvantagem: custo alto por ser uma operação com memória secundária, overhead Swap de Memória GERÊNCIA DE MEMÓRIA ✓ Por exemplo: os sistema retira o processo que está no meio de uma área livre de memória (swap out), coloca-o no disco, atribui a nova partição disponível ao processo que estava esperando e, posteriormente, atribui outra partição (swap in) ao processo que foi desalojado Swap de Memória GERÊNCIA DE MEMÓRIA ✓ Espaço de endereçamento é o conjunto de endereços que um processo faz referências; o espaço de endereçamento lógico de um programa tem que ser mapeado em um espaço de endereçamento físico de memória ✓ Espaço de endereçamento virtual é o conjunto de endereços que um programa pode endereçar, que pode ser maior que a memória física disponível no momento ou mesmo que o total de memória fisicamente disponível na máquina; ao conjunto de endereços reais de memória chamamos espaço de endereçamento real Memória Virtual GERÊNCIA DE MEMÓRIA Paginação:Conceito e Operação ✓ O espaço de endereços é dividido em blocos de igual tamanho (páginas); a memória principal também é dividida em blocos (molduras) de mesmo tamanho das páginas ✓ O mecanismo da paginação possui duas atribuições: ▪ executar a operação de mapeamento, isto é, determinar qual a página referenciada e em que bloco de memória (se for o caso) ela se encontra ▪ transferir páginas da memória secundária para os blocos da memória principal (quando for requerido) e guardá-las de volta na memória secundária quando elas não estiverem em uso GERÊNCIA DE MEMÓRIA Paginação: Operação GERÊNCIA DE MEMÓRIA Tabela de páginas Memória Mapeamento: Conceito ✓ É a tradução do endereço lógico em endereço físico, com objetivo de encontrar o código a ser executado ✓ Os endereços lógicos dos objetos referenciados pelo processo devem ser traduzidos em endereços físicos da memória principal GERÊNCIA DE MEMÓRIA 0 0 0 0 0 1 0 1 1 1 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 0 16-bit endereço lógico 10-bit offset06-bit página 16-bit endereço físico Tabela de página de processo 0 0 1 0 1 1 0 0 0 1 1 0 0 1 1 0 0 1Tradução 0 1 2 Página 1 está na memória - frame 6 Offset: deslocamento dentro da página Mapeamento: Exemplo GERÊNCIA DE MEMÓRIA Segmentação: Conceito e Operação ✓ O programa não mais é dividido em blocos de tamanho fixo (páginas), mas em segmentos lógicos de tamanhos variados ✓ O grande número de page faults da paginação se deve, principalmente, ao fato de não se considerar características das estruturas lógicas do programa ✓ A segmentação busca aproveitar exatamente essas características, agrupando num segmento partes do programa que se referenciam mutuamente e que quando trazidas a memória estarão todas juntas GERÊNCIA DE MEMÓRIA Segmentação com Paginação: Conceito e Operação ✓ Segmentos muito grandes poderiam eventualmente, ultrapassar a memória disponível da máquina ✓ Podemos limitar o tamanho máximo do segmento ou aplicar a paginação na implementação da segmentação, aproveitando o melhor de cada uma dessas formas ✓ Divide-se o programa em segmentos, que por sua vez serão divididos em páginas ✓ Em tempo de execução alguns trechos de um segmento estariam na memória principal e outros não GERÊNCIA DE MEMÓRIA Segmentação com Paginação: Vantagens ✓ Não é necessário manter todas as páginas de um segmento na memória, apenas aquelas usadas correntemente ✓ As páginas de um segmento não precisam ser carregadas em áreas contíguas, ou seja, podem estar espalhadas pela memória GERÊNCIA DE MEMÓRIA ✓ Engenheiro de Sistemas e Computação pela UERJ, Especialista em Sistemas Abertos e Mestre em Educação. Atualmente, é Coordenador (Graduação e Pós-Graduação), Professor adjunto e Tutor da Universidade Estácio de Sá. Tem experiência na área de Ciência da Computação, com ênfase em Arquitetura de Sistemas de Computação e Tecnologias da Informação e Computação, e também na área de Educação, com ênfase em Tecnologias de Informação e Comunicação nos Processos Educacionais ✓ http://lattes.cnpq.br/6477530917342363 Prof. Luiz di Marcello Senra Santiago SISTEMAS OPERACIONAIS PARA REDES Prof. Luiz di Marcello Aula 5 – Gerência de Entrada e Saída GERÊNCIA DE ENTRADA E SAÍDA OBJETIVOS DA AULA ❖ Analisar o mecanismo de interrupção ❖ Identificar as técnicas de entrada e saída ❖ Diferenciar os princípios de Software e de Hardware GERÊNCIA DE ENTRADA E SAÍDA Dispositivos de E/S: Conceitos ✓ O SO gerencia e controla todos os dispositivos de E/S: envia comandos; captura e envia interrupções; trata possíveis erros ✓ Os processos servidores de E/S (gerentes de dispositivos e drivers) competem pelos recursos do sistema ✓ Os dispositivos de E/S são responsáveis pela comunicação entre o sistema, de modo geral, e o meio externo; sem eles o computador não teria utilidade GERÊNCIA DE ENTRADA E SAÍDA Dispositivos de E/S: Conceitos ✓ ENTRADA é toda instrução de recepção de dados do mundo exterior e SAÍDA é toda instrução de envio de dados ao mundo exterior ✓ Toda operação do tipo E/S pode ser subdividida no tempo em 3 etapas distintas: 1. Início da E/S 2. Transferência de dados 3. Finalização da operação GERÊNCIA DE ENTRADA E SAÍDA Técnicas empregadas em operações de E/S Buffering ✓ Armazenamento temporário em uma região de memória física do computador (buffer) dos dados enquanto eles são movidos entre processos ou dispositivos ✓ São utilizados quando existe uma grande diferença de velocidade entre a origem e o destino GERÊNCIA DE ENTRADA E SAÍDA Técnicas empregadas em operações de E/S Spooling ✓ Armazenamento dos dados numa memória auxiliar (não volátil), permitindo que um dispositivo lento não provoque ociosidade na CPU ✓ Utiliza o disco como um grande buffer, permitindo que dados sejam lidos e gravados em disco, enquanto outras tarefas são processadas GERÊNCIA DE ENTRADA E SAÍDA Estrutura em Camadas de Software e Hardware ✓ As camadas de mais baixo nível escondem as características do hardware dos dispositivos, permitindo oferecer uma interface simples e confiável para o usuário e suas aplicações ✓ Parte da gerência de E/S trabalha de forma independente do dispositivo no qual está se realizando a operação GERÊNCIA DE ENTRADA E SAÍDA Software de E/S de Nível de Usuário ✓ A visão dos dispositivos de E/S para o usuário consiste em bibliotecas fornecidas pelas linguagens de programação ✓ As funções de E/S são dependentes e específicas de cada linguagem de programação; em C++, por exemplo, as funções cout e cin são utilizadas para impressão formatada e leitura, respectivamente ✓ Essas bibliotecas de E/S não fazem parte do núcleo do SO, estando associadas às várias linguagens de programação Estrutura em Camadas de Software e Hardware GERÊNCIA DE ENTRADA E SAÍDA Software de E/S Independente do Dispositivo ✓ Executa funções comuns a vários dispositivos e oferece uma interface uniforme para o software de nível de usuário ✓ Alguns serviços oferecidos são: ▪ Nomeação (lógica) para identificação do dispositivo ▪ Bufferização: armazena dados transferidos entre as diferentes camadas do software de E/S ▪ Cache de Dados: armazena dados utilizados com frequência ▪ Alocação e Liberação: gerenciar a alocação, liberação e uso ▪ Tratamento de Erros: fornece mecanismos de manipulação de erros, informando o sucesso ou fracasso de uma operação Estrutura em Camadas de Software e Hardware GERÊNCIA DE ENTRADA E SAÍDA Drivers de Dispositivos (Device Drivers) ✓ Estabelecem a comunicação do SO com o hardware através de controladores ✓ Cada device driver manipula somente uma classe (grupo) de dispositivos semelhantes ✓ Recebe comandos gerais sobre acessos aos dispositivos e traduz para comandos específicos, que serão executados pelos controladores ✓ São “acoplados” ao núcleo do SO e possuem alto grau de dependência com as system calls de E/S Estrutura em Camadas de Software e Hardware GERÊNCIA DE ENTRADA E SAÍDA Interrupção ✓ É um sinal informando que um evento ocorreu: fim de uma operação de E/S, erros de programa (divisão por zero, overflow, acesso inválido à memória), entre outros ✓ Cada interrupção é identificada com um número ✓ Quando ocorre uma interrupção o programa em execução passa ao estado de PRONTO e é iniciada a rotina de tratamento de interrupção Estrutura em Camadas de Software e Hardware ULA UC REGISTRADORES PC MAR MBR SP UCP CONTROLA DOR DE INTER RUPÇÕES 1 2 IRQ1 - TECLADO IRQ3 - FAX/MODEM IRQ7 - IMPRESSORA IRQ14 - DISCO RÍGIDO GERÊNCIA DE ENTRADA E SAÍDA Interrupção: Como ocorre Estrutura em Camadas de Software e Hardware 01101010 10100010 _ _ _ _ _ _ 01010100 PROG_1 01101010 10100010 _ _ _ _ _ _ 01010100 PROG_2 MEMÓRIA PRINCIPAL (RAM) SALVAR CONTEXTO IDENTIFICATIPO OBTÉM ENDEREÇO RECUPERA CONTEXTO IRQ ENDEREÇO 1 00A5 3 00B2 7 00CE VETOR DE INTERRUPÇÕES ROTINAS DE TRATAMENTO 01101010 01010100 01000010 01111101 01000010 01111101 00A5 00B2 00CE ÁREA DE MEMÓRIA DO SISTEMA OPERACIONAL PROG_1 SOLICITA UMA OPERAÇÃO DE ENTRADA/SAÍDA PROG_2 É INTER ROMPIDO E O SO VAI TRATAR A INTER RUPÇÃO 3 4 ? GERÊNCIA DE ENTRADA E SAÍDA Dispositivo de controle ou outro sistema de hardware que permita ativar uma interrupção Processador termina a execução da instrução corrente Processador reconhece sinal de interrupção Processador coloca PSW e PC na pilha de controle Processador carrega novo valor do PC, baseado na interrupção Salva informações remanescentes sobre o estado do processo Processa a interrupção Restaura a informação do estado do processo Restaura o velho PSW e PC Interrupção: Detalhes Estrutura em Camadas de Software e Hardware ✓ Para cada interrupção, uma rotina de serviço é designada para tratamento GERÊNCIA DE ENTRADA E SAÍDA APLICAÇÃO 100 101 102 STACK 102PC estado APPSW INSTRUÇÃO EM EXECUÇÃO Estrutura em Camadas de Software e Hardware Interrupção GERÊNCIA DE ENTRADA E SAÍDA 100 101 102 STACK OCORRE INTERRUPÇÃOAPLICAÇÃO 102PC estado APPSW Estrutura em Camadas de Software e Hardware Interrupção GERÊNCIA DE ENTRADA E SAÍDA ROTINA DA INTERRUPÇÃO A 100 101 102 500 102 STACK SALVA PC APLICAÇÃO 102PC estado APPSW Estrutura em Camadas de Software e Hardware Interrupção GERÊNCIA DE ENTRADA E SAÍDA ROTINA DA INTERRUPÇÃO A 100 101 102 500 estado AP 102 STACK SALVA PSW APLICAÇÃO 102PC estado APPSW Estrutura em Camadas de Software e Hardware Interrupção GERÊNCIA DE ENTRADA E SAÍDA ROTINA DA INTERRUPÇÃO A 100 101 102 500 estado AP 102 STACK ALTERA PSW e PC APLICAÇÃO 500PC estado ROTINA APSW Estrutura em Camadas de Software e Hardware Interrupção GERÊNCIA DE ENTRADA E SAÍDA ROTINA DA INTERRUPÇÃO A 100 101 102 500 registradores estado AP 102 STACK ROTINA A SALVA REGISTRADORES APLICAÇÃO 501PC estado ROTINA APSW Estrutura em Camadas de Software e Hardware Interrupção GERÊNCIA DE ENTRADA E SAÍDA ROTINA DA INTERRUPÇÃO A 100 101 102 500 estado AP 102 STACK ROTINA A TERMINA 510 APLICAÇÃO 510PC estado ROTINA APSW Estrutura em Camadas de Software e Hardware Interrupção GERÊNCIA DE ENTRADA E SAÍDA ROTINA DA INTERRUPÇÃO A 100 101 102 500 102 STACK RECUPERA PSW APLICAÇÃO 510 501PC estado APPSW Estrutura em Camadas de Software e Hardware Interrupção GERÊNCIA DE ENTRADA E SAÍDA ROTINA DA INTERRUPÇÃO A 100 101 102 500 STACK RECUPERA PC APLICAÇÃO 510 102PC estado APPSW Estrutura em Camadas de Software e Hardware Interrupção GERÊNCIA DE ENTRADA E SAÍDA 100 101 102 STACK INSTRUÇÃO EM EXECUÇÃO APLICAÇÃO 103PC estado APPSW Estrutura em Camadas de Software e Hardware Interrupção GERÊNCIA DE ENTRADA E SAÍDA Controladores de Dispositivos Estrutura em Camadas de Software e Hardware ✓ Um sistema de computação consiste de uma CPU e em uma série de controladoras de dispositivos conectadas através de um barramento que fornece acesso à memória compartilhada, que podem executar concorrentemente ✓ Cada controladora de dispositivo está encarregada de um tipo específico de dispositivo (por exemplo, unidades de disco, dispositivos de áudio e monitores de vídeo) ✓ O SO enxerga e se comunica com a controladora, não com o dispositivo GERÊNCIA DE ENTRADA E SAÍDA Controladores de Dispositivos Estrutura em Camadas de Software e Hardware ✓ Os dispositivos são ligados ao computador através de um componente de hardware chamado de interface ✓ Devido à diversidade de tipos de dispositivos (formas de operações diferentes e complexidade), as interfaces empregam no seu projeto o controlador (adaptador) de dispositivo ✓ Trata-se de um componente eletrônico (placa de circuito integrado à placa mãe do computador; exemplo: controladoras de disco IDE ou SCSI GERÊNCIA DE ENTRADA E SAÍDA Dispositivos de E/S ✓ É o hardware utilizado para comunicação entre o mundo exterior e o computador ✓ Existe uma enorme diversidade de dispositivos que são classificados quanto a fluxo de dados da seguinte forma: ▪ Dispositivos de Entrada - caracterizados por conter um fluxo de informações do dispositivo para o sistema, ou seja, são responsáveis por inserir no sistema informação do mundo externo (exemplo: teclado, mouse, scanner) Estrutura em Camadas de Software e Hardware GERÊNCIA DE ENTRADA E SAÍDA Dispositivos de E/S ✓ Existe uma enorme diversidade de dispositivos que são classificados quanto a fluxo de dados da seguinte forma: ▪ Dispositivos de Saída - são caracterizados pelo fluxo de informações do sistema para o mundo externo, ou seja, responsáveis por disponibilizar respostas ao mundo externo (exemplo: impressora, monitor de vídeo) ▪ Dispositivos de Entrada e Saída – contemplam os dois fluxos (exemplo: placa de rede, multifuncional) Estrutura em Camadas de Software e Hardware GERÊNCIA DE ENTRADA E SAÍDA ✓ Engenheiro de Sistemas e Computação pela UERJ, Especialista em Sistemas Abertos e Mestre em Educação. Atualmente, é Coordenador (Graduação e Pós-Graduação), Professor adjunto e Tutor da Universidade Estácio de Sá. Tem experiência na área de Ciência da Computação, com ênfase em Arquitetura de Sistemas de Computação e Tecnologias da Informação e Computação, e também na área de Educação, com ênfase em Tecnologias de Informação e Comunicação nos Processos Educacionais ✓ http://lattes.cnpq.br/6477530917342363 Prof. Luiz di Marcello Senra Santiago SISTEMAS OPERACIONAIS PARA REDES Prof. Luiz di Marcello Aula 6 – Sistema de Arquivos SISTEMA DE ARQUIVOS OBJETIVOS DA AULA ❖ Descrever os atributos de um arquivo ❖ Diferenciar as organizações lógicas e físicas de arquivos ❖ Identificar os métodos de acesso aos arquivos SISTEMA DE ARQUIVOS Gerência de Arquivos Um SO tem por finalidade permitir que os usuários do computador executem aplicações, que por sua vez processam informações (textos, músicas e filmes, etc.) armazenadas como arquivos num disco rígido ou outro meio/mídia SISTEMA DE ARQUIVOS Arquivos: Definição e Características ✓ Um arquivo é um conjunto de dados armazenados em um dispositivo físico não-volátil, com um nome ou outra referência que permita localização posterior (persistência) ✓ Arquivos são versáteis em conteúdo e capacidade, possuindo uma organização interna em função do tipo de informação (estrutura, formato): podem conter desde um texto se formatação com poucos bytes até sequências de vídeo com dezenas de gigabytes SISTEMA DE ARQUIVOS Arquivos: Definição e Características ✓ Arquivos podem ser compartilhados por processos diferentes ✓ Como um dispositivo de armazenamento pode conter milhões de arquivos, estes são organizados em estruturas hierárquicas denominadas diretórios SISTEMA DE ARQUIVOS Sistema de Arquivos ✓ O Sistema de Arquivos pode ser entendido, então, como a organização física e lógica dos dados armazenados de forma persistente em um dispositivo físico não volátil ✓ Existem vários sistemas de arquivos nos SO, dentre os quais podemos citar FAT e NTFS do Windows, EXT2 e EXT3 do Linux SISTEMA DE ARQUIVOS Atributos dos Arquivos Cada arquivo é descrito por atributos, que variam de acordo com o sistema e o arquivo utilizado. Os mais usuais são: • Nome: string de caracteres para identificação (“foto.jpg”,“alo.c”) • Tipo: formato dos dados contidos no arquivo, como áudio, vídeo, imagem, texto, etc. Muitos SOs usam parte do nome para identificar o tipo de seu conteúdo (extensão): “.doc”,“.jpg”,“.mp3” • Tamanho: quantidade de bytes ou registros ocupados • Datas: para fins de gerência, é importante manter datas importantes, como as data de criação, de último acesso e de última modificaçãodo conteúdo SISTEMA DE ARQUIVOS Atributos dos Arquivos Os mais usuais são (continuação): • Proprietário: em sistemas multiusuário, cada arquivo tem um proprietário, que deve estar corretamente identificado • Permissões de acesso: indicam que usuários têm acesso àquele arquivo e que formas de acesso são permitidas (leitura, escrita, remoção, etc.) • Localização: indicação do dispositivo físico onde o arquivo se encontra e da posição do arquivo dentro do mesmo SISTEMA DE ARQUIVOS Operações com Arquivos As aplicações e o SO utilizam um conjunto de operações para manipular arquivos. As operações básicas são: • Criar: alocar espaço para no dispositivo de armazenamento e definir seus atributos (nome, localização, proprietário, permissões de acesso, etc.) • Abrir: a aplicação solicitar ao SO a abertura do arquivo, para que possa ler ou escrever dados; o SO verifica se o arquivo existe, se as permissões são válidas, localiza seu conteúdo no dispositivo de armazenamento e cria uma referência SISTEMA DE ARQUIVOS Operações com Arquivos As operações básicas são (continuação): • Ler: permite transferir dados presentes no arquivo para uma área de memória da aplicação • Escrever: permite transferir dados na memória da aplicação para o arquivo no dispositivo físico; esse dados podem ser adicionados no final ou sobrescrever dados já existentes • Mudar atributos: nome, localização, permissões, etc. • Fechar: ao concluir o uso do arquivo, a aplicação deve informar ao SO, a fim de liberar as estruturas de gerência do arquivo • Remover: para eliminar o arquivo do dispositivo SISTEMA DE ARQUIVOS Organização e Métodos de Acesso Quanto à forma de organização dos registros de um arquivo, existem várias possibilidades, a saber: ➢ Sequencial ➢ Direta ➢ Indexada SISTEMA DE ARQUIVOS Organização dos Registros: Sequencial ✓ Neste tipo de arquivo os registros são acessados, quer para leitura quer para escrita, de forma sequencial, isto é, a escrita de um registro só é feita após o último registro escrito e a leitura de um registro só é possível após todos os registros anteriores terem sido lidos ✓ Existe um ponteiro “invisível” que aponta para o registro corrente e que é incrementado automaticamente após cada leitura ou escrita SISTEMA DE ARQUIVOS Organização dos Registros: Sequencial (leitura) SISTEMA DE ARQUIVOS Organização dos Registros: Sequencial (leitura) ✓ Para lidar com arquivos sequenciais existe, uma função lógica (VERDADEIRO/FALSO) que indica se o ponteiro chegou ao fim do arquivo (na leitura) ✓ Chamamos essa função de EOF (“End Of File”, “fim de arquivo”) SISTEMA DE ARQUIVOS Organização dos Registros: Sequencial (escrita) SISTEMA DE ARQUIVOS Organização dos Registros: Direta ✓ Neste tipo de arquivo, podemos acessar um determinado registro no meio do arquivo pelo seu número (posição do registro dentro do arquivo) ✓ O arquivo, uma vez aberto, aceita tanto operações de leitura quanto de escrita ✓ Por exemplo: um arquivo de alunos com informações sobre nome, endereço, nº do aluno e telefone; o nº do aluno corresponde à posição do registro do aluno dentro do arquivo SISTEMA DE ARQUIVOS Organização dos Registros: Indexada ✓ Neste tipo de arquivo existe um campo do registro, chamado campo chave, que permite o acesso a um registro determinado ✓ Não temos mais um índice necessariamente numérico, como nos arquivos diretos SISTEMA DE ARQUIVOS Organização dos Registros: Indexada ✓ Para podermos utilizar qualquer campo como índice (campo chave), o sistema de gerenciamento de arquivos da linguagem (que é transparente para o usuário) utiliza um outro arquivo, chamado arquivo de índice, que é ordenado pelo campo chave SISTEMA DE ARQUIVOS Organização Lógica: Partições (Volumes) ✓ O sistema de arquivos é dividido em partições (volumes) ✓ Existe pelo menos uma partição e é nessa estrutura de mais baixo nível que os arquivos efetivamente residem ✓ Um mesmo dispositivo físico (HD, SSD) pode conter mais de uma partição (dispositivo virtual) SISTEMA DE ARQUIVOS Organização Lógica: Partições (Volumes) ✓ Informações sobre arquivos são guardadas em entradas no diretório de dispositivos (tabela de volumes), que é uma estrutura de dados com informações sobre os arquivos (localização física, nome, atributos, etc.) ✓ Esses diretórios são normalmente implementados como estruturas de árvores SISTEMA DE ARQUIVOS Organização Lógica: Árvore de diretórios ✓ Na estrutura principal ou Master File Directory (MFD), existem ponteiros para os diretórios de cada usuário ou User File Directories (UFDs), que possuem aponta dores para os subdire tórios e os arquivos físicos SISTEMA DE ARQUIVOS Organização Física: Alocação de Blocos ✓ Os sistemas precisam manter o controle da localização física dos arquivos nos dispositivos ✓ Esses dispositivos físicos são normalmente divididos em blocos e a estrutura de gerência de arquivos deve mapear em quais blocos físicos se encontra um determinado arquivo ✓ Para saber quais blocos estão livres, é preciso manter um registro de blocos livres: mapa de bits, lista encadeada de blocos livres, tabela de blocos livres (contíguos) SISTEMA DE ARQUIVOS Organização Física: Alocação de Blocos ✓ Para controlar a alocação de espaço de um arquivo no disco existem várias maneiras: ▪ alocação contígua: guarda-se o bloco inicial e o tamanho ▪ alocação encadeada: guarda-se o bloco inicial e este aponta para o próximo, sucessivamente ▪ alocação indexada: guarda-se o bloco de índice, que contém os ponteiros para os demais blocos do arquivo SISTEMAS OPERACIONAIS PARA REDES Prof. Luiz di Marcello Aula 7 – Armazenamento de Massa ARMAZENAMENTO DE MASSA OBJETIVOS DA AULA ❖ Analisar o funcionamento do HD ❖ Identificar os tipos de RAID ARMAZENAMENTO DE MASSA Introdução ✓ Os dispositivos de armazenamento são capazes de armazenar dados para posterior consulta ou manipulação ✓ O termo “em massa” significa que o dispositivo ou aparelho é capaz de armazenar grandes volumes de dados ✓ Estes dispositivos podem ser de vários tipos: HD (Hard Disk) e SSD (Solid-State Disk) ✓ Pode ser armazenamento local ou remoto ARMAZENAMENTO DE MASSA HD (Hard Disk) ou SSD (Solid-State Drive) ??? ✓ O SSD é uma nova tecnologia, considerada a evolução do HD ✓ O SSD não possui partes móveis, sendo constituído de um circuito integrado semicondutor, uma memória flash ✓ O SSD: não possui partes mecânicas (sem vibrações, silenciosos e resistentes); tempo de acesso reduzido; consomem menos energia (esquentam menos); são menores e mais leves ARMAZENAMENTO DE MASSA HD (Hard Disk): Armazenamento mais usado ✓ SSD: capacidade de armazenamento menor; perde a capacidade de reter carga elétrica (vida útil); custo elevado ✓ Os discos magnéticos (HD) são dis positivos para armazenamento não volátil de dados, ou seja, independe de alimentação de energia para manter seu conteúdo ARMAZENAMENTO DE MASSA HD (Hard Disk): Composição Um HD é formado por vários discos de material duro (rígido) sobrepostos, unidos por um mesmo eixo vertical, girando a uma velocidade constante (ex.: 5400rpm, 7200rpm) ARMAZENAMENTO DE MASSA HD (Hard Disk): Trilhas e Cilindros ✓ Cada disco compõe-se de trilhas concêntricas, divididas em setores; as trilhas dos diferentes discos que ocupam a mesma posição vertical formam um cilindro ✓ Os dados gravados no mesmo cilin dro (na mesma trilha, porém em superfícies diferentes) podem ser lidos ou gravados sem que o braço se mova ARMAZENAMENTO DE MASSA HD (Hard Disk): Formatação e Tempo de acesso ✓ Na formatação cada superfície é dividida em trilhas e cada trilha é dividida em setores, onde são armazenadas os dados ✓ A formatação depende do SO que usará o disco ✓ O tempo de acesso aos dados é definido como o período decorrido entre a ordem de acesso e o final da transferência:não é constante e pode ser definido com a seguinte fórmula: TAcesso = T(Seek + Latência + Transferência) ARMAZENAMENTO DE MASSA HD (Hard Disk): Tempo de acesso O tempo necessário para ler/gravar um bloco de dados de/para o disco é função de três fatores (tempos): • Seek: tempo gasto para mover o braço até o cilindro onde o bloco se encontra • Latência: tempo de espera até que o setor desejado seposicione sob a cabeça de leitura/gravação • Transferência: tempo necessário para ler/gravar o setor ARMAZENAMENTO DE MASSA Gerenciamento de espaço livre ✓ Quando o espaço é utilizado, ele é removido dessa estrutura ✓ Quando o arquivo é eliminado, todos os seus blocos são liberados para a lista de espaços livres ✓ Podemos gerenciar por: ➢ Mapa de bits: cada entrada é associada a um bloco ➢ Lista encadeada: lista encadeada de todos os blocos livres; cada bloco possui um ponteiro para o próximo ARMAZENAMENTO DE MASSA Gerenciamento de espaço livre ✓ Podemos gerenciar por: ➢ Tabela de blocos livres (contíguos): considerando que blocos contíguos são geralmente alocados ou liberados simultaneamente, enxergam-se conjuntos de segmentos de blocos livres ARMAZENAMENTO DE MASSA Alocação de espaço em disco: Contígua ✓ Conjunto contíguo de blocos alocados na criação do arquivo ✓ Tabela de alocação contém uma entrada (bloco inicial e tamanho em blocos) para cada arquivo ✓ Necessário pré-alocação ARMAZENAMENTO DE MASSA Alocação de espaço em disco: Ligada (ou Encadeada) ✓ Cada bloco contém um ponteiro para o próximo ✓ Tabela de alocação contém uma entrada para o primeiro bloco e o tamanho em blocos ✓ Adequada para arquivos de aces so sequencial ✓ Para ter acesso a um determina do bloco é necessário percorrer a lista até o bloco desejado ARMAZENAMENTO DE MASSA Alocação de espaço em disco: Indexada ✓ A tabela de alocação contém o bloco que serve de índice (ponteiros dos blocos de dados) para cada arquivo ✓ O sistema operacional UNIX utiliza uma estratégia com mais de um nível de indireção (índice de índices) ARMAZENAMENTO DE MASSA RAID: Desempenho, Redundância e Proteção ✓ As técnicas de RAID (Redundant Array of Independent Disks, “Matriz Redundante de Discos Independentes”) foram desenvolvidas no final da década de 1980 por pesquisadores de Universidade da Califórnia, em Berkeley ✓ Consiste em um grupo de discos físicos que são tratados pelo SO como se fossem uma única unidade lógica ✓ Podem ser implementadas pelos controladores de discos (RAID externo) ou por software através do SO ou um sistema gerenciador de discos ARMAZENAMENTO DE MASSA ✓ Cada disco do stripe set é dividido em pedaços (stripes) ✓ Distribui as operações de E/S entre os diversos discos com o objetivo de aumentar o desempenho, ou seja, as operações podem ser processadas paralelamente RAID 0: Striping (fracionamento) ARMAZENAMENTO DE MASSA ✓ Sempre que um arquivo é gravado, seus dados são divididos em pedaços iguais e espalhados simultaneamente pelos stripes de diversos discos ✓ Caso haja falha em qualquer disco do stripe set, os dados serão perdidos, não há redundância RAID 0: Striping (fracionamento) ARMAZENAMENTO DE MASSA RAID 1: Mirroring (espelhamento) ✓ Replica todo o conteúdo de um disco (primário) em um ou mais discos (espelhos ou secundários) ✓ A redundância dessa técnica garante que no caso de falha no disco primário os discos espelhos serão utilizados de forma transparente ARMAZENAMENTO DE MASSA RAID 1: Mirroring (espelhamento) ✓ Todas as operações de escrita no disco primário são replicadas para os espelhos ✓ O overhead é pequeno e vantajoso, considerando o benefício de proteção aos dados ARMAZENAMENTO DE MASSA RAID 5: Paridade Distribuída ✓ Consiste em distribuir os dados entre os discos do array, implementando redundância baseada em paridade ✓ Os dados de paridade são armazenados nos discos do array junto com os dados ARMAZENAMENTO DE MASSA RAID 5: Paridade Distribuída ✓ Caso haja falha, os dados podem ser recuperados através de um algoritmo de reconstrução que utiliza as informações da paridade ✓ A capacidade útil é de 80% do total ✓ Gera um overhead nas operações de gravação em função do cálculo de paridade SISTEMAS OPERACIONAIS PARA REDES Prof. Luiz di Marcello Aula 8 – Sistemas Operacionais de Redes SISTEMAS OPERACIONAIS DE REDES OBJETIVOS DA AULA ❖ Diferenciar Sistema Operacional Local de Sistema Operacional de Rede ❖ Analisar o Modelo Cliente Servidor ❖ Identificar as diferentes Arquiteturas de Redes SISTEMAS OPERACIONAIS DE REDES SISTEMAS OPERACIONAIS LOCAIS (SOL) ✓ Antes do advento das redes de computadores, os computadores trabalhavam de forma isolada (stand alone ou stand-alone), sem que houvesse necessidade do SO dar suporte a rede ✓ Nesse caso o SO fornecia serviços como: ▪ gerenciamento do uso do processador ▪ alocação dos processos na memória principal ▪ controle do acesso aos dispositivos de E/S ▪ alocação de informações nos dispositivos de armazenamento (gerenciamento do sistema de arquivos) SISTEMAS OPERACIONAIS DE REDES SISTEMAS OPERACIONAIS LOCAIS (SOL) ✓ Este tipo de Sistema Operacional é denominado Sistema Operacional Local (SOL) ✓ Com o advento das redes de computadores houve acréscimo no hardware e novos componentes, ocasionando modificações nos SOL SISTEMAS OPERACIONAIS DE REDES SISTEMAS OPERACIONAIS DE REDE (SOR) ✓ Nas redes de computadores um sistema de comunicação interliga os equipamentos terminais (estações de trabalho) ✓ No hardware desses computadores introduziu-se um dispositivo de E/S responsável pela interface do computador com o sistema de comunicação: a placa de interface de rede ✓ O usuário passa, então, a acessar recursos na máquina local ou em uma outra máquina (remota) SISTEMAS OPERACIONAIS DE REDES SISTEMAS OPERACIONAIS DE REDE (SOR) ✓ Para atender a esta necessidade surgiram os Sistemas Operacionais de Redes (SOR), como extensão dos Sistemas Operacionais Locais (SOL), complementando-os com o conjunto de funções básicas, e de uso geral, necessárias à operação das estações, de forma a tornar transparentes o uso dos recursos compartilha dos, sejam locais ou remotos SISTEMAS OPERACIONAIS DE REDES REDIRECIONADOR ✓ Os SOR devem prover aos usuários acesso aos recursos de outras estações da rede (remotas) como se estivessem operando localmente, de forma transparente ✓ Para que haja essa extensão do SO das estações da rede, sem modificar sua operação local, foi a introduzido um módulo redirecionador ✓ A interface utilizada pelas aplicações para ter acesso aos recursos permanece inalterada, surgindo novos recursos (recursos virtuais) na estação SISTEMAS OPERACIONAIS DE REDES REDIRECIONADOR ✓ O redirecionador funciona interceptando as chamadas das aplicações ao SOL: se elas se referem a um recurso local o acesso é feito pelo SOL; se a chamada solicita acesso a um recurso remoto ela é desviada para o módulo do SOR SISTEMAS OPERACIONAIS DE REDES MODELO CLIENTE-SERVIDOR ✓ A aplicação solicita um serviço através de uma chamada ao SO, que executa o serviço solicitado e responde com o status da operação e transfere os dados resultantes para a aplicação ✓ No caso de uma rede, a interação com o SOR funciona: ▪ As estações que disponibilizam a outras estações o acesso a seus recursos são chamadas servidoras ▪ As estações que permitem que suas aplicações utilizem recursos compartilhados com outras estações são chamadas clientes SISTEMAS OPERACIONAIS DE REDES MODELO CLIENTE-SERVIDOR ✓ No caso de uma rede, a interação com o SOR funciona: ▪ O cliente a ter necessidade de um serviço faz uma chamada de sistema. O SOR, ao receber um pedido de acesso a um recurso localizado em uma estação remota, monta uma mensagem contendo o pedido e a envia ao servidor via rede ▪ No servidor, o SOR recebe a mensagem e providenciaa execução localmente. Nos casos onde o pedido envolve a devolução para o SOR na estação cliente este envia pela rede a resposta ao cliente SISTEMAS OPERACIONAIS DE REDES MODELO CLIENTE-SERVIDOR ✓ No caso de uma rede, a interação com o SOR funciona: ▪ O SOR da estação que requisitou o serviço recebe a mensagem transportando a resposta, ele faz sua entrega à aplicação local SISTEMAS OPERACIONAIS DE REDES MODELO CLIENTE-SERVIDOR ✓ Para que essa interação funcione os módulos de um SOR instalados podem ser de dois tipos: ▪SORC: módulo cliente do SO, instalado nas estações cliente, restringe-se a fornecer serviços de comunicação de pedidos para o servidor e a entregar as respostas às aplicações ▪SORS: módulo servidor do SO, instalado nas estações servidoras, além das funções de comunicação, outros serviços são executados: por exemplo, o controle do acesso aos recursos compartilhados através da rede, para evitar que um usuário não autorizado apague arquivos que não lhe pertencem SISTEMAS OPERACIONAIS DE REDES ARQUITETURA PEER-TO-PEER ✓ Em todas as estações o SOR possui ambos os módulos (SORC e SORS); todas as estações são clientes e servidoras ✓ Encontramos essa arquitetura em nossas casas quando realizamos o compartilhamento de recursos na rede ✓ Também chamada de Rede do Grupo de Trabalho, Rede Par-a-Par ou Rede Ponto-a-Ponto SISTEMAS OPERACIONAIS DE REDES ARQUITETURA CLIENTE SERVIDOR ✓ As estações da rede dividem-se em: ▪ estações clientes: possuem as funções do módulo cliente acopladas ao seu SOL ▪ estações servidoras: possuem as funções do módulo servidor e podem, opcionalmente, possuir funções do módulo cliente ✓ É a arquitetura mais indicada quando se precisa de permissões, controle e integridade. Podemos dizer que “numa ponta” da rede está o servidor que fornece os recursos (Arquivos, BD, DNS, etc.) e na “outra ponta” está o cliente que utiliza os recursos do servidor SISTEMAS OPERACIONAIS DE REDES SERVIDOR ✓ É o computador dotado de SORS, que fornece, oferece, provê serviços para uma rede de computadores, formada por estações dotadas de SORC ✓ Podemos num mesmo computador ter vários serviços (virtualização de servidores) ✓ DATA CENTERS em Nuvem oferecem diversos serviços SISTEMAS OPERACIONAIS DE REDES Servidores de Arquivos / Armazenamento (Storage) Oferece a seus clientes os serviços de armazenamento e acesso a informações e de compartilhamentos de discos, controlando unidades de discos ou outras unidades de armazenamento, sendo capazes de aceitar pedidos de transações das estações clientes e atendê-los utilizando seus dispositivos de armazenamento de massa, gerenciando um sistema de arquivos (remoto) SISTEMAS OPERACIONAIS DE REDES Servidores de Banco de Dados ✓ As aplicações baseadas no acesso a banco de dados podem utilizar um Sistema Gerenciador de Banco de Dados (SGBD) executado no cliente, que usa um servidor de arquivos para armazenar os arquivos dos bancos de dados ou utiliza um servidor de banco de dados ✓ O SGBD local primeiramente codifica o pedido do usuário, por exemplo, em uma consulta em SQL (Structured Query Language), com o critério de seleção definido pela aplicação ✓ Essa consulta é então enviada para o SGBD servidor SISTEMAS OPERACIONAIS DE REDES Servidores de Banco de Dados ✓ O servidor de banco de dados recebe o pedido e processa a consulta, lendo todos os registros do banco de dados, localmente, selecionando-os de acordo com o critério definido ✓ O SGBD servidor envia o resultado ao SGBD cliente, que os entrega à aplicação Aplicação Servidor SGBDSGBD Cliente Pedido Resposta Consulta SQL Acesso físico Base de dados Servidor de Banco de Dados Resposta SQL SISTEMAS OPERACIONAIS DE REDES Servidores de Impressão A finalidade é gerenciar e oferecer serviços de impressão a seus clientes, possuindo um ou mais tipos de impressoras acopladas, adequados à qualidade e/ou rapidez desejadas SISTEMAS OPERACIONAIS DE REDES Servidores de Comunicação ✓ Pode ser ligar às redes dispositivos sem inteligência, ou mesmo livrar o dispositivo a ser ligado dos procedimentos de acesso ✓ Então, é necessária uma estação especial de frente que será respon sável pela realização de todos os procedimentos de acesso à rede, bem como da interface com os dispositivos dos usuários, agindo como um concentrador SISTEMAS OPERACIONAIS DE REDES Servidores de Gerenciamento de Redes ✓ Um computador-servidor que realiza: ▪ O monitoramento do tráfego, da disponibilidade e do desempenho de uma estação da rede ▪ Monitoramento do meio de transmissão e de outros indicadores ✓ Possibilitam a detecção de erros, diagnoses e resoluções de problemas, tais como falhas, diminuição do desempenho, etc. SISTEMAS OPERACIONAIS DE REDES Servidores de Correio Eletrônico ✓ É um computador-servidor que envia, recebe e armazena e- mails, através de dois programas em funcionamento: ▪ um serviço SMTP (Simple Mail Transfer Protocol), um protocolo de transferência de correio, responsável pelo envio ▪ um serviço POP3 (Post Office Protocol) ou IMAP (Internet Mail Access Protocol), para recebimento de mensagens SISTEMAS OPERACIONAIS DE REDES Servidores de Aplicações ✓ Um computador-servidor que disponibiliza um ambiente para a instalação e execução de aplicações, centralizando e dispensando a instalação nos computadores clientes ✓ Os servidores de aplicação também são conhecidos por middleware SISTEMAS OPERACIONAIS DE REDES ✓ Engenheiro de Sistemas e Computação pela UERJ, Especialista em Sistemas Abertos e Mestre em Educação. Atualmente, é Coordenador (Graduação e Pós-Graduação), Professor adjunto e Tutor da Universidade Estácio de Sá. Tem experiência na área de Ciência da Computação, com ênfase em Arquitetura de Sistemas de Computação e Tecnologias da Informação e Computação, e também na área de Educação, com ênfase em Tecnologias de Informação e Comunicação nos Processos Educacionais ✓ http://lattes.cnpq.br/6477530917342363 Prof. Luiz di Marcello Senra Santiago SISTEMAS OPERACIONAIS PARA REDES Prof. Luiz di Marcello Aula 9 – Windows WINDOWS OBJETIVOS DA AULA ❖ Diferenciar as versões do Windows ❖ Identificar os comandos de redes de Windows ❖ Conhecer as características básicas do Windows Server 2012 WINDOWS Introdução ✓ O Windows é o SO dominante no mundo dos Computadores Pessoais (PC) ✓ Ele possui versões para Clientes de Redes (Estações de Trabalho), tais como Windows 7, 8 e 10, e para Servidores de Redes, como é o caso do Windows Server 2012 WINDOWS Sistemas Operacionais Clientes: MS-DOS ✓ Antes do SO com interface gráfica, o PC era de um modo geral gerido com interface orientada a caracter (linhas de comandos no prompt), como o MS-DOS, o que fazia os computa dores serem vistos como caixas pretas, com seu uso limitado a profissionais da área WINDOWS Sistemas Operacionais Clientes: Windows 3.1 ✓ Os SOs como os entendemos, com interface gráfica e facilidade de uso pelos usuários, foram popularizados a partir do advento do Windows 3.1, em 1992 WINDOWS Sistemas Operacionais Clientes: WFW 3.11 ✓ Logo em seguida, a MICROSOFT lançou o Windows 3.11 onde foi adicionado o suporte a grupos de trabalho, pois as redes corporativas haviam se tornando um modelo padrão nessa época ✓ A arquitetura dessa rede era peer-to-peer (ponto-a-ponto) WINDOWS Sistemas Operacionais Clientes: Windows 95 ✓ A Microsoft aproveitou a evolução do hardware e lançou, em 1995, o Windows 95, com uma nova interface ✓ O botão Iniciar, a barra de tarefas, o Explorer, entre outros elementos, eram as grandes novidades ✓ Na sequência vieram o Windows 98 e o Millenium, todos baseados no kernel do MS-DOS WINDOWS Sistemas Operacionais Clientes: Windows NT e 2000 ✓ Nesta mesma época a Microsoft surgiu o Windows NT (New Technology) nas versões Workstation e o Server, indicadospara uso empresarial das estações de trabalho em rede, que evoluíram para o Windows 2000 versões Professional e Server ✓ A arquitetura do NT era totalmente nova e diferente do kernel do MS-DOS: maior robustez, estabilidade e segurança WINDOWS Sistemas Operacionais Clientes: Windows XP ✓ Finalmente, em 2001, foi lançado o Windows XP nas versões Home e Professional: kernel do NT para uso doméstico, deixando de lado o MS-DOS ✓ O XP foi um enorme sucesso e gerou como sucedâneos o Vista, o Win7, Win8 e Win10 WINDOWS Sistemas Operacionais Clientes: Win7/8/10 ✓ Segundo o site https://www.netmarketshare.com/ o Win7 é o SO desktop mais utilizado, seguido de longe pelo Win10 https://www.netmarketshare.com/ WINDOWS Sistemas Operacionais Servidores ✓ A linha de SOs para Servidores da Microsoft iniciou com NT Server, passou pelo Windows 2000 Server, Windows 2003 Server, Windows 2008 Server, Windows 2012 Server e Windows 2016 Server ✓ Segundo o site https://w3techs.com/, os percentuais de servidores Linux e Windows Server nos websites é: https://w3techs.com/ WINDOWS Comandos de Redes do Windows ✓ Diversas ferramentas auxiliam no diagnóstico de problemas de conexão da rede: ▪ Pode recorrer à “Solução de Problemas” ▪ Ou, através de (linhas de comandos digitados) no “Prompt de Comando” ou no “Power Shell” (é um shell de linha de comando e linguagem de scripts projetado especialmente para a administração de sistemas) WINDOWS Comandos de Redes do Windows hostname Retorna o nome do computador local ipconfig Retorna as configurações da rede local em protocolo TCP/IP, e faz a atualização dos protocolos DHCP e DNS getmac Procura pelo endereço MAC (Media Acess Control), e faz a listagem das redes associadas na máquina local ou em toda rede WINDOWS Comandos de Redes do Windows nslookup Retorna informações sobre o DNS (Domain Name System) de um determinado número IP, ou número do host netstat Retorna as ligações ativas no protocolo TCP netsh Possibilita modificar configurações de uma rede local ou em uma máquina remota. Para que você possa ver sua lista de funções, digite dentro do comando “netsh”, o seguinte comando: “/?” WINDOWS Comandos de Redes do Windows tracert Lista o caminho para um determinado IP e lista o tempo que irá levar a cada salto ping Envia pacotes ICMP para um determinado endereço IP e verifica os níveis de conectividade e o tempo de resposta pathping Fusão dos comandos “tracert” + “ping”, fazendo uma identificação em algum problema no router ou em algum link da rede WINDOWS Windows 2012 Server: Características ✓ É uma plataforma que provê uma infraestrutura de aplicativos, redes e serviços Web conectados, atendendo desde o grupo de trabalho ao Data Center ✓ Foi desenvolvido com propósito de para expandir a definição de um sistema operacional de servidor, com grandes avanços na visualização, armazenamento e rede ✓ A capacidade de replicação, que permite a criação de quantas réplicas de documentos forem necessárias pela empresa (servidores diferentes e storage virtual) WINDOWS Windows 2012 Server: Características ✓ Virtualization Desktop Infrastructure (VDI), ou virtualização de desktop: qualquer máquina ligada à rede recebe o desktop do usuário; acesso ao desktop remoto em dispositivos móveis como smartphones e tablets ✓ Os clientes podem utilizar todos os recursos e facilidades do armazenamento na Nuvem para gerenciar sistemas, desenvolver aplicações, banco de dados e visualização de documentos WINDOWS Windows 2012 Server: Ferramentas Serviços de Domínio Active Directory (AD DS) Gerenciamento de rede, permite a implantação de controladores de domínio; Facilita a auditoria, o controle de autorização de acesso a arquivos, a execução de tarefas administrativas (local ou remota) Active Directory Rights Management Services (AD RMS) Gerenciamento e desenvolvimento que funcionam com as tecnologias de segurança: criptografia, certificados e autenticação; Ajuda as organizações a criarem soluções confiáveis para proteção de informações WINDOWS Windows 2012 Server: Ferramentas BitLocker Criptografa o HD, fornecendo melhor proteção contra roubo de dados ou exposição em computadores e unidades removíveis que são perdidos ou roubados Clusters de failover Alta disponibilidade e escalabilidade para várias cargas de trabalho de servidor; Incluem armazenamento de compartilhamento de arquivos para aplicativos de servidor como Hyper-V e Microsoft SQL Server e aplicativos de servidor que são executados em servidores físicos ou em máquinas virtuais WINDOWS Windows 2012 Server: Ferramentas Hyper-V Cria e gerencia ambientes virtualizados; Virtualiza o hardware para proporcionar um ambiente no qual você pode executar vários SOs ao mesmo tempo em um único computador físico, executando cada SO em sua própria máquina virtual IPAM (Gerenciamento de Endereço IP) Funcionalidades de administração e monitoramento altamente personalizáveis para a infraestrutura de endereços IP em uma rede corporativa WINDOWS Windows 2012 Server: Versões Datacenter Desenvolvido para ambientes de Nuvem Privada e Híbrida altamente virtualizados; 1 licença para cada 2 processadores; Número ilimitado de Máquinas Virtuais (VM) Standard Indicada para ambientes não virtualizados ou com baixa densidade de VM; Licenciamento por processador (versão Datacenter): 1 licença dá suporte para até 2 processadores e direito a 2 VM WINDOWS Windows 2012 Server: Versões www.microsoft.com/pt-br/cloud-platform/windows-server-comparison WINDOWS Windows 2012 Server: Versões Essentials Foco para pequenas empresas com até 25 usuários; Habilitado para Nuvem com uma interface de usuário intuitiva: execução de aplicações e serviços (mail, colaboração, backup online, entre outros); Sem virtualização (VM) Foundation Foco para pequenas empresas com até 15 usuários; Servidores com apenas um processador; Sem virtualização (VM) WINDOWS Windows 2012 Server: Requisitos de Instalação Memória Principal (RAM) • Mínimo: 512 MB / Recomendado: 2,5 GB • Ótimo: 4 GB ou superior Processador • Mínimo: 1 GHz / Recomendado: 2 GHz • Ótimo: 3 GHz ou superior Espaço de Disco (HD, SSD) • Mínimo: 32GB / Recomendado: 60GB • Performance: 80 GB WINDOWS ✓ Engenheiro de Sistemas e Computação pela UERJ, Especialista em Sistemas Abertos e Mestre em Educação. Atualmente, é Coordenador (Graduação e Pós-Graduação), Professor adjunto e Tutor da Universidade Estácio de Sá. Tem experiência na área de Ciência da Computação, com ênfase em Arquitetura de Sistemas de Computação e Tecnologias da Informação e Computação, e também na área de Educação, com ênfase em Tecnologias de Informação e Comunicação nos Processos Educacionais ✓ http://lattes.cnpq.br/6477530917342363 Prof. Luiz di Marcello Senra Santiago SISTEMAS OPERACIONAIS PARA REDES Prof. Luiz di Marcello Aula 10 – Linux LINUX OBJETIVOS DA AULA ❖ Identificar as distribuições Linux ❖ Operar o Linux em uma máquina virtual LINUX Introdução ✓ O Linux é um SO gratuito, estável, seguro e de código aberto, ou seja, pode ser copiado, modificado, distribuído e instalado quantas vezes quiser ✓ Na verdade o kernel Linux é gratuito, mas podem ser criadas distribuições pagas ✓ O SO Linux consiste na combinação do kernel Linux (Linus Torvalds, 1991)) com um conjunto de ferramentas GNU (Richard Stallman, 1983) que nos permitem interagir com esse kernel LINUX Distribuições de GNU/Linux ✓ Uma Distribuição Linux (ou simplesmente distro) é composta do kernel Linux, ferramentas GNU e um conjunto variável de aplicativos e utilitários diversos que agregam valor ao sistema ✓ Podem ser mantidas por indivíduos (Slackware, por Patrick Volkerding), por organizações (Red Hat, a SuSE, a Mandriva e o Ubuntu), por grupos ou comunidades (Debian e o Gentoo) LINUX Distribuições de GNU/Linux ✓ Embora existam
Compartilhar