Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
94)
Um Sistema Operativo software que gere o hardware e providencia um ambiente que
permite correr programas aplicacionais. um intermedirio entre o utilizador e o
hardware.
Arquitecturas:
Processador nico;
Multiprocessador - 2 ou mais processadores partilham memria fsica e
dispositivos perifricos. O design mais comum nesta arquitectura o
multiprocessamento simtrico (SMP), onde todos so considerados pares (peers)
e so independentes uns dos outros.
O multiprocessamento permite que vrios jobs estejam na memria ao mesmo tempo,
organizando-os de modo a que o CPU tenha sempre um para executar. Sempre que o job
que est em execuo tiver de esperar por algo colocado em espera.
No timesharing (multi-tarefa), o CPU muda de job frequentemente e bastante depressa,
dando a ideia que cada job est sempre a correr correctamente.
Para evitar que os processos interfiram com o funcionamento correcto do sistema, o
hardware tem dois modos: o utilizador e o ncleo. Certas instrues so privilegiadas e
podem apenas ser executadas no ncleo.
Um sistema distribudo um conjunto de computadores independentes que aparecem
aos utilizadores como um s e que tm o objectivo de partilhar tarefas. Os sistemas
distribudos permitem aos utilizadores partilhar recursos em hosts dispersos via rede.
Pode ser feito atravs do modelo cliente-servidor ou do modelo peer-to-peer.
Os dois tipos bsicos de rede so LAN e WAN. As LAN permitem que processadores
prximos geograficamente comuniquem entre si, enquanto que a WAN o faz para uma
rea maior. As LAN costumam ser mais rpidas.
Semforos
processo 2
...
sem_wait(S);
S2;
...
...
2 - Paginao
Permite que o espao do endereo fsico de um processo no seja contnuo. A paginao
evita o problema de se ter de encaixar pedaos de memria de diferentes tamanhos na
Cache.
A paginao consiste em dividir a memria fsica em blocos de dimenso fixa (frames)
e a memria lgica em blocos da mesma dimenso (pginas). Quando um processo est
para ser executado, as suas pginas so carregadas para quaisquer frames disponveis na
cache. A tabela de pginas usada para traduzir os endereos. O nmero da pgina
usado como ndice na tabela de pginas.
3 - Segmentao
O espao de endereamento lgico constitudo por um conjunto de segmentos, que
podem ter tamanhos diferentes. Cada segmento tem um identificador e um tamanho,
ambos definidos pelo utilizador. Os segmentos so referidos pelo seu identificador e o
seu deslocamento. Assim sendo, o seu endereo lgico representado por: <segmento,
deslocamento>.
Apesar do utilizador agora se conseguir referir aos objectos no programa atravs de um
endereo bidimensional, a memria fsica continua a ser uma sequncia de bytes
unidimensional. A tabela de segmentos ir ser usada para contornar este problema.
Cada entrada na tabela de segmentos tem uma base (que contm o endereo de incio da
memria fsica ligada ao endereo) e um limit (que define a dimenso do segmento).
O problema deste algoritmo que um processo com trs frames ter mais faltas de
pgina (10) que um de 4 frames (9). Este estranho resultado conhecido como a
anomalia de Belady.
2 - Algoritmo ptimo
Consiste em substituir a pgina que no vier a ser usada durante mais tempo. No papel
o mais eficiente de todos os algoritmos (com o menor nmero de faltas de pgina), mas
no pode ser implementado pois impossvel um computador saber determinar com
confiana quanto tempo demorar uma pgina a ser usada. portanto utilizado
principalmente em estudos comparativos.
dos algoritmos mais fiveis, mas bastante difcil de implementar. So possveis duas
implementaes:
Counter (relgio lgico) - O mtodo mais simples, que incrementado em cada
acesso memria.
Pilha de nmero de pginas - Sempre que uma pgina referenciada, removida
da pilha e colocada no topo. Deste modo a pilha est sempre ordenada, com a
pgina usada mais recentemente no topo.
3 - Variantes do LRU
3.1 - Reference bit
Cada pgina tem um reference bit que inicializado a 0. Esse reference bit passa a 1
sempre que a pgina for referenciada. A pgina a substituir a que tiver o reference bit a
0. No entanto, podem haver vrias pginas a 0. Nesse caso ou so todas substitudas
ou utilizado o algoritmo FIFO.
3.2 - Second-chance
uma variante do FIFO, que, tal como ele, ir comear por olhar para a frente da lista.
Caso o reference bit seja 0 imediatamente substitudo, caso seja 1 -lhe dada uma
segunda chance (alterado para 0 e passa-se ao seguinte). Uma pgina a que seja dada
uma segunda chance s ser substituda quando todas as outras tiverem sido substitudas
ou tiverem tido segundas chances.
Atribuio de frames
H algumas restries no que diz respeito ao nmero de frames a ser atribudo como a
de no se poder atribuir mais que o nmero total de frames existentes (a no ser que
haja substituio de pginas) e a de se ter de atribuir sempre um nmero mnimo de
frames.
Nmero mnimo de frames
A razo para ser obrigatrio atribuir-se um nmero mnimo de frames tem a ver com a
performance. medida que o nmero de frames atribudo a cada processo decresce,
aumentam as faltas de pgina, atrasando a execuo do processo. O nmero mnimo de
frames definido pela arquitectura do computador.
Algoritmos de atribuio de frames
1 - Atribuio fixa
O mais simples e lgico de todos, dividir f frames por p processos. Todos os processos
tero o mesmo nmero de frames, que ser proporcional dimenso do projecto. S que
isto poder levar a desperdcio de frames caso, por exemplo, estejam 2 processos em
execuo e um seja bastante maior que o outro. Ambos tero o mesmo nmero de
frames atribudas, o que no faz sentido.
2 - Atribuio por prioridades
Para solucionar esse problema temos a atribuio por prioridades (proportional
allocation), em que se atribu memria disponvel consoante o tamanho dos processos.
Substituio global vs local
Com vrios processos a disputar as frames, podemos classificar os algoritmos de
substituio de pginas em duas categorias: substituio global e substituio local. A
substituio global permite que um processo seleccione uma frame substituta do
conjunto de todas as frames, at aquelas que esto atribudas a outro processo. A
substituio local permite que cada processo escolha apenas do conjunto de frames a
ele atribudas.
Trashing
Caso um processo tenha um nmero insuficiente de frames ocorrem vrios problemas,
como elevado nmero de faltas de pginas, baixa utilizao do CPU e o processo passar
mais tempo a resolver as faltas de pgina que a executar-se. Tal s resolvido com a
suspenso da execuo do processo
medida que a utilizao do CPU vai baixando, o nvel de multiprogramao
aumentado introduzindo novos processos, que iro de precisar de mais frames, causando
mais faltas de pginas e baixando ainda mais a utilizao do CPU.
Memory Mapping
Permite que parte da memria virtual esteja logicamente associada ao ficheiro, onde
vrios processos podem partilhar o mesmo ficheiro em memria. As escritas podem ser
feitas imediatamente para o disco ou actualizando a memria fsica quando o Sistema
Operativo verificar se houve modificaes s pginas, e, quando o ficheiro for fechado,
todos os dados so escritos no disco e apagados da memria virtual.
Os factores que influenciam o tamanho das pginas so:
Fragmentao;
Dimenso da tabela de pginas;
Tempo de I/O;
Locality.
Desempenho da TLB
Hit ratio - Percentagem de endereos traduzidos usando a TLB.
TLB reach - Quantidade de memria via TLB (TLB size x Page Size).
2 - Acesso directo
O ficheiro constitudo por registos lgicos de tamanho fixo. O ficheiro visto como
blocos sequencialmente numerados. Este tipo de acesso bom para grandes quantidades
de informao. As operaes aos ficheiro so modificadas para inclurem o nmero do
bloco como um parmetro. Os nmeros de blocos fornecidos pelo utilizador ao Sistema
Operativo so identificador em relao ao incio do ficheiro.
Estrutura de Directrios
A directoria pode ser vista como uma tabela que traduz o nome do ficheiro para as sua
entrada de directoria. Nela podem ser feitas as seguintes operaes:
Search for a file;
Create a file;
Delete a file;
List a directory;
Rename a file;
Transverse the file system - Providencia uma cpia de backup em caso de falha
do sistema.
Esquemas comuns para se definir a estrutura lgica de uma directoria
1 - Directorias de nvel nico
Uma nica directoria para todos os ficheiros. fcil de suportar e entender, mas tem
limitaes, como se houverem 2 utilizadores a querer dar o mesmo nome ao seu
ficheiro, ou o utilizador lembrar-se dos nomes caso comecem a haver muitos ficheiros.
2 - Directorias de 2 nveis
Divide as directorias pelos utilizador, cada um tendo direito sua directoria. Soluciona
o choque entre 2 utilizadores quererem dar o mesmo nome ao seu ficheiro, mas continua
a ter desvantagens, caso os utilizadores queiram cooperar e partilhar ficheiros. Certos
sistemas no permitem que ficheiros locais sejam acedidos por outros utilizadores.
3 - Estrutura em rvore
Permite que cada utilizador crie as suas directorias e que organize os ficheiros sua
vontade. A rvore tem uma directoria raiz e cada ficheiro tem o seu prprio caminho. H
um bit em cada directoria que define se a entrada um ficheiro (0) ou uma subdirectoria
(1).
A directoria corrente deve conter a maior parte dos ficheiros que interessam ao
processo. Quando feita uma referncia a um ficheiro ele procurado na directoria
corrente. Se ele no se encontrar l, o utilizador deve especificar um caminho ou alterar
a directoria corrente para aquela que contm o ficheiro.
Os caminhos podem ser de dois tipos: absolutos ou relativos. Um caminho absoluto
comea na raiz e segue o caminho at ao ficheiro especificado. Um caminho relativo
define o caminho a partir da directoria corrente.
Tem o defeito de quando se apaga uma directoria, todas as subdirectorias e ficheiros
nelas contidos tambm serem apagados, o que pode ser perigoso e d algum trabalho
quando no se quer que isso acontea.
4 - Grafos Acclicos
Neste mtodo existe partilha de subdirectorias e ficheiros. importante notar que
nenhuma directoria ou ficheiro existe em 2 lugares ao mesmo tempo, elas apenas so
partilhadas. Quando algo modificado numa pasta partilhada, todos o conseguem ver
imediatamente. Tal como o nome indica, um grafo sem ciclos.
mais flexvel que a estrutura em rvore, mas tambm mais complexo. Um ficheiro
pode ter mltiplos caminhos absolutos, logo vrios nomes de ficheiros podem referir-se
ao mesmo ficheiro. Outro problema envolve apagar ficheiros. Quando pode o espao
atribudo ser libertado e reutilizado?
5 - Grafos Genricos
Semelhante ao mtodo dos Grafos Acclicos, mas suporta ciclos. Tem as suas
desvantagens, como a possibilidade de entrar em ciclo infinito aquando da busca de um
ficheiro, por exemplo. Uma soluo para isto pr-definir o nmero de directorias que
vo ser acedidas durante a pesquisa.
Outro problema semelhante pode ocorrer quando se tenta apagar um ficheiro. Garbage
collection ajuda a libertar a memria atribuda no tempo devido, mas consome bastante
tempo.
vlido. Finalmente, o Sistema Operativo toma nota na sua estrutura de directorias que
um sistema de ficheiros est montado naquele mount point especfico.
Partilha de ficheiros
Apesar de j terem havido vrios mtodos, a maior parte dos sistemas evoluram de
modo a usar os conceitos de dono do ficheiro e grupo. O dono o utilizador que tem
permisses para mudar atributos, garantir acesso e quem tem mais controlo sobre o
ficheiro.
Partilha de ficheiros remotos
Ao longo dos tempos, vrios mtodos foram adoptados. O primeiro envolvia
transferncia de ficheiros manualmente entre mquinas via programas estilo ftp
(manualmente). O segundo usava sistemas de ficheiros distribudos (DFS)
(automtico), em que as directorias remotas so visveis a partir de uma mquina local.
O terceiro mtodo, a World Wide Web (WWW) (semi) uma reverso do primeiro:
necessrio um browser para se ter acesso aos ficheiros remotos e so usadas opes
separadas para se transferir os ficheiros.
O modelo Cliente-Servidor
A mquina que contem os ficheiros o servidor, e a mquina que procura os ficheiros
o servidor. Um servidor pode ter vrios clientes e h a possibilidade dum cliente pode
estar em vrios servidores, dependendo de como est feita a implementao. As
chamadas ao Sistema Operativo so traduzidas para chamadas remotas.
Falhas
Os sistemas de ficheiros locais podem falhar por motivos como falha do disco contendo
o sistema de ficheiros, corrupo da estrutura de directorias, falha nos cabos, etc. A
maior parte das falhas resulta em crash do servidor.
Os sistemas de ficheiros remotos ainda tm mais possibilidades de falhas, como, em
caso de ligao em rede, a rede ser interrompida por falhas de hardware ou de
implementao da rede.
Proteco
O dono/criador do ficheiro define o que pode ser executado e por quem. necessrio
haver acesso controlado. Existem mecanismos de proteco que limitam os tipos de
acesso a ficheiros que podem ser feitos. Vrios tipos de acesso podem ser controlados,
como:
Read;
Write;
Execute;
Append;
Delete;
List.
Controlo de Acesso
A abordagem mais comum ao problema da proteco dar acesso dependendo da
identidade do utilizador. O mtodo mais geral para tal ser implementado associando a
cada ficheiro e directoria uma lista de controlo de acesso (ACL), especificando os
nomes de utilizador e tipos de acesso permitido para cada utilizador.
Estrutura
Para fornecer acessos convenientes ao disco, o Sistema Operativo impe um ou mais
sistemas de ficheiros de modo a permitir que os dados sejam guardados, deslocados e
retirados facilmente. Um sistema de ficheiros est definido de forma diferente para o
utilizador e para o sistema.
Perspectiva do utilizador: Definio de ficheiros e dos seus atributos, das operaes
permitidas sobre os ficheiros e da estrutura dos directrios.
Perspectiva do sistema: Criar algoritmos e estruturas de dados para associar o sistema
de ficheiros lgico aos dispositivos de memria secundria.
O sistema de ficheiros composto por diferentes camadas. Cada camadas usa
caractersticas da camada imediatamente abaixo para criar novas caractersticas para
serem usadas pelas camadas acima.
3 - Read/Write
feita uma entrada na tabela do processo com um apontador para a tabela geral e outros
campos. Estes outros campos incluem apontadores para a localizao actual do ficheiro,
sendo as operaes efectuadas atravs desse apontador.
4 - Close
A entrada na tabela do ficheiro removida e o contador na tabela geral decrementado.
Quando j nenhum processo estiver a utilizar o ficheiro, a metadata copiada para a
estrutura de directorias e a entrada na tabela geral fechada.
Sistema de ficheiros virtual
A maior parte dos Sistemas Operativos usam abordagens orientadas a objectos para
simplificar e organizar a implementao. Permite que sistemas de ficheiros bastante
diferentes sejam implementados na mesma interface (API).
Implementao de Directorias
Existem dois algoritmos para a implementao de directorias:
1 - Array de nomes de ficheiros + apontadores para blocos de dados (Linear List)
Usa-se um array de nomes de ficheiros com apontadores para blocos de dados. o mais
simples de implementar, mas consome mais tempo a executar. Para se criar um ficheiro
faz-se uma procura pelo nome desejado, de modo a no se repetirem nomes, e no fim
(caso no haja outro ficheiro com esse nome) acrescenta-se. Para se apagar um ficheiro
tambm se faz uma procura lista at se encontrar o ficheiro a apagar e liberta-se o
espao a ele atribudo.
A maior desvantagem deste mtodo mesmo a pesquisa ser feita de forma linear, o que
leva demasiado tempo.
2 - Tabela de hash (disperso)
Neste mtodo utiliza-se no s um array com entradas da directoria, mas tambm uma
estrutura de dados hash. A hash table recebe um valor computado a partir do nome do
ficheiro e devolve um apontador para o nome do ficheiro no array, o que reduz bastante
os tempos de pesquisa. Adicionar e remover ficheiros tambm se torna simples, no
entanto deve ter-se cuidado com colises (situaes em que dois nomes de ficheiros
dispersam para a mesma localizao).
As maiores dificuldades com a hash table prendem-se com o seu tamanho fixo e a
dependncia da funo hash relativamente a esse mesmo tamanho. De modo a contornar
este problema, podemos usar uma tabela de hash com lista ligada, em vez de ser com
valores individuais.
Mtodos de reserva
Existem 3 mtodos principais para reservar blocos de disco para ficheiros.
1 - Reserva contgua
Requer que cada ficheiro ocupe um conjunto de blocos contguos. bastante simples e
fornece fcil acesso aos ficheiros, mas encontra problemas aquando da procura de
espao para um novo ficheiro. First fit e Best fit so as melhores estratgias a usar aqui
(ver captulo 8), no entanto, ambos os algoritmos sofrem de fragmentao externa:
medida que os ficheiros so alocados e apagados, o espao livre no disco fica
fragmentado em pequenas pores. Isto ser um problema quando se quiser alocar um
ficheiro maior que cada um desses pequenos fragmentos. Pode-se compactar os
fragmentos num bloco contnuo, resolvendo o problema da fragmentao, mas gasta
bastante tempo.
Outro problema deste algoritmo determinar o livre que um ficheiro necessita. E
mesmo que se saiba esse tamanho, a pr-alocao pode ser ineficiente, pois um ficheiro
pode aumentar o seu tamanho ao longo do tempo.
Para minimizar os problemas, alguns Sistemas Operativos acrescentam outro bloco
vazio ao inicialmente atribudo, caso este se prove insuficiente. A esta operao d-se o
nome de extent.
Uma variante deste algoritmo o uso de uma file-allocation table (FAT). Esta tabela
tem uma entrada para cada bloco do disco e est indexada por nmero do bloco. usada
de forma semelhante a uma lista ligada: a entrada da directoria aponta para o primeiro
bloco do ficheiro, a entrada na tabela correspondente ao nmero desse bloco contm o
nmero do bloco seguinte, e assim sucessivamente. Todos os blocos livres ficam com o
valor a 0 na tabela.
3 - Reserva indexada
Resolve o problema do acesso directo da reserva "lista ligada" sem FAT, juntando todos
os apontadores num bloco de ndices. Cada ficheiro tem o seu bloco de ndices. Para se
procurar, por exemplo, o 3 bloco, segue-se o 3 apontador do bloco de ndices, o que
torna a pesquisa bastante rpida.
Quando um ficheiro criado, todos os blocos so inicializados a null. Quando o nsimo bloco for escrito pela primeira vez, o seu endereo ser guardado na n-sima
entrada do bloco de ndices. A reserva indicada no tem, portanto, problemas de
fragmentao nem de acesso directo.
Recuperao
Coerncia
No caso de ocorrerem falhas nos sistemas podem ocorrer perdas de dados e incoerncias
na informao em memria e no disco. O consistency checker vai comparar os dados
na estrutura das directorias os dos blocos no disco, tentando corrigir qualquer
inconsistncia que exista. Os problemas que o consistency checker vai encontrar e a sua
eficincia a corrigi-los est dependente dos algoritmos de reserva e de gesto do espao
livre.
Tcnicas de sistemas transaccionais
Solucionam os problemas da verificao da coerncia. A soluo passa por registar em
log todas as alteraes feitas.
Backup e Restore
Os backups previnem que, em caso de falha do disco, a informao no seja perdida
para sempre. Programas podem fazer backup (cpia de segurana) de um disco para
outro dispositivo de armazenamento. Recuperar das perdas de ficheiros individuais ou
de discos por completo j um assunto de restore (restaurar) os dados do backup.
Para se minimizar o nmero de cpias a fazer aquando do backup, pode-se fazer uma
verificao dos ficheiros que foram alterados desde o ltimo backup. O primeiro backup
seria um backup completo, onde se copiaria toda a informao desejada, e da em
diante apenas se copiariam os ficheiros que tivessem sido criados ou alterados, fazendose assim um backup incremental.
2 - Tapes magnticas
Tem tempos de posicionamento mais lentos, quando comparados com os da memria
principal e dos discos magnticos, sendo portanto maioritariamente usadas para backups
de informao usada no muito frequentemente e para passar dados de uma mquina
para outra.
Estrutura de discos
A maior parte dos discos so constitudos por vectores unidimensionais de blocos
lgicos, onde o bloco lgico a unidade mais pequena de transferncia. Este vector
mapeado sequencialmente nos sectores do disco. O sector 0 equivale ao primeiro sector
da primeira pista do cilindro mais distante do disco, o sector 1 ao segundo sector da
primeira pista do cilindro mais distante do disco, e por a adiante.
ligao entre dispositivos, como a CPU, a memria e outros perifricos), como IDE,
ATA, SATA ou SCSI.
2 - Ligao atravs da rede de dados (NAS)
Feita remotamente a partir de uma rede de dados via remote procedure calls.
Providencia uma forma segura de todos os computadores numa LAN partilharem dados
entre si, mas no muito eficiente e tende a ter performances mais baixas que outras
opes de ligao directa.
Escalonamento de disco
A largura de banda do disco corresponde diviso entre o nmero de bytes
transferido pelo tempo entre o primeiro pedido e a ltima transferncia. Existem vrios
algoritmos para optimizar o escalonamento dos pedidos em fila de espera, ou seja,
escolher a qual pedido se deve atender a seguir:
1 - Algoritmo FCFS (First-come, first-served)
O algoritmo mais simples de todos, atende aos pedidos pela ordem de chegada. No
providencia um servio rpido.
3 - Algoritmo SCAN
O disco percorrido cilindro a cilindro de ponta a ponta, atendendo a todos os pedidos
encontrados. Ao chegar ao fim, faz o caminho inverso. Por essa razo tambm
conhecido como o algoritmo elevador. No entanto, este algoritmo consegue deixar
alguns pedidos demasiado tempo espera.
4 - Algoritmo C-SCAN
Igual ao SCAN, com a ligeira diferena de quando chega a uma ponta, no caminho de
regresso no atende a nenhum pedido. Trata os cilindros como se fossem uma lista
circular.
Escolha de um algoritmo
A performance de cada algoritmo ir sempre depender do nmero e do tipo de pedidos.
O SCAN e o C-SCAN so algoritmos que obtm melhores resultados em sistemas
pesados. Os algoritmos com melhor desempenho so mesmo o SSTF, o LOOK e o CLOOK.
Gesto do disco
Formatao
Antes de um disco poder armazenar dados, tem de ser dividido em sectores para que o
controlador possa ler e escrever. A estrutura de um sector consiste num header e numa
zona de dados (contm o nmero do sector e um cdigo de correco de erros) e num
trailer.
De seguida, o Sistema Operativo tem de guardar as suas estruturas de dados no disco, o
que feito atravs de dois passos (parties + formatao lgica). Primeiro parte-se
um disco em um ou mais grupos de cilindros, onde cada partio pode ser tratada como
um disco. Depois, o Sistema Operativo armazena as suas estruturas de dados no disco.
Para aumentar a eficincia, a maior parte dos sistemas agrupa os blocos em blocos
maiores, chamados clusters. As E/S do disco sero feitas atravs dos blocos e as E/S
dos sistemas de ficheiros atravs de clusters.
Alguns Sistemas Operativos do a certos programas a capacidade de usar uma partio
de um disco sem estruturas de dados do sistema de ficheiros, chamado raw disk. Isto
usado para as bases de dados, por exemplo.
Master boot record e bloco de boot
Para solucionar o problema de cdigo e dados do sistema estarem no sistema de
ficheiros mas este ainda no ter sido carregado, utiliza-se a boot ROM (que apenas de
leitura) que indica ao controlador de disco para ler o bloco de boot, onde est contido o
programa de bootstrap completo ou para o master boot record (inserida na 1 partio
do disco rgido, que utilizada para o boot. Contm o cdigo de boot e uma tabela de
parties), para carregar o sistema.
Blocos estragados
Os discos so propcios a falhar. A maior parte at vem da fbrica com blocos
estragados, que podem ser manuseados de vrias maneiras diferentes. Nos discos mais
sofisticados, os blocos estragados podem ser substitudos por sectores de sobra, num
esquema conhecido como sector sparing.
Gesto de swap-space
Com o swap space, a memria virtual usa espao do disco como uma extenso da
memria principal, o que reduz bastante o desempenho do sistema. O objectivo
principal disto providenciar a melhor taxa de transferncia para o sistema de memria
virtual.
Utilizao
A quantidade de swap space necessrio num sistema varia conforme a quantidade de
memria fsica, a quantidade de memria virtual que est a ser suportada e como
utilizada. Pode-se fazer swap a pginas (swap de pginas) em vez de processos (swap
de processos). Os sistemas mais recentes costumam utilizar swaps de pginas.
Localizao
O swap space pode estar em dois locais: num ficheiro do sistema de ficheiros ou numa
partio de disco aparte. Implementar no sistema de ficheiros bastante mais fcil, mas
tambm menos eficaz.
Estrutura RAID
Com a possibilidade de haverem vrios discos numa mquina, h a capacidade de haver
melhoria na performance e maior segurana dos dados e a possibilidade de serem
organizados de vrias formas. Redundant arrays of inexpensive discs (RAIDs) so
tcnicas de organizao de discos usadas relativamente sua fiabilidade e desempenho.
Os problemas de fiabilidade nos grandes arrays de discos relacionados com o
encurtamento do seu tempo de vida podem ser solucionados atravs de redundncia. A
redundncia feita guardando informao extra que no seja utilizada frequentemente,
mas que possa ser usada no caso de um disco falhar de modo a reconstruir a informao
perdida. A tcnica mais simples, mas tambm a mais cara, para o fazer o mirroring,
que consiste em duplicar cada disco.
A performance pode ser melhorada via paralelismo. Atravs do mirroring, os pedidos
de leitura podem ser tratados ao dobro da velocidade, visto poderem ser enviados para
um dos dois discos. A taxa de transferncia entre cada leitura mantm-se, mas o nmero
de leituras por unidade de tempo duplica.
Armazenamento estvel
A informao nunca se perde. A sua implementao consiste em escrever dois blocos
fsicos para cada bloco lgico. O objectivo ambos os blocos ficarem iguais e sem
erros. Caso um bloco tenha erros, substitudo com a informao do outro bloco. Se o
contedo dos 2 blocos for diferente e no tiver erros, por definio o contedo do
segundo bloco copiado para o primeiro.
Armazenamento tercirio
construdo atravs de componentes removveis, o que baixa bastante o custo. Algumas
componentes removveis envolvem o uso de disquetes, CD-RW, DVD-RW e tapes,
todas elas reutilizveis.
No que toca ao suporte do Sistema Operativo, as estruturas de dados e algoritmos
implementados nos sistemas de ficheiros de uma tape so bem diferentes daqueles
utilizados para discos, pois as tapes apenas permitem fazer append (acrescentar
informao ao fim).
Uma robotic jukebox permite que um cartuxo removvel seja mudado sem assistncia
humana. O seu uso nos backups simples, quando um cartuxo est cheio, o computador
Device drivers
So os comandos dos dispositivos. a forma a partir da qual a unidade perifrica cria
uma interface com o Sistema Operativo para se ligar ao dispositivo de hardware,
ocultando as diferenas entre os vrios controladores.
Um spool um buffer que guarda dados de sada para um dispositivo que no pode
aceitar dados de sada "misturados". O output de cada aplicao colocado num
ficheiro em disco separado, e so tratados em forma de fila (um de cada vez). O
spooling uma forma dos Sistemas Operativos conseguirem coordenas outputs
concorrentes.
Outra forma fornecendo meios para coordenao. Alguns Sistemas Operativos
fornecem suporte a acesso exclusivo a dispositivos, utilizando chamadas ao sistema para
efectuar essa reserva.
5 - Tratamento de erros
Um sistema Operativo pode estar prevenido contra vrios tipos de falhas de hardware e
aplicaes. Por exemplo, se um envio em rede falhar, tentar reenviar logo de seguida,
caso o protocolo assim o especifique. Geralmente, uma chamada ao sistema E/S retorna
um bit de informao sobre o estado da chamada (significando sucesso ou falha).
6 - Proteco
Evita a realizao de operaes E/S ilegais, definindo todas as instrues E/S como
sendo instrues prioritrias, o que as obriga a terem de ser invocadas atravs de
chamadas ao Sistema Operativo, que ir verificar a sua validade. Qualquer memorymapped, tal como as portas E/S, devem tambm ser protegidas.
7 - Estruturas de dados do ncleo
Para guardar informaes do estado sobre o uso dos componentes E/S, o ncleo utiliza
uma variedade de estruturas de dados do ncleo, como tabelas de ficheiros abertos (ver
captulo 11). O ncleo usa bastantes estruturas similares para procurar ligaes rede.