Você está na página 1de 85

Sistemas Operacionais II

Prof. Fernando Freitas

Estudo de Caso 1: UNIX e LINUX


10.1 Histria do Unix
10.2 Viso geral do Linux
10.3 Processos no Linux
10.4 Gerenciamento de memria no Linux
10.5 Entrada/Sada no Linux
10.6 O sistema de arquivos do Linux
10.7 Segurana no Linux
Material adaptado de: TANENBAUM, Andrew S. Sistemas Operacionais Modernos. 2 edio.
Disponvel em: http://www.prenhall.com/tanenbaum_br
Algumas partes deste material foram atualizadas com base na 3 edio deste livro.
Pearson Education

Sistemas Operacionais Modernos 2 Edio

Histria do UNIX e do Linux


UNICS
MULTICS (pesquisadores Mit e Bell Labs)
Bell Labs abandona o projeto
Ken Thompson escreve UNICS (assembly),
posteriormente grafado UNIX
Minicomputador PDP-7

Pearson Education

Sistemas Operacionais Modernos 2 Edio

Histria do UNIX e do Linux


UNIX PDP-11

Sucesso leva Unix para PDP-11


Resolve-se utilizar linguagem de alto nvel
Thompson prope e escreve B
Falta de recursos de B leva Ritchie a produzir e
implementar sua sucessora: C
C possua compilador excelente
Linguagem certa no momento certo
Tomou conta de universidades, onde sofreu
grandes melhorias
Pearson Education

Sistemas Operacionais Modernos 2 Edio

Histria do UNIX e do Linux


UNIX Porttil

Portabilidade mais fcil devido ser escrito em C


Interdata 8/32 foi o primeiro depois dos PDPs
Nasce a rede Unix
Com a dissoluo da AT&T (detentora dos
direitos do Unix), ela ativa uma subsidiria que
lana a primeira verso comercial do Unix, o
System III
Um ano depois lanado o System V devido a
pouca aceitao do System III
Pearson Education

Sistemas Operacionais Modernos 2 Edio

Histria do UNIX e do Linux


UNIX de Berkeley
Universidade da Califrnia em Berkeley, de
posse da Verso 6 do Unix e com vrios
incentivos prope inmeras melhorias como uso
de memria virtual e paginao, melhorias no
tratamento de sinais, nomes de arquivos
superiores a 14 caracteres, etc.
Conhecido com BSD
Introduziu vrios programas utilitrios como vi,
compiladores Pascal e Lisp
DEC e Sun baseiam suas verses de Unix nesta
Pearson Education

Sistemas Operacionais Modernos 2 Edio

Histria do UNIX e do Linux


UNIX Padro
System V e BSD totalmente incompatveis
Dificuldades no desenvolvimento de programas
para Unix
Vrias tentativas de padronizao frustradas
IEEE com o projeto POSIX prope 1003.1
(interseco do System V e do BSD)

Pearson Education

Sistemas Operacionais Modernos 2 Edio

Histria do UNIX e do Linux


MINIX
Lanado em 1987, foi desenvolvido por Andrew
S. Tanenbaum, visava ser um cdigo simples,
compreensvel e de fins educacionais
Baseado no projeto de microncleo
Em 2004, a verso 3 priorizou ainda mais a
modularizao, buscando se tornar um sistema
extremamente confivel. Deixa de ser voltado
para a rea educacional e passa a ser um sistema
altamente confivel.
Pearson Education

Sistemas Operacionais Modernos 2 Edio

Histria do UNIX e do Linux


Linux
Lanado em 1991 por Linus Torvalds, a verso
0.01 era um sistema de produo completo que
abrangia reas que o MINIX no atendia.
Duas GUIs diferentes (KDE e Gnome)
Se tornou um clone poderoso do Unix
Teve como maior impulso uma disputa judicial
entre a AT&T e a Universidade da Califrnia que
retirou o FreeBSD (sistema maduro e estvel,
com grande multido de seguidores desde 1977)
do mercado por algum tempo
Pearson Education

Sistemas Operacionais Modernos 2 Edio

Objetivos do Linux
Princpio da surpresa mnima
ls A*
rm A*

Fazer somente uma coisa, mas faz-la bem


feita (desempenho e flexibilidade)
Evitar redundncia inteis
cp ao invs de copy
Pearson Education

Sistemas Operacionais Modernos 2 Edio

Linux

As camadas de um sistema Linux


Pearson Education

Sistemas Operacionais Modernos 2 Edio

10

Interfaces para o Linux


A maioria das distribuies do linux para PC
substitui a interface orientada para teclado, pela
interface orientada para mouse, sem modificar o SO.

As interfaces grficas, so semelhantes as j


existentes, e englobam conceitos como arrastar e
soltar, clique para executar programas, etc.

Pearson Education

Sistemas Operacionais Modernos 2 Edio

11

Interfaces para o Linux


Estas interfaces grficas so executadas pelo
Sistema X Window, comumente chamado X11 ou
simplesmente X

Alm dos recursos oferecidos pela interface grfica,


usurios podem optar pela emulao de um terminal

Pearson Education

Sistemas Operacionais Modernos 2 Edio

12

Programas Utilitrios do Linux

Alguns dos programas utilitrios comuns do Linux


necessrios para o POSIX
Pearson Education

Sistemas Operacionais Modernos 2 Edio

13

Ncleo do Linux

Estrutura do ncleo do Linux


Pearson Education

Sistemas Operacionais Modernos 2 Edio

14

Processos no Linux
As entidades ativas no Linux so os processos
Cada processo executa inicialmente um nico
programa e uma nica thread
Threads podem ser criadas posteriormente
O Linux um sistema multiprogramado

Pearson Education

Sistemas Operacionais Modernos 2 Edio

15

Processos no Linux
Fork cria novos processos no linux, retornando 0
para filho e PID do filho para o processo pai.
Processos comunicam atravs de
chamados pipes ou atravs de sinais

canais

ls | grep b | sort -r | tee arquivo.out | wc -l

Processos s podem emitir sinais para seu grupo


de processos, ou seja, seus parentescos.

Pearson Education

Sistemas Operacionais Modernos 2 Edio

16

Chamadas ao Sistema para


Gerenciamento de Processos
O processo progenitor (pai) cria processos
prognitos (lhos), os quais, por sua vez, criam
outros processos, formando uma rvore de
processos.
O lho criado pela chamada ao sistema fork()
duplica o espao de memria do pai.
Pai e lho(s) executam concorrentemente a
partir da instruo a seguir o fork()

A funo fork() devolve valores diferentes para


o processo pai e processo lho permitindo
assim o programa pode tomar varias linhas de
ao atravs de uma instruo de controle (if)
Pearson Education

Sistemas Operacionais Modernos 2 Edio

17

Chamadas ao Sistema para


Gerenciamento de Processos

Pearson Education

Sistemas Operacionais Modernos 2 Edio

18

Chamadas ao Sistema para


Gerenciamento de Processos

Pearson Education

Sistemas Operacionais Modernos 2 Edio

19

Processos no UNIX

Criao de processo no Linux


Pearson Education

Sistemas Operacionais Modernos 2 Edio

20

Sinais POSIX

Sinais necessrios para o POSIX


Pearson Education

Sistemas Operacionais Modernos 2 Edio

21

Chamadas ao Sistema para


Gerenciamento de Processos

s um cdigo de retorno
pid um ID de processo
residual o tempo restante no alarme anterior
Pearson Education

Sistemas Operacionais Modernos 2 Edio

22

Shell do POSIX

Um shell altamente simplificado


Pearson Education

Sistemas Operacionais Modernos 2 Edio

23

Implementao de processos no Linux


Informaes da tabela de processos
Parmetros de escalonamento
Prioridade, qtde de tempo de CPU

Imagem da memria
Ponteiros para suas tabelas de pginas

Sinais
Sinais que esto sendo ignorados, capturados,
etc.

Pearson Education

Sistemas Operacionais Modernos 2 Edio

24

Implementao de processos no Linux


Informaes da tabela de processos
Registradores de mquina
Local que salva as informaes quando ocorre um
desvio de execuo para o ncleo

Estado da chamada de sistema


Informaes sobre a chamada
(parmetros e resultados)

de

sistema

Tabela de descritor de arquivo


Informaes que indicam onde
descritores de arquivos (i-node)

Pearson Education

esto

os

Sistemas Operacionais Modernos 2 Edio

25

Implementao de processos no Linux


Informaes da tabela de processos
Contabilidade
Tempo gasto de CPU em modo usurio e durante
chamadas de sistemas

Pilha do Ncleo
Pilha fixa a ser usada pela parte do ncleo do
processo

Miscelnia
Estado do processo atual
evento?, PID, PID do pai, etc)

Pearson Education

(est

esperando

Sistemas Operacionais Modernos 2 Edio

26

Implementao de processos no Linux


Copy on write (copiar-se-escrita)
Tcnica utilizada nos sistemas Linux para
reduzir custos com cpias de memria do
processo pai para processo filho
Consiste em inicialmente apontar as tabelas
de pgina do filho para as tabelas do pai, e
s alocar novos espaos de memria se
alguma escrita for solicitada
Economia de RAM
Pearson Education

Sistemas Operacionais Modernos 2 Edio

27

O Comando ls

Passos na execuo do comando ls digitado no shell


Pearson Education

Sistemas Operacionais Modernos 2 Edio

28

Flags para o clone do Linux

CLONE_PARENT

O novo thread tem o mesmo pai que o chamador

O chamador o pai do novo thread

Bits do mapa de bits sharing_flags


Pearson Education

Sistemas Operacionais Modernos 2 Edio

29

Escalonamento no Linux
O Linux distingue 3 classes de threads para questes de
escalonamento:
FIFO em tempo real
No preemptivel exceto por outra thread de FIFO de tempo real

Chaveamento circular em tempo real


Semelhantes aos anteriores, porm preemptveis e associados ao
quantum de tempo

Tempo compartilhado
Classe de prioridade mais baixa

A palavra tempo real vm do padro P1003.4 (extenses de


tempo real para UNIX)

Pearson Education

Sistemas Operacionais Modernos 2 Edio

30

Escalonamento no Linux
Possui uma fila de execuo (runqueue) que
mantm dois vetores:
Ativo
Threads na fila de execuo

Expirado
Threads que j foram executadas e tiveram seu
quantum de tempo expirado antes de conclurem suas
tarefas

Pearson Education

Sistemas Operacionais Modernos 2 Edio

31

Escalonamento no Linux
Quando o vetor de ativos est vazio, feito uma
varredura no vetor de expirados para que as threads
passem a fazer parte do vetor de ativos e vice-versa
Objetivo de evitar a inanio em threads de baixa
prioridade
Exceto quando threads FIFO de tempo real
tomem todo o tempo da CPU

Pearson Education

Sistemas Operacionais Modernos 2 Edio

32

Inicializando o Linux
Passos para inicializao
1. BIOS executa POST (Power-On-Self-Test) e
detecta e inicializa dispositivos
2. L e executa MBR
3. Executa o programa boot
4. L o diretrio raiz do dispositivo de boot
5. L o ncleo no SO e transfere o controle para
ele.
6. Clculo de RAM, desabilitao de interrupo
e habilitao de MMU, etc.

Pearson Education

Sistemas Operacionais Modernos 2 Edio

33

Inicializando o Linux
Passos para inicializao
7. Chama a rotina main em C para iniciar a parte
principal do SO
8. Inicializaes lgicas
9. Processo de deteco e auto configurao de
drivers e dispositivos
10.Alocar processo 0, ajust-lo e execut-lo
(programao do relgio, montagem do
sistema de arquivos raiz, criao do init e do
daemon de paginao processos 1 e 2)

Pearson Education

Sistemas Operacionais Modernos 2 Edio

34

Inicializando o Linux
Passos para inicializao
11.Verifica se o sistema mono ou multi-usurio
12.Login
13.Senha
14.Se ok, carrega shell do usurio, seno senha
novamente
15.Pronto, aguarda comandos

Pearson Education

Sistemas Operacionais Modernos 2 Edio

35

Inicializando o Linux

A seqncia de processos usada para iniciar


alguns sistemas Unix
Pearson Education

Sistemas Operacionais Modernos 2 Edio

36

Gerenciamento de Memria
O espao de endereamento de um processo
consiste de 3 segmentos:
Cdigo

Cdigo executvel do programa


Imutvel

Dado

Variveis do programa
2 partes: dados inicializados e no incializados (BSS)
Pgina zero esttica

Pilha

Variveis de ambiente
Comando de invocao

Pearson Education

Sistemas Operacionais Modernos 2 Edio

37

Gerenciamento de Memria
Se mesmo programa executando duas vezes:

Segmentos de cdigos compartilhados


Dados e pilhas nunca so compartilhados, exceto
quando um fork executado

Arquivos mapeados na memria

Mapeamento de arquivos em parte do espao de


endereamento do processo
Leitura de vetor de bytes na memria ao invs de
chamadas E/S
Dois ou mais processos podem mapear o mesmo
arquivo

Pearson Education

Sistemas Operacionais Modernos 2 Edio

38

Arquivos Mapeados em Memria

Dois processos podem compartilhar um arquivo mapeado


Pearson Education

Sistemas Operacionais Modernos 2 Edio

39

Chamadas ao Sistema para


Gerenciamento de Memria

s um cdigo de retorno (-1 se erro)


a e addr so endereos de memria
len um comprimento
prot controla proteo
flags arquivo privado/compartilhado,
addr obrigatrio/sugesto
fd um descritor de arquivo
offset um deslocamento de arquivo
Pearson Education

Sistemas Operacionais Modernos 2 Edio

40

Exerccios
1.
2.
3.
4.
5.

O que era o BSD?


Defina: Princpio da surpresa mnima.
Qual a funo do fork()? O que ele retorna?
Cite 3 informaes da tabela de processos.
Comente sobre o escalonamento de
processo no linux.

Pearson Education

Sistemas Operacionais Modernos 2 Edio

41

Gerenciamento de Memria Fsica


no Linux
3 tipos de zonas de memria:
ZONE_DMA
Zonas para operaes de DMA

ZONE_NORMAL
Pginas de mapeamento normal

ZONE_HIGHMEN
Endereos de memria alto
No so permanentemente mapeados

OBS: Diviso exata varia com hardware


Pearson Education

Sistemas Operacionais Modernos 2 Edio

42

Gerenciamento de Memria Fsica


no Linux

Na verso Alpha o Linux utilizava tabelas de


pginas de trs nveis
Pearson Education

Sistemas Operacionais Modernos 2 Edio

43

Gerenciamento de Memria Fsica


no Linux

A partir da verso 2.6.11 o Linux passou a


utilizar o esquema de 4 nveis para se tornar
eficiente em sistemas 32 e 64 bits
Pearson Education

Sistemas Operacionais Modernos 2 Edio

44

Mecanismos de Alocao de
Memria
Linux suporta diversos mecanismos de alocao:
Algoritmo do companheiro
Vetor contm as cabeas de listas de blocos com tamanhos de 0,
2, 4... Unidades (mltiplos de 2)
Fcil localizao de um bloco
Muita fragmentao

Alocador de fatias

Obtm blocos com algoritmo do companheiro


Divide-os em fatias (unidades menores)
Gerencia as fatias separadamente
Fatias podem estar cheias, parcialmente cheias ou vazias.

Pearson Education

Sistemas Operacionais Modernos 2 Edio

45

Mecanismos de Alocao de
Memria

Operao do algoritmo companheiro (buddy)


Pearson Education

Sistemas Operacionais Modernos 2 Edio

46

Paginao no Linux
Unix confiava em um processo trocador que
movimentava processos inteiros entre memria e
disco
O Linux passou a trabalhar com pginas
Daemon de paginao (processo 2) verifica e faz
alocao e liberao de memria fsica de
acordo com a demanda

Pearson Education

Sistemas Operacionais Modernos 2 Edio

47

Paginao no Linux
Segmentos de textos e arquivos mapeados so
paginados para seus arquivos no disco
O restante vai para uma rea de troca (arquivos
de paginao de tamanho fixo)
Pginas so alocadas no dispositivo ou partio
de paginao somente quando so necessrias

Pearson Education

Sistemas Operacionais Modernos 2 Edio

48

Algoritmo de Recuperao de
Molduras de Pginas
O Linux tenta manter algumas pginas livres de
forma que elas possam estar disponveis quando
necessrias
Esse grupo constantemente renovado
Algoritmo de Recuperao de Molduras de
Pginas (PFRA) responsvel por esta tarefa

Pearson Education

Sistemas Operacionais Modernos 2 Edio

49

Algoritmo de Recuperao de
Molduras de Pginas
Linux distingue 4 tipos de pginas:
No recuperveis
No podem ser excludas da memria

Trocvel
Devem ser escritas de volta, antes de serem solicitadas

Sincronizvel
Devem ser escritas no disco se estiverem sujas

Descartvel
Podem ser imediatamente solicitadas

Pearson Education

Sistemas Operacionais Modernos 2 Edio

50

Algoritmo de Recuperao de
Molduras de Pginas
Cada vez que o PFRA executado ele tenta
recuperar as pginas mais fceis, para em
seguida recuperar as mais difceis.
Se uma pgina for invlida, estiver bloqueada,
sendo usada para DMA, etc. ela ignorada

Pearson Education

Sistemas Operacionais Modernos 2 Edio

51

E/S no Linux
O linux integra dispositivos de E/S no sistema de
arquivos, chamando os de arquivos especiais
Estes arquivos podem ser acessados da mesma
forma que arquivos comuns
Arquivos especiais so divididos
categorias: bloco e caracteres

Pearson Education

em

duas

Sistemas Operacionais Modernos 2 Edio

52

E/S no Linux
Arquivos especiais de bloco consistem em uma sequncia
de blocos enumerados, onde cada bloco pode ser
acessado individualmente.
Arquivos especiais de caractere so empregados em
dispositivos em que a E/S ocorre em forma de fluxo de
caracteres.
Associado a cada arquivo especial existe um driver que
por sua vez possui um nmero de dispositivo principal
(talvez um secundrio tambm, se dispositivo >= 2) que
identifica o dispositivo
Pearson Education

Sistemas Operacionais Modernos 2 Edio

53

Transmisso em Rede
O conceito de transmisso em rede do linux foi copiado
quase que literalmente do Unix
Trabalha com o conceito de soquete
Cada soquete d suporte a um tipo especfico de
transmisso em rede:
Fluxo confivel de bytes orientado a conexo (protocolo TCP
padro)
Fluxo confivel de pacotes orientado a conexo
Transmisso no confivel de pacotes (protocolo UDP padro)

Pearson Education

Sistemas Operacionais Modernos 2 Edio

54

Transmisso em Rede

Uso de sockets para transmisso em rede


Pearson Education

Sistemas Operacionais Modernos 2 Edio

55

Chamadas de Sistema para E/S no Linux

As principais chamadas do POSIX para o gerenciamento de terminal:


As 4 primeiras ajustam a velocidade do terminal. Ex: ADSL
As 2 ltimas so usadas para configurao, interrupo de processos,
tratar o fluxo de controle, etc.

Pearson Education

Sistemas Operacionais Modernos 2 Edio

56

Implementao de E/S no Linux

Algumas operaes de arquivos para


dispositivos de caracteres tpicos
Pearson Education

Sistemas Operacionais Modernos 2 Edio

57

Implementao de E/S no Linux


O Sistema de E/S dividido em 2 partes:
Manipulador de arquivos especiais de bloco
Minimizar o n de transferncias: cache
Reduzir a latncia de movimentos repetidos da cabea
do disco: escalonador de E/S
Escalonador do elevador de Linus (causa inanio)
Verso revisada do escalonador inclui duas listas adicionais
que mantm as operaes de r/w ordernadas pelo prazo

Manipulador de arquivos especiais de caracteres


Disciplinas de linhas

Pearson Education

Sistemas Operacionais Modernos 2 Edio

58

Exerccios
1.
2.
3.
4.
5.

Como funciona o algoritmo de PFRA?


Qual a funo dos processos 1 e 2?
Defina daemon.
O que so arquivos especiais?
O sistema de E/S divida em duas partes.
Quais?

Pearson Education

Sistemas Operacionais Modernos 2 Edio

59

Mdulos no Linux
Durante dcadas, os drivers de dispositivos UNIX eram
estaticamente ligados ao ncleo
Cada centro computacional construa um ncleo
Se um novo dispositivo fosse adquirido ele religava o ncleo
Funcionou bem nas estaes de trabalho

Com a chegada do Linux para PC a quantidade de


dispositivos de E/S muito grande e tudo mudou
Usurios embora tenham acesso ao cdigo fonte, sente
dificuldades para incluir e atualizar drivers e religar o ncleo
Surgem os mdulos carregveis (blocos de cdigos que podem
ser carregados com o sistema em execuo)

Pearson Education

Sistemas Operacionais Modernos 2 Edio

60

Mdulos no Linux
Tarefas realizadas durante o carregamento de um
mdulo:
1.
2.
3.
4.

Realocao dinmica durante o carregamento


Verificar se recursos esto disponveis
Vetores de interrupo necessrios devem ser ajustados
Tabela de drivers deve ser ajustada para tratar deste novo tipo
de dispositivo
5. Driver executado para inicializar as caractersticas especficas do
dispositivo que forem necessrias

Quando as 5 etapas forem concludas o driver estar


totalmente instalado.

Pearson Education

Sistemas Operacionais Modernos 2 Edio

61

O Sistema de Arquivos do Linux


Origem com o MINIX 1
Busca por melhorias

Ext
255 caracteres e 2 GB

Ext2
Melhorias na capacidade e nos nomes dos arquivos
Principal sistema de arquivos por vrios anos

Suporte a vrios sistemas utilizando VFS (Virtual File


System
Pearson Education

Sistemas Operacionais Modernos 2 Edio

62

O Sistema de Arquivos do Linux


Caractersticas
255 caracteres

No faz distino entre arquivos ASCII e binrios


O proprietrio conhece o arquivo, o sistema no se
preocupa com isso
Qualquer caractere aceito, exceto NUL, no nome do
arquivo
Extenses no so obrigatrias
Extenses ilimitadas em tamanho e quantidade

Pearson Education

Sistemas Operacionais Modernos 2 Edio

63

O Sistema de Arquivos do Linux


Caractersticas
Diretrios podem ser usados por convenincia
Utiliza / (barra) para separar diretrios

Permite caminhos relativos e absolutos


Permite a criao de links
Permite arquivos especiais para mapear dispositivos de
bloco e caractere

Pearson Education

Sistemas Operacionais Modernos 2 Edio

64

O Sistema de Arquivos do Linux


Diretrios

Alguns diretrios importantes encontrados


na maioria dos sistemas Linux
Pearson Education

Sistemas Operacionais Modernos 2 Edio

65

O Sistema de Arquivos do Linux


Links

(a) Antes da ligao


Pearson Education

(b) Depois da ligao


Sistemas Operacionais Modernos 2 Edio

66

O Sistema de Arquivos do Unix


Mapeamento de Arquivos Especiais

(a)

(b)

(a) Sistemas de arquivos separados. Ex: Windows 98


(b) Aps a montagem. Ex: Linux
Pearson Education

Sistemas Operacionais Modernos 2 Edio

67

Arquivos com Impedimento


Permite travamento de arquivos refinado
Dois tipos de travamento
Compartilhado
Exclusivo

(a) Arquivo com um impedimento

(b) Adio de um segundo


impedimento

(c) Um terceiro impedimento

Pearson Education

Sistemas Operacionais Modernos 2 Edio

68

Chamadas ao Sistema para


Gerenciamento de Arquivos

s um cdigo de retorno
fd um descritor de arquivo
position um deslocamento no arquivo
Pearson Education

Sistemas Operacionais Modernos 2 Edio

69

A Chamada ao Sistema stat

Campos retornados pela chamada ao sistema stat


Pearson Education

Sistemas Operacionais Modernos 2 Edio

70

Chamadas ao Sistema para


Gerenciamento de Diretrio

s um cdigo de retorno
dir identifica um diretrio
entradir uma entrada no diretrio
Pearson Education

Sistemas Operacionais Modernos 2 Edio

71

Sistema de Arquivos do Linux


VFS (Virtual File System)
Superbloco
Sistema de arquivos especficos
read_inode, sync_fs

Dentry
Representa uma entrada de diretrio
create, link

I-node
Descreve um arquivo
d_compare, d_delete

Arquivo
Representao na memria de um arquivo aberto
read, write

Pearson Education

Sistemas Operacionais Modernos 2 Edio

72

Sistema de Arquivos do Linux


ext2 (2 sistema de arquivos estendido)
Bloco 0
No usado
Contm cdigo para inicializao do sistema

Depois dele, a partio dividida em grupos de


blocos, onde cada um contm:
Superbloco
Informaes sobre a organizao do sistema de arquivos

Descritor de grupo
Informaes sobre a localizao do mapa de bits, o n de blocos livres
e o nmero de diretrios no grupo

Pearson Education

Sistemas Operacionais Modernos 2 Edio

73

Sistema de Arquivos do Linux


ext2 (2 sistema de arquivos estendido)

Esquema do sistema de arquivos Ext2 do Linux


Pearson Education

Sistemas Operacionais Modernos 2 Edio

74

Sistema de Arquivos do Linux


ext2 (2 sistema de arquivos estendido)

Estrutura do i-node no Linux


Pearson Education

Sistemas Operacionais Modernos 2 Edio

75

Sistema de Arquivos do Linux


ext2 (2 sistema de arquivos estendido)

A relao entre a tabela de descritores de arquivos, a tabela


de descrio de arquivos abertos e a tabela de i-nodes
Pearson Education

Sistemas Operacionais Modernos 2 Edio

76

Sistema de Arquivos do Linux


ext3 (sistema de arquivos com dirio)
Altamente compatvel com o ext2
Trabalha com uma espcie de dirio onde todas as
operaes realizadas so descritas em sequncia, at
que tenham sido concludas

Utiliza um dispositivo de blocos para dirio (JBD) para


controlar as operaes de r/w no dirio. Este por sua
vez suporta 3 operaes:
Registro de dirio
Gerenciador de operaes atmicas
Transao
Pearson Education

Sistemas Operacionais Modernos 2 Edio

77

Sistema de Arquivos do Linux


/proc (processo)
Consiste basicamente em criar diretrios dentro de /proc
para cada processo em execuo

O nome do diretrio o nmero PID do processo em


decimal
Dentro deste diretrio ficam os arquivos quem contm
informaes acerca deste processo

Pearson Education

Sistemas Operacionais Modernos 2 Edio

78

NFS - Sistema de Arquivos


em Rede

a)
b)

Exemplos de sistemas de arquivos montados remotamente


Diretrios so mostrados como quadrados e arquivos como crculos
Pearson Education

Sistemas Operacionais Modernos 2 Edio

79

NFS - Sistema de Arquivos


em Rede

Utiliza 2 protocoloas cliente-servidor


O primeiro trata da montagem de diretrios

Retorna um controle de arquivo se caminho for vlido


Esse controle identifica de modo nico o sistema de arquivo, o disco, o i-node e
as informaes de segurana
Permite montagem esttica ou a automontagem

O segundo para acesso a arquivos e diretrios

Suporta as chamadas do sistema Linux, exceto as chamadas open e close


Utiliza lookup para substituir a chamada open
Tem a vantagem de no copiar qualquer informao para as tabelas do sistema.
A chamada read tem os parmetros: controlador do arquivo, deslocamento no
arquivo e n de bytes a ser lido
Um servidor com essas caractersiticas conhecido como sem estado (stateless)
Servidores sem estado, no podem utilizar os travamentos, por isso utilizam a
proteo rwx e a proteo por chave pblica

Pearson Education

Sistemas Operacionais Modernos 2 Edio

80

NFS - Sistema de Arquivos


em Rede

A estrutura em camadas do NFS


Pearson Education

Sistemas Operacionais Modernos 2 Edio

81

Segurana no Linux

Alguns exemplos de modos de proteo de arquivos


OBS:
x em arquivo = execuo
x em diretrio = busca
Pearson Education

Sistemas Operacionais Modernos 2 Edio

82

Chamadas ao Sistema para


Segurana no Unix

s um cdigo de retorno
uid e gid so o identificador de usurio - UID e o identificador de grupo GID, respectivamente
SETUID e GETGID do permisso de root a usurios temporariamente
Pearson Education

Sistemas Operacionais Modernos 2 Edio

83

Exerccios
1. Quais as vantagens de se utilizar mdulos no linux?
2. Cite pelo menos 4 caractersticas do sistema de
arquivos do linux.
3. Quais so os tipos de travamento permitidos pelo
Linux. Comente sobre eles.
4. Comente sobre o funcionamento do sistema de
arquivos ext3.
5. Diferencie i-node, v-node e r-node
6. Como feita a segurana de arquivos no linux.

Pearson Education

Sistemas Operacionais Modernos 2 Edio

84

FIM
Boa Noite

Pearson Education

Sistemas Operacionais Modernos 2 Edio

85