Prévia do material em texto
2018-07-24 1 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 HA RD W AR 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 AR E 2018-07-24 2 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 2018-07-24 3 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 2018-07-24 4 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 deprocessamento) 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ória principal 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 2018-07-24 5 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 2018-07-24 1 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 2018-07-24 2 PROCESSOS Estados do Processo: Modelo de 5 Estados NOVO Admissão Ocorrência do evento Dispatch LiberaçãoTime-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 2018-07-24 3 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) 2018-07-24 4 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 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 PROCESSOS 2018-07-24 1 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 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 2018-07-24 2 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 2018-07-24 3 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 2018-07-24 4 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 2018-07-24 1 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 2018-07-24 2 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 2018-07-24 3 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 anova 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 2018-07-24 4 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 2018-07-24 1 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 2018-07-24 2 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ênciacom 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 GERÊNCIA DE ENTRADA E SAÍDA Interrupção: Como ocorre Estrutura em Camadas de Software e Hardware 2018-07-24 3 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 2018-07-24 4 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 2018-07-24 5 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 2018-07-24 1 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 2018-07-24 2 SISTEMADE 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ção do 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 2018-07-24 3 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 2018-07-24 4 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 2018-07-24 1 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) 2018-07-24 2 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 2018-07-24 3 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 2018-07-24 4 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 2018-07-24 1 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 2018-07-24 2 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 acessoa 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 providencia a 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 2018-07-24 3 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 2018-07-24 4 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 2018-07-24 1 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) 2018-07-24 2 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, indicados para 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 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 é: 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) 2018-07-24 3 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 2018-07-24 4 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 2018-07-24 5 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.