Académique Documents
Professionnel Documents
Culture Documents
Alunos:
Edilberto Pereira
Gabriel Xavier
Componentes do sistema
Programas de
Gerenciamento do
Sistema
Processos de
Usurio
Programas utilitrios
de Usurio
Compiladores
Mdulos do Kernel
Licenciamento do Linux
Processos
O que so?
Quais so seus estados?
Como identifica-los?
Eles se comunicam?
Gerncia de Processos
O que um processo?
Estados de Processo
Ciclo de um Processo
Identidade do Processo
Identidade do processo
ID do processo cada processo tem um
identificador exclusivo. O PID.
Credenciais cada processo deve ter um ID de
usurio associado.
Personalidade cada processo tem um
identificador de personalidade associado que
pode modificar levemente a semntica de
certas chamadas do sistema.
Sinais
Memria Compartilhada
Memria compartilhada o mapeamento de
uma rea (segmento) da memria que ser
mapeada e compartilhada com mais de um
processo. Essa de longe a forma mais rpida
de IPC, pois no tem intermediao, ao invs
disso, a informao mapeada diretamente da
de um segmento de memria, e no espao de
endereamento do processo de chamada. Um
segmento pode ser criado por um processo, e
subsequentemente, gravado e lido a partir de
qualquer nmero de processo.
A principal desvantagem desse mtodo que a
Pipes
Semforos
Threads
No Linux no h conceito de threads, uma
forma de compartilhar recursos entre processos.
Nas chamadas de sistema clone() so passadas
flags correspondentes aos recursos especficos a
sempre compartilhados:
clone(CLONE_VM |CLONE_FS|
CLONE_SIGHAND);
CLONE_VM: pai e filho compartilham o espao
de endereamento;
CLONE_FS: pai e filho compartilham informaes
do sistema de arquivos;
CLONE_FILES: pai e filho compartilham arquivos
Escalonador de Processos
O escalonador o mecanismo que define qual
processo ser executado. Ao fazer isso o
escalonador responsvel pelo melhor
desempenho do sistema.
Existem duas classificaes para processos:
Politicas de Escalonamento
RR (Round-Robin):
OTHER (Outros):
Processos estticos.
Chamadas de Sistema
Os Tipos de Chamadas de Sistema:
Exemplo:
end, abort, load, execute, create process,
terminate process, etc.
Chamadas de Sistema
Exemplo:
open, read, write, close, create file, delete file, etc.
Exemplo:
request device, release device, read, write,
reposition.
Chamadas de Sistema
Exemplo:
getpid, alarm, sleep.
Exemplo:
Gerncia de Memria
Gerncia de Memria
Sistema de Pares
Gerncia de Memria
Outra forma de alocar memria no Linux
a alocao de placas. Uma placa utilizada para
alocar a memria para estruturas de dados do
kernel e composta por uma ou mais pginas
fisicamente contnuas. Um cache formado por
uma ou mais placas e existe um para cada
estrutura de dados. Quando um cache criado,
um determinado nmero de objetos alocado a
ele e o algoritmo de alocao de placas utiliza
caches para armazenar esses objetos do kernel.
Alocador de Placas
Algoritmo Companheiro
Algoritmo Companheiro
Paginao
A ideia bsica por trs da paginao no Linux
simples: um processo no precisa estar inteiro
para ser executado. necessrio apenas que a
estrutura do usurio e as tabelas estejam l. Se
isso acontecer, o processo considerado na
memria e pode ser escalonado para execuo.
Uma parte da paginao implementada pelo
ncleo e a outra, pelo novo processo denominado
daemon de pginao. Como todos os
daemons o de paginao periodicamente
executado. Uma vez acordado ele busca algum
trabalho a ser feito, Se ele vir que o nmero de
Memria Virtual
A tcnica de memria virtual foi criada para
permitir a execuo de vrios processos que no
estejam necessariamente armazenados por
inteiro na memria principal, aumentando a
capacidade de multiprocessamento de um
sistema de computao. A implementao feita
de duas formas: com paginao sob demanda ou
com segmentao sob demanda.
O kernel do Linux gerencia sua prpria
memria e, tambm, o espao de endereamento
do usurio, mantendo o espao de endereos
visvel para cada processo. As pginas de
Memria Virtual
O gerenciador de memria virtual possui duas
vises separadas do espao de endereos de um
processo: como um conjunto de regies
separadas e como um conjunto de pginas.
A primeira, do espao de endereos de um
processo como um conjunto de regies
separadas, uma viso lgica. Ela descreve as
instrues que o sistema de memria virtual
recebeu em relao ao formato do espao de
endereos. Esse espao de endereos
composto de um conjunto de regies no
sobrepostas. Cada regio descrita por uma
Sistema de arquivos
Ext2
Ext3
Ext4
ext2
Caractersticas :
1. Nomes de arquivos no podem exceder 255
caracteres.
2. O tamanho mximo de um nico arquivo
varia entre 16GB e 2TB
(dependendo do tamanho dos blocos).
3. O tamanho mximo de uma partio pode
ser entre 2 e 32TB.
ext3
ext4
Caractersticas :
5. Journal checksumming;
rvore de Arquivos
Os sistemas de arquivos na famlia UNIX
nunca foram muito organizados. Vrias
convenes de nomes incompatveis so
utilizadas ao mesmo tempo e diferentes tipos de
arquivos esto espalhados aleatoriamente pelo
espao de nomes. Em muitos casos, os arquivos
so divididos pela funo e no pela
probabilidade com que eles mudam, dificultando
a atualizao do sistema operacional.
H um local culturalmente correto para tudo.
particularmente importante no bagunar a
estrutura padro da rvore de arquivos sob o
Sistema de Arquivos
O Linux define sete tipos de arquivos. Mesmo
quando os desenvolvedores adicionam alguma
coisa nova, ela ainda tem de ser feita de maneira
a se encaixar como um dos sete tipos a seguir:
Arquivos Regulares
Os arquivos de texto, arquivos de dados,
programas executveis e bibliotecas
compartilhadas so armazenados como arquivos
regulares. Tanto o acesso sequencial como o
aleatrio so permitidos.
Diretrios
Um diretrio contm referncias com nomes
para outros arquivos. Voc pode criar diretrios
com mkdir e exclu-los com rmdir se estiverem
vazios. Voc pode excluir diretrios no vazios
com rm r.
Pipes Identificados
Links Simblicos
Um link simblico ou soft link aponta para um
arquivo pelo nome. A diferena entre links fsicos
e links simblicos que o link fsico uma
referncia direta enquanto um link simblico
uma referncia por nome; links simblicos so
distintos dos arquivos para os quais eles
apontam. Como os links simblicos podem conter
caminhos arbitrrios, eles podem referenciar
arquivos em outros sistemas de arquivos ou
arquivos inexistentes.
Subsistema de E/S
Ele responsvel pela execuo das tarefas
comuns aos dispositivos, sendo que as funes
especificas ficam como responsabilidade dos
drivers. O subsistema E/S oferece uma interao
com as camadas superiores de forma igualitria.
Os dispositivos trabalham com unidades de
informao com diversos tamanhos(caracteres ou
blocos) e o subsistema repassa essas
informaes sem ter acesso s informaes.
Gerncia de dispositivos
O Linux divide todos os dispositivos em trs
classes:
Dispositivos de blocos.
Dispositivos de caracteres.
Dispositivos de rede.
Dispositivos de Blocos
Os dispositivos de blocos incluem todos os
dispositivos que permitem o acesso aleatrio a
blocos de dados de tamanho fixo completamente
independentes.
Os dispositivos de blocos so tipicamente
utilizados para armazenar sistemas de arquivos,
mas o acesso direto a um dispositivos de blocos
tambm permitido de modo que os programas
possam criar e reparar o sistema de arquivos que
o sistema contm. As aplicaes tambm podem
acessar esses dispositivos de blocos diretamente
se desejarem.
Dispositivos de Caracteres
Os dispositivos de caracteres incluem a
maioria dos outros dispositivos, tais como
mouses e teclados. A diferena fundamental entre
os dispositivos de blocos e de caracteres o
acesso aleatrio. Os dispositivos de bloco podem
ser acessados aleatoriamente enquanto os
dispositivos de caractere s podem ser
acessados serialmente.
Dispositivos de Rede
Os dispositivos de rede so manipulados de
modo diferente para dispositivos de blocos e
caracteres. Os usurios no podem transferir
dados diretamente para dispositivos de rede; em
vez disso eles devem se comunicar indiretamente
abrindo uma conexo para o subsistema de
conexo de rede do kernel.
Perguntas, duvidas ou
indagaes...