















































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Linux e desenvolvimento operacional
Tipologia: Resumos
Compartilhado em 06/10/2021
2 documentos
1 / 55
Esta página não é visível na pré-visualização
Não perca as partes importantes!
















































logo
Introdu¸c˜ao Divis˜ao do kernel Linux QEMU
logo
Introdu¸c˜ao Divis˜ao do kernel Linux QEMU
O que ´e um kernel? Fun¸c˜oes do kernel Arquiteturas de kernel
(^1) Introdu¸c˜ao
O que ´e um kernel?
Fun¸c˜oes do kernel
Arquiteturas de kernel
(^2) Divis˜ao do kernel Linux
Sistema de arquivos
Gerenciamento de processos
Gerenciamento de mem´oria
Rede
Drivers de dispositivos
(^3) QEMU
Virtualiza¸c˜ao
QEMU
Usando o QEMU
logo
Introdu¸c˜ao Divis˜ao do kernel Linux QEMU
O que ´e um kernel? Fun¸c˜oes do kernel Arquiteturas de kernel
Figura: Vis˜ao em camadas de uma arquitetura de computador.
logo
Introdu¸c˜ao Divis˜ao do kernel Linux QEMU
O que ´e um kernel? Fun¸c˜oes do kernel Arquiteturas de kernel
logo
Introdu¸c˜ao Divis˜ao do kernel Linux QEMU
O que ´e um kernel? Fun¸c˜oes do kernel Arquiteturas de kernel
Figura: Intera¸c˜ao em um kernel monol´ıtico.
Monol´ıtico: todas as atividades b´asicas s˜ao executadas em
modo kernel, sendo que novas funcionalidades s˜ao providas
como m´odulos de kernel, ao inv´es de servidores em espa¸co de
usu´ario; busca maior eficiˆencia ao evitar trocas de contexto.
logo
Introdu¸c˜ao Divis˜ao do kernel Linux QEMU
O que ´e um kernel? Fun¸c˜oes do kernel Arquiteturas de kernel
Figura: Intera¸c˜ao em um kernel h´ıbrido.
H´ıbrido: segue uma abordagem pr´oxima ao micro-kernel,
por´em os servidores podem executar c´odigo em modo kernel,
reduzindo os custos devido a trocas de contexto.
Ainda h´a outras como nanokernel ou exokernel.
logo
Introdu¸c˜ao Divis˜ao do kernel Linux QEMU
Sistema de arquivos Gerenciamento de processos Gerenciamento de mem´oria Rede Drivers de dispositivos
logo
Introdu¸c˜ao Divis˜ao do kernel Linux QEMU
Sistema de arquivos Gerenciamento de processos Gerenciamento de mem´oria Rede Drivers de dispositivos
A glibc permite a transi¸c˜ao entre o modo de usu´ario e o
modo kernel; ao realizar uma chamada de sistema, um
processo de usu´ario torna-se um processo do kernel.
O kernel Linux, em si, n˜ao ´e um processo, mas um gerenciador
de processos, executado nas seguintes situa¸c˜oes: em resposta
a uma chamada de sistema, exce¸c˜ao ou interrup¸c˜ao ou, mais
raramente, em alguma thread do kernel, que seja respons´avel
por executar algumas fun¸c˜oes periodicamente.
logo
Introdu¸c˜ao Divis˜ao do kernel Linux QEMU
Sistema de arquivos Gerenciamento de processos Gerenciamento de mem´oria Rede Drivers de dispositivos
Figura: Mapa detalhado do kernel Linux.
logo
Introdu¸c˜ao Divis˜ao do kernel Linux QEMU
Sistema de arquivos Gerenciamento de processos Gerenciamento de mem´oria Rede Drivers de dispositivos
logo
Introdu¸c˜ao Divis˜ao do kernel Linux QEMU
Sistema de arquivos Gerenciamento de processos Gerenciamento de mem´oria Rede Drivers de dispositivos
Cada sistema de arquivos deve lidar com algumas estruturas
b´asicas: o superblock, o inode e o dentry.
superblock: respons´avel por armazenar informa¸c˜oes como o
tipo do sistema de arquivos, tamanho, dispositivo, lista de
inodes e suas opera¸c˜oes b´asicas, como cria¸c˜ao e remo¸c˜ao de
inodes.
inode: representa um objeto do sistema de arquivos (um
arquivo ou um diret´orio), contendo informa¸c˜oes como dono,
grupo, permiss˜oes, blocos e opera¸c˜oes (como leitura e escrita
no arquivo).
dentry: respons´avel por estabelecer a rela¸c˜ao entre nomes de
arquivos e inodes.
Ao separar os arquivos de seus nomes, ´e poss´ıvel atribuir
v´arios nomes a um mesmo arquivo (hard link).
logo
Introdu¸c˜ao Divis˜ao do kernel Linux QEMU
Sistema de arquivos Gerenciamento de processos Gerenciamento de mem´oria Rede Drivers de dispositivos
Figura: A estrutura do inode e suas opera¸c˜oes.
logo
Introdu¸c˜ao Divis˜ao do kernel Linux QEMU
Sistema de arquivos Gerenciamento de processos Gerenciamento de mem´oria Rede Drivers de dispositivos
Inicialmente o kernel Linux n˜ao oferecia suporte a aplica¸c˜oes
com m´ultiplas threads, sendo que elas deveriam ser
implementadas em modo usu´ario; isso causava problemas pois
quaisquer chamadas que levassem ao bloqueio de uma das
threads do processo em n´ıvel de kernel fazia com que todas as
outras threads daquele processo acabassem bloqueadas.
Atualmente o Linux oferece esse suporte no kernel, sendo que
tanto processos como threads s˜ao implementados utilizando a
id´eia de processos leves (lightweight process).
Dois processos leves podem compartilhar alguns recursos,
como espa¸co de endere¸camento e arquivos abertos, de tal
forma que sempre que um dos processos modifica um dos
recursos, o outro pode imediatamente perceber a altera¸c˜ao.
logo
Introdu¸c˜ao Divis˜ao do kernel Linux QEMU
Sistema de arquivos Gerenciamento de processos Gerenciamento de mem´oria Rede Drivers de dispositivos
Figura: A representa¸c˜ao de um processo no kernel.