You are on page 1of 10

Sistemas Operacionais

Definindo os sistemas operacionais


Vemos um sistema operacional como os programas, implementados como software ou
firmware, que tornam o hardware utilizavel. O hardware oferece capacidade computacional bruta.
Os sistemas operacionais disponibilizam convenientemente tais capacidades aos usurios,
gerenciando cuidadosamente o hardware para que se obtenha uma performance adequada. [DEI92,
p. 3]
O sistema operacional deve se encarregar de controlar os recursos do computador,
garantindo seu uso adequado, buscando tambm otimizar tal uso objetivando um melhor eficincia
do sistema, assim sendo, o sistema operacional se comporta como gerente dos recursos do
computador.
Recursos e ambiente operacional
Todos os elementos funcionais do computador so considerados recursos do sistema
computacional e so, geralmente, representados pelos dispositivos que o compe e que podem ser
utilizados pelos usurios, ou seja: monitores de vdeo, teclado, mouse, entre outros. J o conjunto
de hardware e sistema operacional, usualmente chamado de plataforma ou ambiente
operacional, aparentemente capaz de realizar tarefas de um modo especfico ditado pela prpria
interface.
Processos
Um processo computacional ou simplesmente processo pode ser entendido como uma atividade que
ocorre em meio computacional, usualmente possuindo um objetivo definido, tendo durao finita e
utilizando uma quantidade limitada de recursos computacionais. Resumidamente, pode-se afirmar
que um processo um programa em execuo.
O chamado paralelismo virtual ou pseudoparalelismo a capacidade do processador de
executar um programa em um pequeno espao de tempo dando a ideia de paralelismo. Em
computadores com dois ou mais processadores possvel a existncia de paralelismo verdadeiro
pois cada processador pode
executar um processo independentemente.
Um processo pode ser dividido em processos menores, tambm chamados de sub-processos.
Outra caracteristica de um processo que ele pode criar um novo processo ( processo filho / Child
Process ), que por sua vez pode criar outros processos, criando assim uma arvore de processos.
Um critrio muito importante de anlise dos processos computacionais aquele que
considera os processos segundo sua ocorrncia, isto , a observao de seu comportamento
considerando o tempo. Neste caso teramos os seguintes tipos de processos:
Sequenciais: So aqueles que ocorrem um de cada vez, um a um no tempo, serialmente,
como que de forma exclusiva. Neste tipo de processo, os recursos so disponibilizados todos para o
processo. Como o processo no ocupada todo o recurso, logo, temos a ociosidade de recursos.
Paralelos: aqueles que, durante um certo intervalo de tempo, ocorrem simultaneamente, ou
seja, aqueles que no todo ou em parte ocorrem ao mesmo tempo. Este tipo de processo pode ser
classificado em 3 formas:

Independentes: Quando utilizam recursos completamente distintos, no se envolvendo em

disputas com outros processos.


Concorrentes: Quando pretendem utilizar um mesmo recurso, dependendo de uma ao do
sistema operacional para definir a ordem na qual os processos usaro o recurso.
Cooperantes: Quando dois ou mais processos utilizam em conjunto um mesmo recurso para
completarem uma dada tarefa.

Estados do processo
Podemos identificar trs passos bsicos de um processo:
Pronto (Ready): Situao em que o processo est apto a utilizar o processador quando este
estiver disponvel. Isto significa que o processo pode ser executado quando o processador estiver
disponvel.
Execuo (Running): Quando o processo est utilizando um processador para seu
processamento. Neste estado o processo tem suas instrues efetivamente executadas pelo
processador.
Bloqueado (Blocked): Quando o processo est esperando ou utilizando um recurso
qualquer de E/S (entrada e sada). Como o processo dever aguardar o resultado da operao de
entrada ou sada, seu processamento fica suspenso at que tal operao seja concluda.

Quando solicitada a execuo de um programa o sistema cria ( Create) um processo


atribuindo a ele um PID ( Process identifier ) e tambm recebe o Quantum ( Frao de tempo
para utilizar o processador ). Todos os processos em seu estgio inicial recebem o estado de
Pronto ( Ready ) e so colocados no final da fila de processos Prontos. Quando todos os processos
estiverem usados seu Quantum, o sistema operacional efetivamente os colocar em execuo. Neste
transio de Ready para Running a rotina de mudanas recebe o nome de Dispatch
( despachado ). No momento em que esgotado o Quantum de cada processo, o sistema
operacional assume novamente e aciona uma nova rotina chamda de TimeRunOut, o qual tira o
processo do processador e o recola na fila de Ready (pronto). Caso o processo necessite efeturar
uma operao do I/O (input / output), ele automaticamente ira para o estado de Blocked
(bloqueado). Aps a utilizao do recurso, o processo volta para a fila de Ready (pronto) por
meio da rotina Awake ( Reativao).
Outros detalhes importantes so que, a nica transio que o processo age de forma
autonoma e a passagem do de Running para Block. E os estados Ready e Running so
considerados estados ativos, enquanto o estado Block e considerado um estado inativo.
Em um sistema de tempo rapartido, a coordenao do tempo de processador e feita pelo
escalonador (scheduler) o qual utiliza de um temporizador para medir o tempo de utilizao do
processador.

Praticamento quase todas as funes do sistema operacional so acionadas por chamadas


implicitas ou explicitas (system calls). Neste sentido, as interrupes so mecanismo importantes
para que o sistema possa utilizar grande parte do seu tempo ocioso.
PCB e tabelas de processos
O PCB (Process Control Block ou Process Descriptor) uma estrutura de dados que
mantm a representao de um processo para o sistema operacional. O PCB contm todas as
informaes necessrias para a execuo do mesmo possa ser iniciada, interrompida e retomada
conforme determinao do sistema operacional, sem prejuzo para o processo.
De uma forma simplificada, um PCB contm:
PID; o estado atual do processo; um ponteir para o processo pai; lista dos ponteiros
para os processos filhos; as prioridades do processo; Tempo a utilizado no processador;
esttistica de utilizao;
Funes do ncleo do sistema
Todas as funes que envolver um processo so controladas por uma parte do sistema
operacional denominada ncleo (core ou kernel). Essa parte do sistema operacional a mais
utilizada, por esse motivo, esta sempre est alocada na memria primria do sistema.
Uma das mais importantes funes do kernel e a gerenciamento de interrupes. Porm,
outras funes tambm so desempenhadas pelo Kernal, as quais so:

gerenciamento de interrupes;
nanipulao de processos;
nanipulao dos PCBs;
troca dos estados dos processos e sua intercomunicao;
sincronizao dos processos;
gerencia de memria;
gerencia de dispositivos E/S

Competio de recursos
Quando afirmamos que dois ou mais processos ocorrem em paralelo, isso quer dizer que em
um determinado momento alguns deles iro solicitar o mesmo recurso simultaneamente.
Obviamente, um recurso somente pode ser disponibilizado para um processo de cada vez, gerando
uma competio pelo recurso.
Essa exigncia pelo uso individual ou compartilhado de um recurso caracteriza duas
situaes importantes: cdigo reentrante e as regies crticas.
Regies crticas
Quando um dado recurso do sistema somente pode ser usado por um nico processo de cada
vez, este recurso determina uma regio crtica. Uma regio crtica uma forma administrativa de
conceder e devolver um recurso que pode ser utilizado por vrios processos. Nesse sentido,
processos que desejam utilizar a regio crtica so conheciso como processos paralelos
concorrentes. Quando um processo faz um acesso simultneo em uma regio crtica no mesmo
que a ela esta sendo utilizada, isso pode gerar perda de dados. Para que isso no acontece, o acesso
a esta regio no controlado pelo processo e sim pelo SO. Esse controle de acesso chamado de
protocolo de acesso.
Cdigo reentrante

J
, ao contrrio da regio crtica, um cdigo reentrate quando uma certa rotina de
software pode ser usado por diversos processos. Neste caso se torna uma situao benfica, onde
um mesmo recuso utilizado por diversos processos aumentando a eficiencia do processo como
um todo.
Protocolo de acesso
No se pode definir o acesso a regio crtica mediante a prioridades fixas, pois, neste caso,
processo bom baixa prioridade podem no fazer o acesso ao recurso se haver um fila de processos
com prioridade maior, configurando neste caso um problema de prioridade esttica. Existem
tambm as situaes de bloqueio simultneo, onde os vrios processos que esto em disputa pelo
uso recurso so bloqueados de modo tal que o recurso continue sem uso, ou ainda de adiamento
infinito, onde um processo sistemtica e indefinidamente bloqueado de utilizar orecurso. Todas
estas situaes tambm so inaceitveis. Uma tentativa para corrigir este problemas foram as
solues com instrues TST ou TSL ( Test and set or Test and Set Lock).
Conteudo, a situao de corrida ainda era um problema. Dizemos que existe uma situao
de corrida, quando dois ou mais processos solicitam o acesso a regio crtica simultaneamente.
Neste caso, necessrio um protocolo de acesso eficiente para evitar o acesso simultneo ou o
bloqueio mutuo.
DeadLock
Dizemos que um processo esta em Deadlock, bloqueio perptuo ou Impasse, quando este
processo fica a espera de um evento particular que jamais acontecer. Neste caso, recursos ficam
alocados reduzindo o numero de recuros para outros processos. Um Deadlock pode ocorrer em
quatro condies:
Condio de excluso mltua: o processo exige uso exclusivo do recurso;
Condio de espera por recurso: recursos ficam alocados a espera de outros recursos;
Condio de ausncia de preemptividade 1: recursos no podem ser retirados dos processos
enquanto esse processo no finalizado.
Condio de espera circular: Cada processo solicita o recurso alocado pelo prximo processo, de
forma circular.
Segundo Tanembaum existe quatro alternativas bsicas para tratar esse tipo de erro:
Ignorar o problema (algoritmo da avestruz)
Deteco e recuperao dos deadlocks
Preveno dinmica
Preveno estrutural
Recuperao de deadlock
Existe algumas tcnicas que podem ser usadas para resolver-lo:
Recuperao por meio da preempo: essa tcnica tem como princpio retirar albuns recursos
envolvidos no bloqueio, permitindo a quebra do caminho fechado. Contudo, nem todo processo
pode ser removido, pois alguns podem prejudicar o processo.
1 Em computao, preemptividade (algumas vezes preempo) o ato de interromper temporariamente uma tarefa
sendo resolvida por um sistema computacional, sem precisar de sua cooperao, e com a inteno de retomar a tarefa
depois. Tal mudana conhecida como uma troca de contexto.

Recuperao por meio do Rollback: este principio afirma que pode-se retorna ao um checkpoint
quando o problema de deadlock ocorre. Para isso, deve ser implementado um mecanismo de
armazenamento de estados o qual possibilita o rollback. Ponto ruins a dificil implementao.
Recuperao por meio da eliminao do processo: Processos so eliminados at o deadlock se
resolvido.
Preveno de deadlock
A maioria dos algoritmos para a preveno do deadlock so baseados no conceito de estado seguro.
Estado seguro aquele que garante que todos os processos podem ser finalizados considerando
suas necessidades em termos de recursos e os recursos efetivamente disponveis no sistema. J um
estado no seguro aquele que no garante que o processo devolver o recurso j alocado.
Mediante a isso foi desenvolvido o algoritmo do banqueiro. Esse algoritmo verifica se o pedido de
recurso e seguro ou no, liberando o recurso ou no para o processo. Para isso, os processos devem
especificar inicialmente a quantidade de recursos que pode utilizar. Contudo, se o processo for
considerado inseguro, ele pode ser adiado, podendo assim gerar um deadlock.
Comunicao entre processos.
A IPC (Inter process comunication) uma situao comum em sistemas operacionais, quando um
ou mais processos precisam se comunicar. Para a comunicao de processos, o sistema operacional
disponibiliza alguns mecanismo para esse tipo de comunicao, os quais so:
Buffer: Dois processos distintos podem compartilhar um buffer entre si. O processo produtor
adicionar informaes no buffer enquanto o processo consumir os retira. Essa uma maneira
simples de fazer o compartilhamento quando os processos so sequenciais. Contudo, com so
paralelos passa a existir uma situao de concorrencia. Esta sistuao existe 2 problemas:
1 O consumidor tenta consumir um buffer vazio;
2 O produtor no consegue produzir pois o buffer esta cheio.
Uma soluo para este problema o Sleep eo Wakeup colocando os produtos e consumidores em
estado de dormencia. Contudo outros problemas ocorrero ( mas eu nao vou falar sobre eles :) )
Semforos
Para solucionar este problema do produtor e consumidor, foram criados os semforos, as quais so
variveis inteiras para controlar o numero de sinais Wakeup.A utilizao de semforos permite a
sincronizao de vrios processos, ou seja, num ambiente onde existem diversos processos paralelos
competindo por recursos, o uso de semforos garante que um dado recurso seja utilizado de forma
sequencial, ou seja, de forma exclusiva. Os semforos tambm tem o objetivo de sincronizao de
processos garantindo a concorrncia.
Memria compartilhada
O compartilhamento de memria um mecanismo utilizado para comunicao entre processos
diferentes. Neste caso, um espao de memria reservado para uso comum entre os processos, os
quais podem escrever e ler. E semelhante ao buffer, porm, buffer no permite nem a escrita e nem a
leitura, somente o empilhamento. Embora seja compartilhada, cada processo somente podera
executar a leitura e escrita um de cada vez. Para isso so utilizados semforos para tratar a
concorrncia.

Threads
Um processo possui um fluxo nico de execuo. Neste sentido, ele recebe a ateno do
processador de forma individual. J uma Thread permitem a combinao do paralelismo com a
execuo sequencial. Cada Thread recebe a ateno do processador como um processo comum.
Contudo, existe apenas uma estrutura de controle para o processo, e o espao de memria mesmo,
propiciando a troca de recursos facilmente. Logo, uma Thread um fluxo independente de
execuo pertecente a um processo.
Escalonamento de processos
O escalonamento de processadores a forma com os processadores existentes num sistema
computacional so utilizados para efetuar o processamento, isto , como os processos so
distribudos para execuo nos processadores. Quando mais de um processo executvel, o sistema
operacional deve decidir qual ser executado primeiro. A parte do sistema operacional dedicada a
esta deciso chamada escalonador (scheduler) e o algoritmo utilizado chamado algoritmo de
escalonamento (scheduling algorithm).
Nveis de escalonamento
Existem trs tipos distintos de escalonamento em um sistema computacional quando se considera a
frequncia e complexidade das operaes envolvidas.
Escalonamento de alto nvel: tambm conhecida como escalonamento de tarefas. Este tem o
objetivo de decidir quais tarefa passaro a competir pelo recurso. Neste sentido, a tarefa que for
admitida se tornar um processo.
Escalonamento de nvel mdio: determina quais processos existentes competiro pelo processador.
Escolanemento de baixo nvel: determina quais processos, em um ordem, fara uso do processador.
Escalonamento preemptivo e no preemptivo
Um algoritmo de escalonamento dito no preemptivo quando temos que o processador designado para um
certo processo no pode ser retirado deste at que o processo seja finalizado (completion). Analogamente,
um algoritmo de escalonamento considerado preemptivo quando o processador designado para um
processo pode ser retirado deste em favor de um outro processo. Existem tambm algoritmos de
escalonamento cooperativo, onde os processos no so interrompidos, mas a preempo ocorre em duas
situaes bem definidas: quando o processo efetua uma operao de I/O e quando o processo finalizado.
Algoritmos de escalonamento
Existem vrios algoritmos que so utilizados para a realizao do escalonamento de baixo nvel ou de curto
prazo. Em todos eles, o principal objetivo designar o processador para um certo processo dentre vrios
processos existentes, otimizando um ou mais aspectos do comportamento geral do sistema.

Escalonamento FIFO (First In First Out)


Primeiro a entrar ser o primeiro a ser servidor. Neste algoritmo, a ordem de chegada a que leva em
considerao para a utilizao do processador. O primeiro processo pronto, e servido pelo processaor e
executado at o final. Neste sentido, este e um algoritmo no preemptivo.

Escalonamento HPF (Highest Priority First)


O escalonamento HPF (Highest Priority First) ou escalonamento por prioridades uma variante do
escalonamento FIFO onde os processos em espera pelo processador so organizados numa fila segundo sua
prioridade, sendo colocados a frente os processos de maior prioridade. Aps a execuo do processo ele no
interropido, ou seja, um escalonamento no preemptivo. No caso do HPF, existe uma soluo,

relativamente simples, para a soluo do problema da estagnao denominada aging (envelhecimento).


Tal soluo consistem em progressivamente aumentar a prioridade dos processos que aguardam na fila a
medida que o tempo passa, ou seja, como forma de compensar a espera e evitar a estagnao.

Escalonamento SJF (Shortest Job First)


Este algoritmo de escalonamento tem como caracteristica a organizao dos processos pelo menor
job primeiro, tambm conhecido como SPF (Shortest Process First) ou menor processo primeiro. um
caso especial do HPF, onde o tempo de servio tomado como prioridade, ou seja, os processos em espera
pelo processador so organizados numa fila segundo seu tempo de execuo, sendo colocados a frente os
menores processos jobs. Uma soluo para o problema de estagnao de processos seria impor um tempo
mximo de espera fixo ou proporcional ao tempo de servio, a partir do qual tais processos seriam
executados, para evitar a estagnaao.

Escalonamento HRN (Highest Response-Ratio Next)


Este algoritmo de escalonamento tem como base o SJF. Porm, busca resolver alguns problemas
impostos pelo algoritmo. Este props um balanceamento entre a durao do job e seu tempo de espera, de
forma a compensar a espera excessiva de tarefas de maior durao.
Prioridade = t servio + t espera / t servio
Como o algoritmo STF, ele tambm um algoritmo no preemptivo.
Escalonamento SRT ( Shortest Remaining Time )
Este algoritmo a variante preemptiva do SJF. A fila de processos a serem executados pelo SRT organizada
conforme o tempo estimado de execuo, ou seja, de forma semelhante ao SJF, sendo processados primeiro
os menores jobs. Na entrada de um novo processo, o algoritmo de escalonamento avalia seu tempo de
execuo incluindo o job em execuo, caso a estimativa de seu tempo de execuo seja menor que o do
processo correntemente em execuo, ocorre a substituio do processo em execuo pelo recm chegado,
de durao mais curta, ou seja, ocorre a preempo do processo em execuo.
Escalonamento Roud Robin ( intervalo de tempo )
No escalonamento RR (Round Robin) ou circular os processos tambm so organizados numa fila segundo
sua ordem de chegada, sendo ento despachados para execuo. No entanto, ao invs de serem executados
at o fim (completion), a cada processo concedido apenas um pequeno intervalo de tempo (time slice ou
quantum). Caso o processo no seja finalizado neste intervalo de tempo, ocorre sua substituio pelo
prximo processo na fila de processos ativos, sendo o processo em execuo interrompido e novamente
colocado na fila de processos prontos, mas em seu fim. Isto significa que ao final de seu intervalo de tempo,
isto , de seu quantum, ocorre a preempo do processador, ou seja, o processador designado para outro
processo.
Escalonamento MQ ( Multilevel Queues )
Quando se pode dividir o processo em diferentes categorias, levando em considerao seu tipo, prioridade e
consumo de recursos, pode-se empregar o escalonamento de multiplas filas. Cada fila pode ser tratatada por
diferentes algoritmos. Neste caso as filhas podem ser preemptivas ou no preemptivas.
Escalonamento MFQ ( Multilevel Feedback queues )
Neste escalonamento existe dois tipos de fila classificadas pelo seu nvel. Na de nivel 1 o algoritimo
utilziado o FIFO. Ao utilizar o processador o processo pode seguir 3 tipos de alternativas. Primeira, ele
pode ser finalizado; segunda, ele fica aguando o uso de um dispositivo de entrada E/S, vontando a fila
quando seu tempo esgote; e terceiro, caso seu quantum se esgote ele colocado em uma fila de nivel 2.
Neste fila o algoritmo j no o FIFO, mas sim circular ( Round robin)
Gerencia de memria
A gerencia de memria e justificada devido a memria primria ser um dos elementos bsicos da arquitetura

computacional atual. Como todos os processos utilizam a memria primria, gerenciamando a memria,
indiretamente, estamos gerenciado processos.
Em virtude das dificuldades tecnolgicas associadas a construo de dispositivos eficientes de
memria e seu custo, o armazenamento de dados assumiu historicamente a seguinte organizao:
Armazenamento interno: Interno ao processador. Ele contituido do registradores e seu cache interno.
Armazenamento primrio: so as posies de memria externa, diretamente acessadas pelo processador.
Tipicamente so circuitos intergrados como RAM, EEPRON, EPRON, PRON, e RON.
Armazenamento secundrio: Normalmente rea de memria que no podem ser acessadas diretamente
pelo processodor, mas devem ser carregadas para a memria primrio para serem utilizados. Ex: disco rigido.
A necessidade de manter multplos programas na memria impe a necessidade de controlar como
esta memria utilizada. Logo, a gerencia de memria leva com considerao como a memria principal
vista e como pode ser usada pelos processos. E em segundo, como os processos so tratados pelo SO
segundo sua necessidade de memria.
Memria Virtual
Segundo Deitel, memria virtual a capacidade de um sistema operacional de utilizar mais memria do que
o disponvel. A memria virtual pode ser implementada basicamente atravs de mecanismos de:
Paginao: a tcnica mais utilizada para criao de memoria virutal em que o espao de enderecamento
virtual e dividio em blocos denominados unidade de alocao, com tamanho e posio fixo. O SO faz o
mapeamento para verificar quais esto alocadas na memria.
Segmentao: tcnica em que o espao de endereamento virtual e dividio em blocos de tamanho fixo ou
viarivel e identificados univocamente.
Modelos de gerenciamento de memria
Existem vrios modelo para organizao e gerenciamento de memria:
Monoprogramado com armazenamento real
Neste modelo, o gerenciamento de memria divido em duas parties distintias, uma para o sistema
operacional e outra para os processos do usurio. Neste modelo, h a preparao para que seja executado um
programa de cada vez. Ex: MS-DOS, PC-DOS.
Particionamento Fixa.
Neste modelo, a memria e dividia em grandes blocos denominados parties. Fica claro portanto que a
determinao de parties para um determinado processo influencia no desempenho do sistema. Logo, para
esta tarefa pode-se utilizar um dos seguinte processos:
First fit: Aloca-se o primeiro processo para a primeira partio que o comporte;
Best fit: O processo alocado para a menor partio que o comporte;
Worst fit: O processo alocado para a maior partio que o comporte.
Particionamento varivel.
O particionamento varivel bastante semelhante organizao de memria em partioes fixas, exceto pelo
fato de que agora o sistema operacional efetua o particionamento da memria. A medida em que processos
so finalizados, eles podem ser limpos da memria que fica livro para receber novos processos. Esse tipo de
particionamento de memria tambm conhecida como particionamento pode demanda.
Paginao
A medida que os programas vo sendo executados, o sistema operacional vai relacionando quais pginas
virtuais esto sendo alocadas para cada um destes programas, sem se preocupar com o posicionamento
contguo de partes de um mesmo programa. No instante efetivo da execuo a MMU (memory management
unit) converte os endereos virtuais em endereos fsicos utilizando as tabelas de pginas. Neste sentido,
mesmo aparentemente os processos, ao chegar na memria, serem linearea, eles so dividos em vrios blocos

alocados em meio a outros processos. Logo, o mapeamento feito pela MMU utilizando a tabela de
paginao.
Segmentao ( Mesmo coisa de cima )

Enquanto que a organizao da memria atravs da paginaoo um modelopuramente


unidimensional, isto , o espao de endereamento virtual oferecido a cada um dos diversos
processos nico e linear, a segmentao prope um modelo bidimensional, onde cada processo
pode utilizar-se de diversos espaos de endereamento virtuais independentes.
Tabelas de paginao
Como visto, tanto a organizao de memria atravs de paginao como de segmentao e os
sistemas hbridos que utilizam a paginao combinada com segmentao, so implementadas
tabelas para realizar a converso de endereos virtuais em endereos fsicos. Estas tabelas,
suportadas diretamente pelo hardware do sistema e mantidas pelo sistema operacional so,
juntamente com os mecanismos de converso de endereos, o ponto central destes esquemas de
organizao de memria.
A idia bsica que o endereo virtual composto de duas partes, um nmero da pgina
virtual e um deslocamento dentro da pgina. O nmero da pgina virtual usado como ndice numa
tabela de pginas, ou seja, somado ao endereo de base da tabela de pginas, mantido num
registrador qualquer do processador, obtendo-se uma referncia para uma entrada da tabela que
contm o endereo real da moldura de pgina desejada. Somandose o deslocamento contido no
endereo virtual ao endereo da moldura de pgina obtido da tabela de pginas obtm-se o endereo
real completo.
Gerencia de I/O (input e output)
I/O ou E/S representa todos os dispositivos de eletromagnticos, opticos ou eletronicos que so
integrados a um sistema computacional com o propsito de realizar a comunicao do processoador
e memria com o meio externo. Este dispositivos so conectados por meio de modulos, tambm
chamado de mdulo de I/O que por sua vez so ligados aos barramentos do sistema. Um nico
mdulos de I/O permite a comunicao com vrios perifricos. Os modulos de I/O podem ser
operados de 3 maneiras bsicas:
I/O Programador: os dados so trocados diretamente entre o processador e o mdulo. Neste caso
responsabilidade do processador verificar o estado do mdulo, logo, ele no pode executar outra
tarefa enquanto aguarda. Como o modulo pode controlar vrios perifricos, para que seja controlado
o endereo do perifrico que esta sendo utilizado, o modulo utiliza duas formas possveis: mapeada
de memria e mapeada de I/O.
I/O com interrupo: para superar o problema de espera do processador, pode se utilizar o
mecanismo de interrupo. O processador envia um comando para o mdulo e volta a executar
outras tarefas sem a necessidade de um monitoramento constante no modulo. Quando a atividade
for concluida o modulo envia um sinal de interrupo para o processador. O processador por sua
vez executa a troca de dados liberando o modulo e voltando a executar o processamento anteriror.
I/O com acesso direto a memria: tambm conhecida como DMA (direct memory access). Est
tcnica propoe uma nica interrupo para efetuar a transferncia de um bloco de dados diretamente
entre os perifricos e a memria primria. No havendo o envolvimento do processador. Para tanto,
deve haver um modulo adicional chamdo de controlador de DMA

Sistema de arquivos
Um arquivos um conjunto de informaes relacionadas entre s e residentes no sistema de
armazenamento secundrio. Como tudo em um sistema operacional, o SO tambm controla as
operaes sobre os arquivos, organizando seu armazenamento no que chamamos sistemas de
arquivos. Estes contm: mtodos de acesso; gerenciamento de arquivos; e mecanismo de
integridade. Logo, arquivos so um profunda abstrao que possibilita a realizao de operaes de
leitura e escrita sem conhecer os detalhes de funcionamento com que estas operaes so realizadas.
Do ponto de vista armazenamento e acesso, os arquivos podem ser organizados das
seguintes maneiras:
Sequencial: quando os arquivos ou bytes so posicionados em sua ordem fsica.
Direto: Quando os registro ou bytes so diretamente acessados no meio em que so armazenados,
usualmente um DASD. A aplicao deve conhecer a localizao dos dados no dispositivo, sendo
familiar com sua organizao.
Sequencial Indexado: os registros bytes so organizados numa sequncia logica conforme uma
chave e o sistema mantm um ndice para acelerar.
Particionado: Quando o arquivo composto de subarquivos denominados membros. Para acessar
seus membros (members), o arquivo particionado possui um diretrio, que funciona como seu
ndice. So utilizados para armazenar bibliotecas ou bancos de dados.
Alocao contigua

Alocao no contigua

You might also like