Todo especialista em segurança, não importa se é da luz ou das trevas, ele tem que conhecer Windows, Linux e isso é muito importante. Bom, nesse curso aqui nós vamos nos aprofundar no Linux. Inclusive, já estou aqui com o Debian 13. Fiz esse download, acho que em torno de 10 dias atrás. Bom, com certeza já tem updates para serem naturalmente baixados e instalados. Olha que interessante! Bom, nós temos sempre que começar pelo sistema de arquivos. Então, aqui você consegue o meu livro. Então você vem aqui em Book, não importa o app, Book. Então você consegue fazer download do meu material. Você acompanha as aulas por esses dois cursos aqui, esses dois que eu grifei aqui. Tudo bem? Lembrando que a posição pode mudar. Então sempre começamos um curso de Linux por sistemas de arquivos, porque é o mais básico. Na verdade, o básico é o cara se movimentar em um sistema operacional. E nós temos que nos movimentar com maestria, principalmente nós, que vamos ter que fazer atividades ali. A toque de caixa e muito rápido. Um sistema de arquivos no Linux, por exemplo, ele é uma coleção muito bem estruturada de arquivos, ou seja, trata-se de uma estrutura de dados. No caso, aqui nós temos a ideia de uma árvore. Mas, mesmo que você tenha seu hard disk, seu pendrive, seu flop, seu CD, seu SSD, NVME, não importa, são sistemas secundários de armazenamento. Porque o sistema primário se chama memória RAM, ou DRAM, a sua memória principal, vamos colocar assim. Legal. Então, olha que interessante. O sistema secundário é mapeado aonde? Na memória. Então, quando você vê, por exemplo, vamos mostrar aqui, quando eu chego aqui, clear, cd, barrinha, desbarrei, fui lá para raiz e aqui eu venho LS traçuel. Quando eu fiz isso aqui, eu estou mapeando e navegando na memória. Então, naturalmente, a minha memória está linkada de alguma forma com o meu sistema secundário de armazenamento, meu sistema primário que está associado ao sistema secundário de armazenamento. E nós podemos ter, naturalmente, qualquer um desses daqui, meio de armazenamento secundário, bem como outros que vão vir no futuro, porque o sistema operacional é feito em camadas. Camada é uma arquitetura ótima para fazer abstrações. E com abstrações, eu posso se estender no futuro. Isso aqui é bacana. Bom, vamos lá. Tanto que os processos acessam a memória. Então, quer dizer que quando eu executei esse comando aqui, eu executei esse comando, um processo que ele executa contra memória, que, naturalmente, obtém informações do sistema secundário e monta para mim. E para isso, naturalmente, eu tenho ali alguns processos. Por exemplo, imagine que eu vou escrever arquivos. No passado, nossos processos escreviam diretamente no hard disk. Dava problema de escrita. Corrompia arquivos. Eu cheguei a pegar o final desse papo. Mas os sistemas operacionais evoluíram de tal forma que eu opero sobre a memória. Então, tem um dimãozinho que consegue fazer as devidas operações nos discos e ele garante um que não tenha uma coisa chamada região crítica. Se você não sabe o que é região crítica, você tem que ler o livro Tannenbaum, por exemplo, de sistemas operacionais. Vai ler esse livro aqui, beleza? Um livro fantástico. Então, para não entrar em região crítica, nós temos um dimãozinho aqui que faz as operações e isso resolveu todo o problema de falha de escrita diretamente no disco. Além da região crítica ser resolvida. Beleza? E essa evolução desse dimão vai chegar ao ponto de nós termos um cara chamado Journaling que nós vamos ler mais para frente. Beleza? Então Linux é um sistema de arquivo virtual. Windows você coloca o disco C2 pontos, mapeia a partição. Legal. Do jeito que você mapeia a partição está no disco. Está na memória e está no disco. No mundo Linux isso não é realidade. Por que? Eu posso ter primeiro todos esses dispositivos como um só virtualizado. Como um só. É sério. Dá para fazer isso. Assim como eu posso fazer uma montagem de um pendrive num determinado ponto de um árvore de arquivos que inicializou-se lendo do hard disk. Eu não estou dizendo que árvore de arquivos está no hard disk. Eu estou dizendo que a árvore iniciou mapeamento lá no hard disk e eu coloquei um pendrive lá no meio. Normalmente. Porque tudo virtual está na memória, coleguinha. Não precisa necessariamente estar ali gravado, chumbado, da mesma sequência como o Windows faz nos seus sistemas. Bom, o Windows vem evoluindo. Não estou por dentro da última, da última, por exemplo, padrão de formatação dele. Inclusive temos um capítulo sobre formatação física e formatação lógica mais para frente. Aí nós vamos falar sobre isso. Legal. Então eu tenho, olha só, vários processos. O Tânio Bolser sempre coloca processos como uma bolinha. As threads como um macarrãozinho dentro da bolinha. E esses processos, então, eles acessam esse virtual file system. E esse virtual file system tem um mecanismo que consegue chegar até o sistema bruto ali, sistema secundário bruto e fazer as devidas operações no sistema secundário. Quase que eu falei disco, mas o disco pelo menos nas estações de trabalho, virou passado. Mas disco ainda é muito comum em servidores e data centers. Legal. Então beleza. E, naturalmente, olha que legal. O Linux, ele é escrito em C. Beleza? Tem muita coisa também em C mais mais. Beleza. Porque os caras estão indo programar. Tudo isso em C, por uma programação muito difícil, gente. Então nós temos muitas bibliotecas escritas em C e que são naturalmente utilizadas por programas em C mais mais, fazendo as devidas importações. E, naturalmente, o Linux, ele é feito de tal forma que você consegue ver o seu próprio Linux. Como assim? Você consegue ver o código do seu próprio Linux. Vou pegar um exemplo aqui. Se você procurar por um arquivo, o que vai depender da sua distribuição, fs.h. No caso de um Debian, ele vai estar lá em usr.include.linux.fs.h. Como assim? Esse aqui é um arquivo de biblioteca. É um arquivo de biblioteca de funções. Muito comum no mundo C. Muito comum, muito comum mesmo. E aqui, então, nós temos códigos. E você consegue lá no repositório do Linux e ver esse arquivo lá. Você pode acompanhar a evolução do Linux, não só dentro do seu Linux, como também nos mecanismos de versionamento. Vamos dar uma olhada nesse arquivo. Esse arquivo, ele inclui outras bibliotecas de funções. E, então, ele tem algumas constantes, é definido constantes e teria mais código, mais para baixo. Isso aqui é apenas 9% do arquivo. Então, você pode ver. Então, você pode programar em C++. Por que eu estou falando isso? Porque esse curso não é só um curso de Linux. Desculpa-te falar agora que você já está aqui. Ele também é um curso de programação em C++, no Linux terminal. E você vai ver no capítulo de processos e no capítulo de instalação de componentes. Ou porque eu fiz isso? Você vai pirar, beleza? Mas, cenas para os próximos capítulos. Agora não. Vamos lá. Então, um programa em C++, você conseguiria chegar lá e importar essa biblioteca. Então, você está usando o símbolo de menor e maior, indicando que lá em... Aqui, nas bibliotecas do teu Linux, que geralmente tinha um diretório como include desse aqui, tem um diretório Linux e tem um arquivo chamado fs.h. Beleza? Aqui, ó, aí eu coloco aqui. Legal. Então, eu posso registrar daquele arquivo de funções, quais funções eu quero utilizar no meu programa, então eu utilizo. Ou seja, aqui eu estou mostrando, na verdade, estou mostrando que existem duas funções lá dentro para montar e desmontar sistemas de arquivo, ou seja, montar e desmontar volumes pelo próprio código em C++. Isso aqui, você pode estranhar esse final aqui, é porque isso aqui é uma assinatura de função. Beleza? Legal. Então, eu reparo que você pode fazer seus próprios comandos aqui no Linux e eu faço alguns com vocês aqui, né? Porque eu quero que vocês aprendam. Então, legal. Vamos lá. Nós temos o Kernel, que que é um sistema operacional? Na teoria, sistema operacional é o quê? Ele é uma máquina estendida. Porque imagine que a cada novo hardware que fosse entrar no mercado, você teria que reprogramar todos os seus programas. Então, colocar os meus programas direto em cima do hardware, ele é um grande problema, certo? E aí, naturalmente, bom, nós temos várias camadas, incluindo a camada do Kernel, que vem cada vez abstraindo mais. Lembre-se, cada vez que eu coloco uma camada, eu abstraio mais, abstraio mais. De tal forma que os seus programas vão estar em cima do Kernel, certo? Em cima do Kernel, você tem uma abstração tão elevada, tão elevada, que a mudança de um fabricante de disco, a mudança de uma placa de rede de wireless para cabeado é a RJ45, independe, independe para você. Você não importa. Bom, é lógico que cada camada de abstração faz mais operações e, naturalmente, você não tem todo o desempenho que você teria do hardware. E isso aqui é importante que vocês saibam, porque lá nas aulas de virtualização nós vamos falar sobre isso aí. Legal, então ele tem o virtual file system. Esse virtual file system está abaixo do Kernel e ele tem, naturalmente, as formatações lógicas, no caso bibliotecas com as formatações lógicas dele, que nós vamos usar no capítulo de formatação. Então ele é capaz, virtual file system, de usar essas bibliotecas para acessar os dispositivos de armazenamento secundário. Legal, legal, legal, legal. Agora, vamos lá. Dentro também eu tenho, por exemplo, definições de estruturas. Bom, imagine que você faz uma Select num banco de dados hoje em dia. Select, nome, telefone, from, pessoa. Não é isso? Tá, e isso aqui é igual. Só que está faltando um error aqui, né? Então nós usamos o Read e o Write do sistema operacional. E nós carregamos essa estrutura e mandamos para o Write. Nós mandamos o Read, ler e ele retorna essa estrutura para nós. Então essa estrutura é como se fosse uma máscara de leitura dos bits lá no sistema secundário de armazenamento. Olha como Linux é um sistema operacional fantástico para dar aula de sistemas operacionais. Porque você pode mostrar o sistema operacional. Se você leu esse livro aqui, esse livro vai falar sobre inodes, esse livro vai falar sobre como a inode é montado, como é feita a partição. Nós vamos falar também que no curso só que mais para frente. Como é montada a partição, o que é uma tabela inode, o que é um volume. Bom, legal. E aí, aqui você vê isso no código, cara. Isso aqui é fantástico. Essa estrutura, por exemplo, ela mantém informações de inode, onde está o endereço do inode, sobre escritas, sobre dourupar, sobre deletar, sobre remontar, fazer montagem de sistemas de arquivos, entre outras, naturalmente, funcionalidades que nós podemos carregar ali. Então aqui tem descrições mais, como eu posso dizer assim, aprofundadas ali dos tópicos aqui da nossa struct. Beleza? E se você tiver apenas mostrar como isso é versátil. Bom, próximo vídeo, vamos falar sobre os padrões dos Linux com relação à organização dos diretórios e por que isso é tão importante. Até mais, tchau!