Prévia do material em texto
1 marcos bruno silva de oliveira MERCADO DE AGÊNCIAS DE TURISMO ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS FÍSICA GERAL E EXPERIMENTAL ME MERCADO DE AGÊNCIAS DE TURISMO ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS Funcionalidade de Processos e Threads Gerenciamento de Arquivos e Sistemas de Diretórios Gerenciamento de Memória: Alocação e Memória Virtual Virtualização e Contêinerização SÃO LUIS 2024 MArcos bruno silva de oliveira ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS Trabalho textual de administração de sistemas operacionais 2°; semestre apresentado como requisito parcial para a obtenção de média semestral. Orientadora: wesley viana perreira SÃO LUIS 2024 SUMÁRIO UNIDADE 1 :Funcionalidade de Processos e Threads.........................................6-13 UNIDADE 2 : Gerenciamento de Arquivos e Sistemas de Diretórios .................14-21 UNIDADE 3: Gerenciamento de Memória: Alocação e Memória Virtual.............22-31 UNIDADE 4: Virtualização e Contêinerização ...................................................32-37 1.INTRODUÇÃO unidade 1 "Funcionalidade de Processos e Threads" Administração de Sistemas Operacionais Este portfólio apresenta os resultados da aula prática sobre "Funcionalidade de Processos e Threads" na disciplina de Administração de Sistemas Operacionais. A atividade foi realizada em ambiente virtualizado utilizando o software VirtualBox e o sistema operacional Linux. 2.OBJETIVO unidade 1 "Funcionalidade de Processos e Threads" tabela de objetivos Objetivos Descrição Compreender os conceitos de processos e threads em sistemas operacionais. Processos e threads são unidades básicas de execução em sistemas operacionais. Os processos representam programas em execução, enquanto as threads são sequências independentes de execução dentro de um processo. Identificar e explicar os tipos de implementações de threads: nível de kernel, nível de usuário e multiplexação. - Threads de nível de kernel: gerenciadas pelo sistema operacional. - Threads de nível de usuário: gerenciadas pela biblioteca de threads em espaço de usuário. - Multiplexação: técnica que permite a execução concorrente de múltiplas threads em um único processo. Demonstrar a comunicação entre processos em sistemas operacionais Linux usando comandos no shell e o uso de pipes. Utilize comandos como ps, top, kill, pgrep e pkill para visualizar, monitorar e gerenciar processos. Os pipes (` Utilizar comandos como "top" e "ps" para monitorar processos e threads. - top: exibe informações dinâmicas sobre os processos em execução.- ps: lista informações detalhadas sobre os processos em execução. Relacionar a funcionalidade de processos e threads, discutindo os estados de threads e o significado de cada um. Estados de threads incluem: executável, pronto, em execução, bloqueado, terminado. Esses estados refletem o ciclo de vida de uma thread, desde sua criação até sua finalização. Comparar diferentes arquiteturas de sistemas operacionais. - Arquiteturas monolíticas: sistema operacional inteiro reside em memória.- Arquiteturas em camadas: sistemas operacionais divididos em camadas com funcionalidades específicas.- Arquiteturas de micronúcleo: núcleo mínimo com serviços adicionais 3 PROCEDIMENTO: unidade 1 "Funcionalidade de Processos e Threads" 1. Criação de Máquina Virtual: Ø O software VirtualBox foi instalado e configurado. Ø Uma máquina virtual foi criada com o sistema operacional Linux. 2. Tipos de Implementação de Threads: · Nível de Kernel: As threads são gerenciadas pelo kernel do sistema operacional. Vantagens: Maior eficiência, melhor desempenho e escalabilidade. Desvantagens: Maior complexidade de implementação e menor portabilidade. · Nível de Usuário: As threads são gerenciadas por bibliotecas de software em espaço do usuário. Vantagens: Maior portabilidade e flexibilidade de desenvolvimento. Desvantagens: Menor eficiência e desempenho em comparação com o nível de kernel. · Multiplexação: Técnica que permite que várias threads compartilhem um único thread do kernel. Vantagens: Maior eficiência no uso de recursos do sistema. Desvantagens: Menor escalabilidade e desempenho em comparação com threads de nível de kernel. 3.1 PROCEDIMENTO: unidade 1 "Funcionalidade de Processos e Threads" 3. Comunicação entre Processos: Ø Comando "ping": Exemplificou um processo simples. Ø Comando "ps": Identificou o PID do processo "ping". Ø Comando "top": Monitorou os processos em tempo real. 4. Comunicação entre Processos com Pipes: Ø Comando "ls -l": Exemplificou um processo que gera saída. Ø Comando "ls -l | less": Passou a saída para outro processo. 5. Estados de Threads: Ø Ready: A thread está pronta para ser executada. Ø Running: A thread está em execução no processador. Ø Blocked: A thread está aguardando um evento para continuar. Ø Terminated: A thread finalizou sua execução. 3.2 PROCEDIMENTO: unidade 1 "Funcionalidade de Processos e Threads" 6. Comparação de Arquiteturas: tabela comparativa das arquiteturas monolítica e de microkernel: Arquitetura Monolítica Microkernel Definição Todos os componentes do sistema operacional são executados em um único espaço de endereço. Os componentes do sistema operacional são divididos em módulos que se comunicam através de interfaces bem definidas. Vantagens - Maior simplicidade de implementação.- Menor overhead. - Maior modularidade.- Maior flexibilidade.- Maior escalabilidade. Desvantagens - Menor flexibilidade.- Menor modularidade.- Menor escalabilidade. - Maior complexidade de implementação.- Maior overhead. Essa tabela destaca as principais diferenças entre as duas arquiteturas, destacando suas vantagens e desvantagens distintas. 4 RESULTADO unidade 1 "Funcionalidade de Processos e Threads" Ø tabela visionária dos resultados: Resultados Descrição Compreensão profunda dos conceitos de processos e threads. Os indivíduos têm um entendimento sólido dos conceitos fundamentais por trás de processos e threads, incluindo suas características, diferenças e aplicações em sistemas operacionais. Habilidade para identificar e explicar diferentes tipos de threads. Os participantes são capazes de distinguir entre os tipos de implementações de threads, incluindo nível de kernel, nível de usuário e multiplexação, e explicar suas características e usos. Demonstração eficaz da comunicação entre processos com pipes. Os alunos são capazes de demonstrar a comunicação entre processos utilizando pipes de forma eficaz,mostrando compreensão do funcionamento dos pipes e como eles facilitam a troca de dados entre processos no sistema operacional. Monitoramento eficiente de processos e threads com comandos. Os participantes conseguem utilizar comandos como "top" e "ps" de maneira eficiente para monitorar o desempenho de processos e threads em um sistema operacional, identificando e analisando informações relevantes sobre sua execução. Entendimento completo dos estados de threads e seus significados. Os estudantes compreendem os diferentes estados pelos quais uma thread pode passar durante seu ciclo de vida (executável, pronto, em execução, bloqueado, terminado) e podem explicar o significado e as transições entre esses estados. Comparação precisa de diferentes arquiteturas de sistemas operacionais. Os participantes são capazes de comparar e contrastar diferentes arquiteturas de sistemas operacionais, incluindo monolítica e microkernel, destacando suas vantagens, desvantagens e aplicações em diversos contextos de computação. Essa tabela visa destacar os resultados esperados após o estudo e prática dos objetivos mencionados. 5 CONCLUSÃO : unidade 1 "Funcionalidade de Processos e Threads" A aula prática proporcionou uma experiência valiosa para aprofundar o conhecimento sobre processos e threads em sistemas operacionais. A aplicação prática no Linux consolidou a compreensão teórica, permitindo aos participantes explorar diretamente os conceitos discutidos em sala de aula. Ao utilizar comandos no shell, como "ps", "top" e a implementação de pipes para a comunicação entre processos, os alunos puderam não só entender, mas também experimentar na prática como os processos e threads interagem e são gerenciados em um ambiente real de sistema operacional. Essa abordagem prática enriqueceu significativamente a compreensão dos participantes sobre o tema, proporcionando uma base sólida para sua aplicação futura em contextos reais de desenvolvimento e administração de sistemas. 6 Referências Bibliográficas: unidade 1 "Funcionalidade de Processos e Threads" · Sistemas Operacionais Modernos - Andrew S. Tanenbaum: · Administração de Sistemas Operacionais - William Stallings: · [The Linux Command Line - William E. Shotts Jr.] 1.INTRODUÇÃO unidade 2 - Gerenciamento de Arquivos e Sistemas de Diretórios Portfólio Completo - Gerenciamento de Arquivos e Sistemas de Diretórios Introdução: Este portfólio apresenta os resultados da aula prática sobre "Gerenciamento de Arquivos e Sistemas de Diretórios" na disciplina de Administração de Sistemas Operacionais. A atividade foi realizada em ambiente virtualizado utilizando o software VirtualBox e o sistema operacional Linux. 2. OBJETIVOS : unidade 2 - Gerenciamento de Arquivos e Sistemas de Diretórios Ø tabela de objetivos : Objetivos Descrição Capacitar os alunos a gerenciar arquivos e diretórios no ambiente Linux. Fornecer aos alunos habilidades práticas para manipular arquivos e diretórios, incluindo criação, edição, exclusão, navegação e organização de dados. Explicar o funcionamento do gerenciador de pacotes no Linux. Descrever o processo de instalação, atualização e remoção de software usando gerenciadores de pacotes como apt, yum, dnf, entre outros. Ensinar o controle de permissões em arquivos e diretórios no Linux. Demonstrar como configurar permissões de acesso para usuários, grupos e outros em arquivos e diretórios, garantindo segurança e privacidade. Promover a compreensão das diferenças entre as arquiteturas de sistemas Linux. Explorar as variações entre as arquiteturas de sistemas operacionais Linux, como monolítica, microkernel, distribuições baseadas em Debian e Red Hat. 3. PROCEDIMENTOS : unidade 2 - Gerenciamento de Arquivos e Sistemas de Diretórios 1. Criação de Máquina Virtual: · O software VirtualBox foi instalado e configurado. · Uma máquina virtual foi criada com o sistema operacional Linux. 3.1 PROCEDIMENTOS : unidade 2 - Gerenciamento de Arquivos e Sistemas de Diretórios 2 .Aqui está a tabela que resume o gerenciamento de arquivos e diretórios e o gerenciamento de pacotes: Ø Gerenciamento de Arquivos e Diretórios Descrição ls Listar arquivos e diretórios no diretório atual. pwd Exibir o diretório atual. cd Navegar entre diretórios. mkdir Criar um novo diretório. touch Criar um novo arquivo. cp Copiar arquivos ou diretórios. mv Mover ou renomear arquivos ou diretórios. rm Remover arquivos ou diretórios (cuidado com este comando). Ø Gerenciamento de Pacotes Ø Descrição sudo apt update Atualizar a lista de pacotes. sudo apt install Instalar um pacote. sudo apt remove Remover um pacote. sudo apt search Pesquisar pacotes disponíveis. Esta tabela resume os comandos utilizados para gerenciar arquivos e diretórios, assim como o funcionamento básico do gerenciador de pacotes apt em sistemas Linux baseados no Debian/Ubuntu. 3.2 PROCEDIMENTOS : unidade 2 - Gerenciamento de Arquivos e Sistemas de Diretórios Ø 3 Controle de Permissões Descrição Verificar e Alterar Permissões: Foi demonstrado como verificar e alterar permissões de arquivos e diretórios usando comandos como chmod e chown. Conceitos de Permissões: Os conceitos de permissões (r, w, x) e a importância do usuário, grupo e outros foram explicados. Ø Diferenças entre Arquiteturas: As principais diferenças entre as arquiteturas de sistemas Linux, como Debian e Red Hat, foram pesquisadas e explicadas. Isso incluiu o sistema de gerenciamento de pacotes, estrutura de diretórios, etc. 4 RESULTADO : unidade 2 - Gerenciamento de Arquivos e Sistemas de Diretórios Ø Tabela de Resultados - Aula Prática de Gerenciamento de Arquivos e Sistemas de Diretórios Objetivo Resultado Demonstração eficaz de comandos de gerenciamento de arquivos e diretórios * Alunos executaram com sucesso comandos como ls, pwd, cd, mkdir, touch, cp, mv e rm. * Compreenderam a sintaxe e os parâmetros de cada comando. * Interpretaram os resultados dos comandos de forma precisa. Compreensão completa do funcionamento do gerenciador de pacotes no Linux * Alunos explicaram o funcionamento do gerenciador de pacotes apt. * Identificaram os diferentes tipos de pacotes disponíveis. * Executaram comandos para instalar, remover e atualizar pacotes. * Pesquisaram pacotes por nome e por palavra-chave. Execução bem-sucedida dos comandos de gerenciamento de pacotes * Alunos instalaram, removeram e atualizaram pacotes utilizando o apt sem erros. * Resolveram problemas comuns de gerenciamento de pacotes. * Utilizaram o apt para instalar software adicional necessário para a aula prática. Compreensãoprofunda das permissões de arquivos e diretórios * Alunos explicaram os conceitos de permissões de arquivos e diretórios (r, w, x). * Identificaram o proprietário, o grupo e as outras permissões de um arquivo ou diretório. * Alteraram as permissões de arquivos e diretórios usando comandos como chmod e chown. * Justificaram a importância de configurar as permissões de forma adequada. Explicação clara das diferenças entre as arquiteturas Linux * Alunos identificaram as principais diferenças entre as arquiteturas Debian e Red Hat. * Compararam os sistemas de gerenciamento de pacotes, estruturas de diretórios e outros aspectos das duas arquiteturas. * Discutiram as vantagens e desvantagens de cada arquitetura. 5 CONCLUSÃO : unidade 2 - Gerenciamento de Arquivos e Sistemas de Diretórios Ø A aula prática proporcionou uma experiência valiosa para aprofundar o conhecimento sobre gerenciamento de arquivos, diretórios e pacotes no Linux. A aplicação prática no sistema operacional consolidou a compreensão teórica e possibilitou a análise do funcionamento real desses conceitos. 6 Referências Bibliográficas: unidade 2 - Gerenciamento de Arquivos e Sistemas de Diretórios · Administração de Sistemas Operacionais - William Stallings: https://es.wiktionary.org/wiki/removido · The Linux Command Line - William E. Shotts Jr.: https://es.wiktionary.org/wiki/removido · Documentação do Debian: https://www.debian.org/doc/ · Documentação do Red Hat: https://access.redhat.com/ 1. INTRODUÇÃO : unidade 3 Gerenciamento de Memória: Alocação e Memória Virtual Ø Este portfólio apresenta os resultados da aula prática sobre "Gerenciamento de Memória: Alocação e Memória Virtual" na disciplina de Administração de Sistemas Operacionais. A atividade foi realizada em ambiente virtualizado utilizando o software VirtualBox e o sistema operacional Linux. 2. OBJETIVOS : unidade 3 Gerenciamento de Memória: Alocação e Memória Virtual Ø Apresentar o conceito de gerenciamento de memória no sistema operacional Linux. Ø Demonstrar o uso prático da ferramenta HTOP para monitorar o uso de memória. Ø Introduzir comandos importantes para o gerenciamento de memória no Linux. Ø Explicar a divisão da memória em texto, dados e pilha. Ø Comparar as diferenças entre arquiteturas de sistemas operacionais. 3 PROCEDIMENTOS : unidade 3 Gerenciamento de Memória: Alocação e Memória Virtual 1. Criação de Máquina Virtual: Tarefa Descrição Detalhes Adicionais Instalação do VirtualBox Baixe e instale o software VirtualBox do site oficial (https://www.virtualbox.org/). Certifique-se de baixar a versão compatível com o seu sistema operacional. Configuração do VirtualBox Abra o VirtualBox e configure as opções de memória, processador e disco rígido para a sua máquina virtual. A quantidade de memória alocada deve ser suficiente para o sistema operacional Linux funcionar. Criação da Máquina Virtual Siga as instruções do assistente de criação de máquina virtual para escolher o sistema operacional (Linux) e instalar o sistema. Selecione a versão do sistema operacional Linux de sua preferência. 3.1 PROCEDIMENTOS : unidade 3 Gerenciamento de Memória: Alocação e Memória Virtual 2. Monitoramento de Memória com HTOP: Tarefa Descrição Detalhes Adicionais Instalação do HTOP Verifique se o HTOP já está instalado. Se não, instale-o com o comando adequado para sua distribuição. Debian/Ubuntu: sudo apt-get install htop Execução do HTOP Abra o terminal e digite o comando "htop" para iniciar a ferramenta. Análise da Memória Observe as informações sobre memória total, usada, livre, cache e buffers. Preste atenção à porcentagem de memória utilizada e aos processos que mais consomem memória. Navegação pelos Processos Utilize as setas do teclado para navegar pela lista de processos e visualizar o consumo de memória de cada um. Você pode ordenar os processos por diferentes critérios, como uso de memória, CPU e tempo de execução. 3.2 PROCEDIMENTOS : unidade 3 Gerenciamento de Memória: Alocação e Memória Virtual 3. Comandos de Consulta de Memória: Comando Descrição Detalhes Adicionais free -h Exibe informações sobre a memória física e swap. top Abre o utilitário de monitoramento de processos interativo. ps aux Lista todos os processos em execução com detalhes, incluindo uso de memória. pmap Exibe informações de memória para um processo específico. Substitua pelo ID do processo que você deseja analisar. 3.3 PROCEDIMENTOS : unidade 3 Gerenciamento de Memória: Alocação e Memória Virtual 4. Divisão da Memória: Área de Memória Descrição Detalhes Adicionais Texto Armazena o código do programa em execução. O código é carregado na memória quando o programa é iniciado. Dados Armazena as variáveis e outros dados do programa. Os dados podem ser alterados durante a execução do programa. Pilha Armazena informações sobre o contexto de execução do programa. A pilha é usada para armazenar os endereços de retorno de funções e outros dados temporários. 3.4 PROCEDIMENTOS : unidade 3 Gerenciamento de Memória: Alocação e Memória Virtual 5. Comparação de Arquiteturas: Característica Arquitetura x86 Arquitetura ARM Tamanho de Palavra 32 ou 64 bits 32 bits Endereçamento de Memória Segmentação e paginação Paginação Proteção de Memória Segmentação e proteção de página Proteção de página Vantagens Compatibilidade com grande variedade de hardware Baixo consumo de energia Desvantagens Maior custo Menor desempenho em comparação com x86 4. RESULTADO : unidade 3 Gerenciamento de Memória: Alocação e Memória Virtual Ø HTOP: O HTOP foi utilizado com sucesso para monitorar o uso de memória do sistema em tempo real. Ø Comandos de Memória: Os comandos de consulta de memória foram executados e interpretados com sucesso, fornecendo informações detalhadas sobre o uso de memória do sistema. Ø Divisão da Memória: O resumo e o diagrama ilustrativo demonstram uma compreensão clara da divisão da memória em texto, dados e pilha. Ø Comparação de Arquiteturas: O quadro comparativo apresenta um resumo claro das principais diferenças entre as arquiteturas x86 e ARM em relação ao gerenciamento de memória. 5. CONCLUSÃO : unidade 3 Gerenciamento de Memória: Alocação e Memória Virtual Ø A aula prática proporcionou uma experiência valiosa para aprofundar o conhecimento sobre gerenciamento de memória no Linux. A aplicação prática de ferramentas como HTOP e comandos de memóriaconsolidou a compreensão teórica e possibilitou a análise do funcionamento real do gerenciamento de memória em um sistema operacional. A pesquisa sobre a divisão da memória e as diferentes arquiteturas contribuiu para uma visão mais ampla e abrangente do tema. 6. Referências Bibliográficas: unidade 3 Gerenciamento de Memória: Alocação e Memória Virtual · Administração de Sistemas Operacionais - William Stallings: https://es.wiktionary.org/wiki/removido · Documentação do Debian: https://www.debian.org/doc/ · Documentação do Red Hat: https://access.redhat.com/ · HTOP - Monitor de Processos: https://htop.dev/ 1.INTRODUÇÃO : unidade 4 Virtualização e Contêinerização Este portfólio apresenta os resultados da aula prática sobre "Virtualização e Contêinerização" na disciplina de Administração de Sistemas Operacionais. A atividade foi realizada em ambiente virtualizado utilizando o software VirtualBox e o sistema operacional Linux. O objetivo principal era aprofundar o conhecimento sobre as tecnologias de virtualização e contêinerização, suas diferenças e aplicações práticas. 2OBJETIVO : unidade 4 Virtualização e Contêinerização · Compreender os conceitos de virtualização e contêinerização em sistemas operacionais. · Diferenciar virtualização de contêineres e entender suas respectivas aplicações. · Demonstrar exemplos práticos de implementação de virtualização e contêineres. · Comparar as arquiteturas de virtualização e contêineres, destacando suas vantagens e desvantagens. 3 PROCEDIMENTO : unidade 4 Virtualização e Contêinerização 1. Criação de Máquina Virtual: Ø O software VirtualBox foi instalado e configurado. Ø Uma máquina virtual foi criada com o sistema operacional Linux Ubuntu. Ø A quantidade de memória RAM alocada à máquina virtual foi definida de acordo com os recursos do sistema físico. Ø Um disco rígido virtual foi criado e configurado. Ø O sistema operacional Linux Ubuntu foi instalado na máquina virtual. 2. Instalação do Docker: Ø O cache dos pacotes do sistema foi atualizado. Ø Os pacotes necessários para instalação de pacotes via HTTPS foram instalados. Ø A chave GPG oficial do Docker foi adicionada. Ø O repositório Docker foi adicionado às fontes do APT. Ø O Docker foi instalado e configurado para ser executado na inicialização. 3. Configuração de Ambiente de Contêineres: Ø A plataforma de contêineres Docker foi utilizada. Ø Um contêiner com um servidor web Nginx foi criado utilizando uma imagem existente. Ø O contêiner foi executado e a aplicação web foi acessada com sucesso via navegador web. 4. Comparação de Arquiteturas: Ø Um documento em Word foi criado para destacar as diferenças entre virtualização e contêineres. Ø Imagens e capturas de tela das etapas anteriores foram utilizadas para ilustrar as diferenças. Ø Um breve texto foi escrito para explicar as vantagens e desvantagens de cada tecnologia. 4 RESULTADO : unidade 4 Virtualização e Contêinerização ü A máquina virtual foi criada e configurada com sucesso. ü O Docker foi instalado e configurado com sucesso. ü Um contêiner com um servidor web Nginx foi criado e executado com sucesso. ü O documento comparativo entre virtualização e contêineres foi criado com sucesso, detalhando as características, vantagens e desvantagens de cada tecnologia. 5 CONCLUSÃO : unidade 4 Virtualização e Contêinerização A aula prática proporcionou uma experiência valiosa para aprofundar o conhecimento sobre virtualização e contêinerização em sistemas operacionais. A aplicação prática de ferramentas como VirtualBox e Docker consolidou a compreensão teórica e possibilitou a implementação de exemplos práticos de cada tecnologia. A comparação entre virtualização e contêineres contribuiu para uma visão mais ampla e abrangente das vantagens e desvantagens de cada método, permitindo a escolha da tecnologia mais adequada para diferentes cenários. 6 REFÊNCIAS BIBLIOGRÁFICAS : unidade 4 Virtualização e Contêinerização · Administração de Sistemas Operacionais - William Stallings: https://es.wiktionary.org/wiki/removido · Documentação do Docker: https://docs.docker.com/ · Documentação do VirtualBox: https://www.virtualbox.org/wiki/Documentation image1.jpg