Escolar Documentos
Profissional Documentos
Cultura Documentos
Sistemas de Operao
Antnio Rui Borges
super"loco
DETI
ta"ela $"itmap% de clusters de dados li&res
!ona de dados
ta"ela de ns-i
1-
( superbloco ) cont*m informa+o glo"al so"re o sistema de fic,eiros, nomeadamente so"re o taman,o e locali!a+o das regies restantes ( tabela de ns-i ) constitui um array cu-os elementos s+o ns-i .ue descre&em os atri"utos dos fic,eiros e/istentes0 os ns-i livres formam adicionalmente uma lista "iligada .ue est organi!ada como um 1I12 linear ( tabela de mapeamento cluster de dados n-i ) constitui um array com tantos elementos .uantos os clusters de dados e/istentes na zona de dados, a sua finalidade * especificar se o cluster em .uest+o est ou este&e anteriormente associado a um fic,eiro, caso em .ue o elemento cont*m o n3mero do n-i correspondente ( tabela $"itmap% de clusters de dados livres ) constitui um array de "its indicati&o de parte dos clusters da zona de dados .ue presentemente n+o est+o associados a .ual.uer fic,eiro0 cada "it do array referencia um cluster espec4fico, a.uele cu-o n3mero lgico corresponde ao respecti&o 4ndice ( zona de dados ) cont*m os clusters de dados5
DETI
1-'
!"l# = 1 +
em .ue !"l# representa o n3mero total de "locos do dispositi&o, t$lt o n3mero total de clusters da !ona de dados, "%" o n3mero de refer9ncias a clusters $"itmap% .ue podem ser arma!enadas num "loco, &%" o n3mero de refer9ncias a clusters .ue podem ser arma!enadas num "loco, "%$ o n3mero de "locos cont4guos .ue formam um cluster, "l#'n! o n3mero de "locos .ue a ta"ela de ns-i ocupa e a fun+o o menor inteiro maior ou igual ao argumento5
1-6
DETI
Organizao do superbloco - 1
A estrutura de dados .ue define o superbloco pode considerar-se di&idida em seis grandes regies de parametri!a+o
( cabealho ) * formado pelos campos magic, version, name, ntotal e mstat .ue cont9m o cdigo de identifica+o e a &ers+o do sistema de fic,eiros, o nome e o taman,o $em n3mero de "locos% do dispositi&o de memria de massa onde ele est instalado e uma fla( de sinali!a+o .ue indica se o dispositi&o foi ade.uadamente desmontado $retirado de opera+o% a 3ltima &e! .ue foi montado $posto em opera+o% ( caracterizao da tabela de ns-i ) descre&e a locali!a+o itable_start, e o taman,o $em n3mero de "locos%, itable_size, e $em n3mero de elementos%, itotal, da ta"ela de ns-i .ue se supe estar organi!ada como um array0 esta ta"ela inclui ainda a lista ligada de ns-i li&res .ue interliga parte dos seus elementos, os .ue est+o livres, numa lista "iligada; ifree indica o n3mero de ns-i presentemente livres e ihead e itail, respecti&amente, os 4ndices dos elementos correspondentes aos pontos de retirada e de inser+o de &alores
DETI
1-:
Organizao do superbloco - 2
( caracterizao da tabela de mapeamento cluster de dados n-i ) descre&e a locali!a+o, ciutable_start, e o taman,o $em n3mero de "locos%, ciutable_size, da ta"ela de mapeamento .ue se supe estar organi!ada como um array ( caracterizao da zona de dados ) descre&e a locali!a+o dzone_start, e o taman,o $em n3mero de clusters%, dzone_size, da !ona de dados, indica ainda .uantos clusters est+o presentemente li&res, dzone_free ( caracterizao do acesso a clusters de dados livres ) fctable_start e fctable_size descre&em, respecti&amente, a locali!a+o e o taman,o $em n3mero de "locos% da ta"ela $"itmap% de clusters de dados li&res, e fctable_pos o 4ndice da ta"ela a partir do .ual se de&e iniciar a pes.uisa de no&os clusters li&res0 por outro lado, dzone_retriev e dzone_insert especificam duas regies de arma!enamento temporrio, caches, de refer9ncias a clusters li&res para e&itar o recurso directo = ta"ela ( zona reservada ) espao e/cedente para garantir .ue o taman,o em ">tes de SOSuperBlock * e/actamente igual a BLOCK_SIZ 5
1-<
DETI
cache
DETI
cache id! cache de insero
cache de retirada
1-?
"anipulao do superbloco
dispositivo
2 superbloco est locali!ado no "loco A do array .ue representa o dispositi&o5 As rotinas .ue efectuam a sua manipula+o est+o definidas em basicoper
( transfer*ncia do conte+do do superbloco do dispositivo para a ,rea de armazenamento interno; soLoadSuperBlock ( obteno de um ponteiro para a ,rea de armazenamento interno;
so!etSuperBlock
DETI
1-@
DETI
1-B
DETI
1 - 1A
Do mesmo modo, mantendo a contagem do n3mero de ligaes primiti&as efectuadas, campo refcount, o apagamento de um fic,eiro passa a ser uma opera+o .ue se desen&ol&e prioritariamente so"re a entrada de directrio ) o fic,eiro s * realmente apagado .uando o n3mero de ligaes primiti&as se torna !ero5 2s campos o"ner e group definem a rela+o de pertena e s+o usados, con-untamente com os "its de controlo de acesso do campo mode, para esta"elecer o tipo de operaes .ue um utili!ador gen*rico pode reali!ar so"re o fic,eiro5 2s campos mtime e atime constituem a monitori!a+o de acesso ao fic,eiro5 Fote-se .ue eles s t9m este significado em ns-i ocupados5 Guando o n-i est li&re, de&em ser interpretados, respecti&amente, como prev e ne#t, ponteiros .ue &+o permitir implementar a lista de ns-i livres como uma lista "iligada5
DETI
1 - 11
DETI
p = $./S!0S'12 l + off l = p di& $./S!0S'12 off = p mod $./S!0S'12
1-1
Referenciao directa
d7A8 d718
DETI
clusters de dados
Departamento de Electrnica, Telecomunicaes e Informtica
d7FIDIREHT)18
1 - 1'
DETI
d7FIDIREHT8 d7FIDIREHTJ18 clusters de dados
Departamento de Electrnica, Telecomunicaes e Informtica
i1 ou i17A8 d7FIDIREHTJRKH)18
1 - 16
DETI
d7FIDIREHTJRKHL#8 d7FIDIREHTJRKHL#J18 d7FIDIREHTJRKHL$#J1%)18 clusters de dados
Departamento de Electrnica, Telecomunicaes e Informtica
1 - 1:
2 o taman,o em n3mero de ">tes do fic,eiro descrito &em e/presso pelo campo size e o n3mero de clusters .ue o seu conte3do informati&o ocupa, pelo campo clucount5 Fote-se, por*m, .ue o entendimento dado a estas &ari&eis * muito preciso; tamanho significa o maior &alor alguma &e! assumido pela posio actual aps a escrita de um ">te no continuum de dados0 n+mero de clusters ocupados corresponde ao n3mero de clusters .ue est+o efecti&amente reser&ados para arma!enamento do conte3do informati&o, incluindo portanto, se necessrio, os clusters de arma!enamento dos arrays parcelares de refer*ncias directas e indirectas5
DETI
1 - 1<
DETI
ihead tabela de n#s-i itail $ponto de insero%
1 - 1?
n-i ocupado
n-i li&re
$ponto de retirada%
( transfer*ncia do conte+do de um bloco espec4fico do dispositivo para a ,rea de armazenamento interno; soLoadBlockIn% ( obteno de um ponteiro para a ,rea de armazenamento interno;
so!etBlockIn%
DETI
( transfer*ncia do conte+do de um bloco espec4fico da ,rea de armazenamento interno para o dispositivo; soStoreBlockIn%5
Departamento de Electrnica, Telecomunicaes e Informtica
1 - 1@
DETI
1 - 1B
DETI
( transfer*ncia do conte+do de um bloco espec4fico da ,rea de armazenamento interno para o dispositivo; soStoreBlockC%In&%5
1- A
fctable pos
DETI
1- 1
fctable pos
DETI
1-
DETI
( transfer*ncia do conte+do de um bloco espec4fico da ,rea de armazenamento interno para o dispositivo; soStoreBlockB&ap%5
1- '
Organizao de um direct#rio
Cm directrio Cm directrio constitui neste sentido um tipo particular de fic,eiro cu-a fun+o * materiali!ar a descri+o da estrutura ,ierr.uica su"-acente, contendo refer9ncias para os fic,eiros .ue s+o &is4&eis a um dado n4&el da ,ierar.uia interna5 2 seu conte3do informati&o pode ser entendido como uma ta"ela de refer9ncias onde cada entrada associa o nome do fic,eiro com o seu identificador interno5
DETI
nome n-n#-i
1- 6
.arefas a efectuar
( ( ( ( (
preenc,imento dos campos do superbloco cria+o da tabela de ns-i cria+o da tabela de mapeamento cluster de dados n-i cria+o do directrio ra4z cria+o da tabela $bitmap% de clusters livres e iniciali!a+o condicional do conte3do dos clusters de dados
DETI
1- :
/enrios de teste - 1
Teste 1 $dispositi&o de 1AA "locos%
'(create mpt)*ile m)+isk ,-'(mkfs_sofs,. /n SO*S,. /i ,-- /z m)+isk
Teste
DETI
$omparar os resultados obtidos com a6ueles 6ue resultam do recurso ao pro(rama de formatao fornecido5 mkfs_sofs,._bin5 usando a ferramenta sho"block_sofs,.7
1- <
/enrios de teste - 2
Teste 6 $dispositi&o de 1AAA "locos%
'(create mpt)*ile m)+isk ,--'(mkfs_sofs,. /n SO*S,._,2.013456-,2.013456-,2. /i ,-- /z m)+isk
Teste
DETI
$omparar os resultados obtidos com a6ueles 6ue resultam do recurso ao pro(rama de formatao fornecido5 mkfs_sofs,._bin5 usando a ferramenta sho"block_sofs,.7
1- ?
0escarregamento do pacote
7ruib8ruib/laptop2 teste9: ll total 60/r"/r//r// , ruib ruib 3,1265 Sep ,6 -6;15 SO*S,2_alunos'zip /r"/r//r// , ruib ruib ..04., Sep 2. -0;., SO*S,._alunos,'zip 7ruib8ruib/laptop2 teste9: 7ruib8ruib/laptop2 teste9: unzip SO*S,._alunos,'zip <rchive; SO*S,._alunos,'zip ' ' ' 7ruib8ruib/laptop2 teste9:
DETI
1- @