sistemas operacionais atuais Participantes Victor Antonio Rodrigo Hernandes João Pedro Ronaldo Ribeiro João Carlos Erick sem nome
Introdução O sistema operacional tem como objetivo tornar o uso do computador mais eficiente e conveniente. Ele maximiza o uso do hardware e facilita o desenvolvimento e uso de programas. Para isso, oferece serviços essenciais, como carregamento de programas na memória, gerenciamento de arquivos, controle de periféricos e monitoramento de recursos para usuários compartilhando o sistema. As chamadas de sistema permitem que os programas solicitem serviços ao sistema operacional, enquanto o kernel gerencia processador, memória e entrada/saída. Além disso, interfaces como interpretadores de comandos e interfaces gráficas facilitam a interação do usuário com o sistema. RITA ·Volume VIII ·Número 1 ·2001 Revista informática https://www.linuxpro.com.br/2017/06/a-historia-dos-sistemas-operacionais
Alta disponibilidade refere-se à capacidade de um sistema de TI ser acessível e confiável quase 100% do tempo, minimizando ou eliminando inatividade. Isso envolve não apenas manter o sistema continuamente disponível, mas também garantir que ele opere conforme as expectativas ao longo do tempo. Além de cumprir os acordos de nível de serviço (SLA), alta disponibilidade visa garantir uma resiliência verdadeira no sistema https://www.redhat.com/pt-br/topics/linux/what-is-high-availability https://blog.projetoderedes.com.br/2020/05/alta-disponibilidade-de-rede-para-isps/ Alta disponibilidade de serviços em Sistemas Operacionais
Por que a alta disponibilidade é importante? A alta disponibilidade é crucial devido à crescente demanda por serviços online e cargas de trabalho híbridas. Ela garante que sistemas operem de forma contínua e funcional, muitas vezes medido pelos "cinco noves" (99,999% de uptime), especialmente em setores como saúde, governo e finanças. Empresas precisam de alta disponibilidade para minimizar interrupções, aumentar a produtividade, melhorar a experiência do usuário, proteger a reputação da marca, cumprir regulamentações e reduzir custos a longo prazo. Em resumo, é essencial para a resiliência e eficácia das operações em um ambiente digital cada vez mais exigente. Imagem gerada por IA https://www.redhat.com/pt-br/topics/linux/what-is-high-availability
Motivos que destacam a importância da alta disponibilidade incluem
Minimização de interrupções: A alta disponibilidade garante que os serviços permaneçam online e acessíveis, diminuindo o tempo de inatividade e prevenindo interrupções nos processos de negócios. Aumento da produtividade: Sistemas obtidos e confiáveis permitem que os colaboradores trabalhem com maior eficiência, livres de indenizações causadas por falhas. Melhoria da experiência do usuário: A alta disponibilidade oferece uma experiência do usuário mais satisfatória, proporcionando acesso contínuo a serviços e informações críticas. Proteção de confiança da marca : Interrupções frequentes podem melhorar significativamente a confiança de uma marca e prejudicar a confiança dos clientes. Conformidade com regulamentações: Em setores como saúde e finanças, a alta disponibilidade não é apenas desnecessária, mas frequentemente um requisito legal, essencial para garantir a segurança e a privacidade dos dados. Redução de custos: Embora o investimento inicial em alta disponibilidade possa ser elevado, a longo prazo, ele pode resultar em economias substanciais, minimizando custos com manutenção, suporte técnico e perdas financeiras decorrentes de inatividade. https://www.redhat.com/pt-br/topics/linux/what-is-high-availability
Como garantir alta disponibilidade?
Redundância: Duplicação de componentes críticos para garantir que o sistema continue funcionando mesmo em caso de falha de um deles. Clustering : Agrupamento de múltiplos servidores para distribuir a carga de trabalho e permitir o failover automático. Balanceamento de carga: Distribuição uniforme do tráfego entre os servidores para evitar sobrecarga e gargalos. Backup : Criação de cópias de segurança regulares dos dados para permitir a recuperação em caso de perda de dados. Monitoramento constante: Utilização de ferramentas para monitorar o desempenho e a integridade dos sistemas, permitindo a detecção precoce de problemas. Planos de recuperação de desastres: Definição de procedimentos e processos para restaurar os sistemas em caso de falhas catastróficas. https://www.redhat.com/pt-br/topics/linux/what-is-high-availability
Tecnologias e Ferramentas
Clustering: Conceitos básicos, tipos de cluster (failover, load balancing), software de clustering (Pacemaker, Corosync). Virtualização: Papel da virtualização na alta disponibilidade, live migration, snapshots. Armazenamento: RAID, SAN, NAS, replicação de dados, armazenamento em nuvem. Redes: Protocolos de alta disponibilidade (Heartbeat, VRRP), balanceamento de carga, redes redundantes. Sistemas Operacionais: Características de sistemas operacionais para alta disponibilidade (Linux, Windows Server), recursos específicos (HA clusters, live migration). https://www.blockbit.com/pt/blog/o-que-e-alta-disponibili0dade/
Implementação e Gestão
Planejamento : Análise de requisitos, desenho da arquitetura, seleção de tecnologias. Configuração: Configuração de sistemas, serviços e aplicativos para alta disponibilidade. Teste: Testes de failover, testes de carga, testes de recuperação de desastres. Monitoramento: Ferramentas de monitoramento, métricas a serem monitoradas, alertas Manutenção: Atualizações, patches, procedimentos operacionais padrão (POPs). https://www.blockbit.com/pt/blog/o-que-e-alta-disponibilidade/
Cenários de uso Centros de Dados: Alta disponibilidade em ambientes de produção. Serviços Críticos: Aplicações de missão crítica (bancos de dados, sistemas de e-commerce). Nuvem: Alta disponibilidade em ambientes de nuvem pública e privada https://www.blockbit.com/pt/blog/o-que-e-alta-disponibilidade/
Desafios e Considerações Custo : Análise de custo-benefício, otimização de recursos. Complexidade : Gestão de sistemas complexos, treinamento de pessoal. Desempenho : Impacto da alta disponibilidade no desempenho. Segurança : Segurança dos sistemas de alta disponibilidade. https://www.blockbit.com/pt/blog/o-que-e-alta-disponibilidade/
O que é um Sistema Distribuído? É uma rede de computadores interconectados que trabalham juntos para alcançar um objetivo comum, compartilhando recursos e processamento. Esse tipo de arquitetura busca superar as limitações de sistemas centralizados, oferecendo maior escalabilidade, tolerância a falhas e disponibilidade contínua. Ao distribuir tarefas entre várias máquinas, esses sistemas podem lidar com grandes volumes de dados e alta demanda de processamento, mantendo desempenho eficiente e resiliente, mesmo diante de falhas isoladas. https://www.atlassian.com/br/microservices/microservices-architecture/distributed-architecture
Middleware
software que está entre os programas criados e o sistema operacional, ou seja, é uma camada central, que tem a função de permitir que haja um gerenciamento de dados e uma comunicação entre camadas para o funcionamento de aplicações distribuídas. O middleware funciona como uma camada de tradução para interligar o sistema operacional com os programas https://cm-kls-content.s3.amazonaws.com/201901/INTERATIVAS_2_0/SISTEMAS_DISTRIBUIDOS/U1/LIVRO_UNICO.pdf
integração de sistemas operacionais
A integração de sistemas computacionais refere-se a formas e, por extensão, a tecnologias utilizadas para que haja a comunicação Normalmente, as aplicações, principalmente web, podem ser divididas em duas partes: o front-end e o back-end Geralmente, a integração entre essas duas partes se dá por meio do protocolo HTTP https://cm-kls-content.s3.amazonaws.com/201901/INTERATIVAS_2_0/SISTEMAS_DISTRIBUIDOS/U1/LIVRO_UNICO.pdf
Vantagens e Desvantagens
Compartilhamento de recursos: Otimiza o uso de processadores, memória e armazenamento, promovendo eficiência e redução de custos. Processamento concorrente: Permite a execução simultânea de tarefas em diferentes nós, aumentando a capacidade de processamento. Escalabilidade: Fácil expansão com a adição de novos nós, ajustando a capacidade conforme a demanda cresce. Tolerância a falhas: Resiliência a falhas individuais de nós, garantindo alta disponibilidade e confiabilidade. Transparência: O sistema é percebido como uma única entidade, facilitando o uso e a manutenção. Alta Disponibilidade: A redundância de componentes minimiza o risco de falhas catastróficas, garantindo a continuidade operacional do sistema, mesmo diante de falhas isoladas. https://www.atlassian.com/br/microservices/microservices-architecture/distributed-architecture
Complexidade: A natureza distribuída aumenta a complexidade, dificultando manutenção e desenvolvimento. Requer gestão avançada de dependências, coordenação e consistência de dados. Gerenciamento : A dispersão de componentes dificulta o controle centralizado. Ferramentas de monitoramento e configuração são essenciais para manter visibilidade e controle. Latência : A comunicação entre nós pode gerar latências, impactando o desempenho. É necessário gerenciar isso para garantir uma boa experiência ao usuário. Consistência : Manter a consistência dos dados é desafiador, especialmente com alta concorrência. A escolha do modelo de consistência certo é crucial para equilibrar desempenho e integridade. https://www.atlassian.com/br/microservices/microservices-architecture/distributed-architecture
Rastreamento Distribuído Técnica utilizada para monitorar e analisar o fluxo de solicitações em sistemas distribuídos. Permite correlacionar logs e métricas de diferentes componentes, oferecendo uma visão detalhada do comportamento do sistema. Diferente do monitoramento tradicional, mapeia todo o caminho das solicitações, destacando dependências, latências e possíveis falhas. https://www.atlassian.com/br/microservices/microservices-architecture/distributed-architecture
Tipos de arquiteturas
Cliente-Servidor Funcionamento : Aplicação dividida entre cliente e servidor. Vantagens : Simplicidade, escalabilidade, facilidade de manutenção. Desvantagens : Servidor pode se tornar um gargalo em alta demanda. Exemplos : Aplicações web, e-mail, bancos de dados. Arquitetura de Múltiplos Níveis Funcionamento : Segmenta a lógica em camadas, cada uma com função específica. Vantagens : Maior modularidade, fácil manutenção e escalonamento. Desvantagens : Maior complexidade e necessidade de coordenação. Exemplos : Sistemas corporativos, e-commerce, ERPs https://pt.wikipedia.org/wiki/Modelo_cliente%E2%80%93servidor https://learn.microsoft.com/pt-br/azure/architecture/guide/architecture-styles/n-tier https://www.atlassian.com/br/microservices/microservices-architecture/distributed-architecture
Peer-to-Peer (P2P) Funcionamento : Nós atuam como clientes e servidores, comunicando-se diretamente. Vantagens : Redundância, escalabilidade e resistência a falhas. Desvantagens : Desafios em gestão de recursos e segurança. Exemplos : Compartilhamento de arquivos, blockchain, Arquitetura SOA e Microsserviços SOA : Serviços independentes que formam uma aplicação; encapsulam funcionalidades complexas. Microsserviços : Serviços menores e especializados, cada um com uma única função e independência operacional. Vantagens : Flexibilidade, escalabilidade, fácil integração e entrega rápida. Desvantagens : Complexidade na comunicação e orquestração de serviços. Exemplos: E-commerce,, aplicações em nuvem. https://blog.casadodesenvolvedor.com.br/arquitetura-de-microsservicos/ https://pt.slideshare.net/slideshow/arquitetura-peer-topeer-p2p/41821430 https://www.atlassian.com/br/microservices/microservices-architecture/distributed-architecture
GRIDS COMPUTACIONAIS Também conhecido como computação em grade é uma infraestrutura de computação que combina recursos computacionais espalhados por diferentes localizações geográficas para atingir um objetivo comum. Todos os recursos não utilizados em diversos computadores são agrupados e disponibilizados para uma única tarefa. https://aws.amazon.com/pt/what-is/grid-computing/
Para que eles servem? Processamento de grandes tarefas Simulações matemáticas Economia de recursos Gerir e distribuir grandes conjuntos de dados Executar tarefas em paralelo para uma abordagem mais eficiente Servir como base para Private Clouds https://www.ovhcloud.com/pt/learn/what-is-grid-computing/ https://www.researchgate.net/figure/Figura-3-Ambiente-de-Grid-Computacional_fig2_266136998
Quais são os componentes que contém numa grade computacional? Nós : Os computadores ou servidores em uma rede de computação em grade são chamados de nós. Cada nó oferece recursos de computação não utilizados, como CPU, memória e armazenamento para a rede em grade. Middleware de Grade: E le trata da solicitação de capacidade de processamento adicional do sistema de computação em grade. Arquitetura da computação em grade https://aws.amazon.com/pt/what-is/grid-computing https://www.the-digital-insurer.com/library/grid-computing-at-scale-for-financial-services
Como é feita a arquitetura da computação em grade? A primeira camada consiste em aplicações de alto nível, como uma aplicação para a realização de modelagem preditiva. A segunda camada, também conhecida como middleware, realiza o gerenciamento e a alocação dos recursos solicitados pelas aplicações. . A terceira camada consiste em recursos computacionais disponíveis, como CPU, memória e armazenamento. A camada inferior permite que o computador se conecte a uma rede de computação em grade. https://aws.amazon.com/pt/what-is/grid-computing
Porque a computação em grade é importante?
Eficiência : Com a computação em grade, você pode dividir uma tarefa enorme e complexa em várias subtarefas. Múltiplos computadores podem trabalhar nas subtarefas simultaneamente. Custo : A computação em grade funciona com o hardware existente, o que significa que você pode reutilizar computadores existentes. Você pode economizar custos ao acessar seus recursos computacionais em excesso. Flexibilidade : A computação em grade não é restrita a uma instalação ou localização específica. Você pode configurar uma rede de computação em grade que abrange várias regiões. Isso permite que pesquisadores de diferentes países trabalhem de forma colaborativa com o mesmo poder de supercomputação. https://aws.amazon.com/pt/what-is/grid-computing
tipos de computação em grade
Grade computacional: Uma grade computacional consiste em computadores de alta performance. Ela permite que os pesquisadores usem a capacidade de computação combinada dos computadores. Os pesquisadores usam a grade computacional para realizar tarefas que exigem diversos recursos, como simulações matemáticas. Grade de limpeza: O termo limpeza descreve o processo de busca de recursos de computação disponíveis em uma rede de computadores regulares. Enquanto outros usuários da rede acessam os computadores para tarefas não relacionadas à grade, o software em grade utiliza esses nós quando estão livres. A grade de limpeza também é conhecida como limpeza de CPU ou ciclo de limpeza. Grade de Dados: Uma grade de dados corresponde a uma rede de computação em grade que se conecta a vários computadores para fornecer alta capacidade de armazenamento de dados. Você pode acessar os dados armazenados como se estivesse em sua máquina local sem precisar se preocupar com a localização física de seus dados na grade. https://aws.amazon.com/pt/what-is/grid-computing/
Diferenças entre clusters e grids computacionais
Clusters : São sistemas homogêneos (componentes semelhantes) e centralizados, otimizados para tarefas intensivas como simulações e processamento de grandes volumes de dados. Grids : São sistemas heterogêneos (componentes diferentes) e distribuídos geograficamente, capazes de executar uma ampla variedade de tarefas. Em resumo Clusters : Alto desempenho, tarefas específicas, ambiente controlado. Grids : Flexibilidade, diversas tarefas, ambiente distribuído. file:///C:/Users/PC/AppData/Local/Microsoft/Windows/INetCache/IE/7OCMC06I/LIVRO_UNICO[1].pdf