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 usuários,
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 também otimizar tal uso objetivando um melhor eficiência
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 são considerados recursos do sistema
computacional e são, geralmente, representados pelos dispositivos que o compõe e que podem ser
utilizados pelos usuários, ou seja: monitores de vídeo, 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 específico ditado pela própria
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 duração finita e
utilizando uma quantidade limitada de recursos computacionais. Resumidamente, pode-se afirmar
que um processo é um programa em execução.
O chamado paralelismo virtual ou pseudoparalelismo é a capacidade do processador de
executar um programa em um pequeno espaço de tempo dando a ideia de paralelismo. Em
computadores com dois ou mais processadores é possível a existência de paralelismo verdadeiro
pois cada processador pode
executar um processo independentemente.
Um processo pode ser dividido em processos menores, também 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 critério muito importante de análise dos processos computacionais é aquele que
considera os processos segundo sua ocorrência, isto é, a observação de seu comportamento
considerando o tempo. Neste caso teríamos os seguintes tipos de processos:
Sequenciais: São aqueles que ocorrem um de cada vez, um a um no tempo, serialmente,
como que de forma exclusiva. Neste tipo de processo, os recursos são disponibilizados todos para o
processo. Como o processo não 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, não se envolvendo em

No momento em que é esgotado o Quantum de cada processo. Bloqueado (Blocked): Quando o processo está esperando ou utilizando um recurso qualquer de E/S (entrada e saída). a coordenação do tempo de processador e feita pelo escalonador (scheduler) o qual utiliza de um temporizador para medir o tempo de utilização do processador. o processo volta para a fila de Ready (pronto) por meio da rotina Awake ( Reativação). enquanto o estado Block e considerado um estado inativo. dependendo de uma ação do sistema operacional para definir a ordem na qual os processos usarão o recurso. Execução (Running): Quando o processo está utilizando um processador para seu processamento. Quando é solicitada a execução de um programa o sistema cria ( Create) um processo atribuindo a ele um PID ( Process identifier ) e também recebe o Quantum ( Fração de tempo para utilizar o processador ). a única transição que o processo age de forma autonoma e a passagem do de Running para Block. o sistema operacional assume novamente e aciona uma nova rotina chamda de TimeRunOut. Em um sistema de tempo rapartido. E os estados Ready e Running são considerados estados ativos. Como o processo dever aguardar o resultado da operação de entrada ou saída. Estados do processo Podemos identificar três passos básicos de um processo: Pronto (Ready): Situação em que o processo está apto a utilizar o processador quando este estiver disponível. . Neste estado o processo tem suas instruções efetivamente executadas pelo processador. Isto significa que o processo pode ser executado quando o processador estiver disponível. seu processamento fica suspenso até que tal operação seja concluída.• • disputas com outros processos. Outros detalhes importantes são que. Todos os processos em seu estágio inicial recebem o estado de Pronto ( Ready ) e são colocados no final da fila de processos Prontos. Quando todos os processos estiverem usados seu Quantum. Cooperantes: Quando dois ou mais processos utilizam em conjunto um mesmo recurso para completarem uma dada tarefa. Após a utilização do recurso. Caso o processo necessite efeturar uma operação do I/O (input / output). Neste transição de Ready para Running a rotina de mudanças recebe o nome de Dispatch ( despachado ). o qual tira o processo do processador e o recola na fila de Ready (pronto). ele automaticamente ira para o estado de Blocked (bloqueado). Concorrentes: Quando pretendem utilizar um mesmo recurso. o sistema operacional efetivamente os colocará em execução.

processos que desejam utilizar a região crítica são conheciso como processos paralelos concorrentes. o acesso a esta região não é controlado pelo processo e sim pelo SO. Código reentrante . as interrupções são mecanismo importantes para que o sistema possa utilizar grande parte do seu tempo ocioso. nanipulação dos PCBs. sincronização dos processos. isso pode gerar perda de dados. estátistica de utilização. as prioridades do processo. Nesse sentido. Regiões críticas Quando um dado recurso do sistema somente pode ser usado por um único processo de cada vez. interrompida e retomada conforme determinação do sistema operacional. troca dos estados dos processos e sua intercomunicação. Uma região crítica é uma forma administrativa de conceder e devolver um recurso que pode ser utilizado por vários processos. sem prejuízo para o processo. Obviamente. por esse motivo. outras funções também são desempenhadas pelo Kernal. um PCB contém: PID. Quando um processo faz um acesso simultâneo em uma região crítica no mesmo que a ela esta sendo utilizada. isso quer dizer que em um determinado momento alguns deles irão solicitar o mesmo recurso simultaneamente. gerando uma competição pelo recurso. o estado atual do processo.Praticamento quase todas as funções do sistema operacional são acionadas por chamadas implicitas ou explicitas (system calls). Tempo a utilizado no processador. Porém. um recurso somente pode ser disponibilizado para um processo de cada vez. O PCB contêm todas as informações necessárias para a execução do mesmo possa ser iniciada. PCB e tabelas de processos O PCB (Process Control Block ou Process Descriptor) é uma estrutura de dados que mantêm a representação de um processo para o sistema operacional. Uma das mais importantes funções do kernel e a gerenciamento de interrupções. Esse controle de acesso é chamado de protocolo de acesso. um ponteir para o processo pai. gerencia de memória. Neste sentido. nanipulação de processos. Essa exigência pelo uso individual ou compartilhado de um recurso caracteriza duas situações importantes: código reentrante e as regiões críticas. este recurso determina uma região crítica. Para que isso não acontece. esta sempre está alocada na memória primária do sistema. gerencia de dispositivos E/S Competição de recursos Quando afirmamos que dois ou mais processos ocorrem em paralelo. De uma forma simplificada. Funções do núcleo do sistema Todas as funções que envolver um processo são controladas por uma parte do sistema operacional denominada núcleo (core ou kernel). lista dos ponteiros para os processos filhos. as quais são: • • • • • • • gerenciamento de interrupções. Essa parte do sistema operacional é a mais utilizada.

Neste caso se torna uma situação benéfica. um código reentrate é quando uma certa rotina de software pode ser usado por diversos processos. pois alguns podem prejudicar o processo. Contudo. neste caso.J á. . Neste caso. recursos ficam alocados reduzindo o numero de recuros para outros processos. e com a intenção de retomar a tarefa depois. Condição de espera circular: Cada processo solicita o recurso alocado pelo próximo processo. quando este processo fica a espera de um evento particular que jamais acontecerá. nem todo processo pode ser removido. Existem também as situações de bloqueio simultâneo. a situação de corrida ainda era um problema. Todas estas situações também são inaceitáveis. Uma tentativa para corrigir este problemas foram as soluções com instruções TST ou TSL ( Test and set or Test and Set Lock). ao contrário da região crítica. processo bom baixa prioridade podem não fazer o acesso ao recurso se haver um fila de processos com prioridade maior. quando dois ou mais processos solicitam o acesso a região crítica simultaneamente. Dizemos que existe uma situação de corrida. configurando neste caso um problema de prioridade estática. onde um processo é sistemática e indefinidamente bloqueado de utilizar orecurso. de forma circular. Segundo Tanembaum existe quatro alternativas básicas para tratar esse tipo de erro: Ignorar o problema (algoritmo da avestruz) Detecção e recuperação dos deadlocks Prevenção dinâmica Prevenção estrutural Recuperação de deadlock Existe algumas técnicas que podem ser usadas para resolver-lo: Recuperação por meio da preempção: essa técnica tem como princípio retirar albuns recursos envolvidos no bloqueio. Tal mudança é conhecida como uma troca de contexto. Condição de ausência de preemptividade 1: recursos não podem ser retirados dos processos enquanto esse processo não é finalizado. Um Deadlock pode ocorrer em quatro condições: Condição de exclusão múltua: o processo exige uso exclusivo do recurso. é necessário um protocolo de acesso eficiente para evitar o acesso simultâneo ou o bloqueio mutuo. permitindo a quebra do caminho fechado. onde um mesmo recuso é utilizado por diversos processos aumentando a eficiencia do processo como um todo. bloqueio perpétuo ou Impasse. Conteudo. onde os vários processos que estão em disputa pelo uso recurso são bloqueados de modo tal que o recurso continue sem uso. DeadLock Dizemos que um processo esta em Deadlock. pois. Protocolo de acesso Não se pode definir o acesso a região crítica mediante a prioridades fixas. preemptividade (algumas vezes preempção) é o ato de interromper temporariamente uma tarefa sendo resolvida por um sistema computacional. Condição de espera por recurso: recursos ficam alocados a espera de outros recursos. ou ainda de adiamento infinito. sem precisar de sua cooperação. 1 Em computação. Neste caso.

Para isso são utilizados semáforos para tratar a concorrência. deve ser implementado um mecanismo de armazenamento de estados o qual possibilita o rollback.Recuperação por meio do Rollback: este principio afirma que pode-se retorna ao um checkpoint quando o problema de deadlock ocorre. Essa é uma maneira simples de fazer o compartilhamento quando os processos são sequenciais. E semelhante ao buffer. Para isso. com são paralelos passa a existir uma situação de concorrencia. Memória compartilhada O compartilhamento de memória é um mecanismo utilizado para comunicação entre processos diferentes. Ponto ruins é a dificil implementação. Estado seguro é aquele que garante que todos os processos podem ser finalizados considerando suas necessidades em termos de recursos e os recursos efetivamente disponíveis no sistema. os quais são: Buffer: Dois processos distintos podem compartilhar um buffer entre si. somente o empilhamento. os processos devem especificar inicialmente a quantidade de recursos que pode utilizar. Mediante a isso foi desenvolvido o algoritmo do banqueiro. cada processo somente podera executar a leitura e escrita um de cada vez. porém. Neste caso. Já um estado não seguro é aquele que não garante que o processo devolverá o recurso já alocado. Para isso. ou seja. O processo produtor adicionar informações no buffer enquanto o processo consumir os retira. Embora seja compartilhada. Recuperação por meio da eliminação do processo: Processos são eliminados até o deadlock se resolvido. Contudo. Uma solução para este problema é o Sleep eo Wakeup colocando os produtos e consumidores em estado de dormencia. buffer não permite nem a escrita e nem a leitura. num ambiente onde existem diversos processos paralelos competindo por recursos. ele pode ser adiado. . quando um ou mais processos precisam se comunicar. Contudo. de forma exclusiva. um espaço de memória é reservado para uso comum entre os processos. foram criados os semáforos. o uso de semáforos garante que um dado recurso seja utilizado de forma sequencial. Prevenção de deadlock A maioria dos algoritmos para a prevenção do deadlock são baseados no conceito de estado seguro. Esse algoritmo verifica se o pedido de recurso e seguro ou não. as quais são variáveis inteiras para controlar o numero de sinais Wakeup. Para a comunicação de processos. liberando o recurso ou não para o processo. ou seja. Esta sistuação existe 2 problemas: 1 – O consumidor tenta consumir um buffer vazio. Contudo outros problemas ocorrerão ( mas eu nao vou falar sobre eles :) ) Semáforos Para solucionar este problema do produtor e consumidor. podendo assim gerar um deadlock. se o processo for considerado inseguro. Os semáforos também tem o objetivo de sincronização de processos garantindo a concorrência. A IPC (Inter process comunication) é uma situação comum em sistemas operacionais. os quais podem escrever e ler. Comunicação entre processos. o sistema operacional disponibiliza alguns mecanismo para esse tipo de comunicação.A utilização de semãforos permite a sincronização de vãrios processos. 2 – O produtor não consegue produzir pois o buffer esta cheio.

fara uso do processador. Neste algoritmo. Escalonamento de alto nível: também conhecida como escalonamento de tarefas. No caso do HPF. Escalonamento de nível médio: determina quais processos existentes competirão pelo processador. o sistema operacional deve decidir qual será executado primeiro. Escolanemento de baixo nível: determina quais processos. a ordem de chegada é a que é leva em consideração para a utilização do processador. a tarefa que for admitida se tornará um processo. este e um algoritmo não preemptivo. Já uma Thread permitem a combinação do paralelismo com a execução sequencial. Logo. um escalonamento não preemptivo. Neste sentido. em um ordem. Algoritmos de escalonamento Existem vários algoritmos que são utilizados para a realização do escalonamento de baixo nével ou de curto prazo. sendo colocados a frente os processos de maior prioridade. Existem também algoritmos de escalonamento cooperativo. . Cada Thread recebe a atenção do processador como um processo comum. Neste sentido. Escalonamento de processos O escalonamento de processadores é a forma com os processadores existentes num sistema computacional são utilizados para efetuar o processamento. um algoritmo de escalonamento é considerado preemptivo quando o processador designado para um processo pode ser retirado deste em favor de um outro processo. Este tem o objetivo de decidir quais tarefa passarão a competir pelo recurso. onde os processos não são interrompidos. O primeiro processo pronto. ou seja. 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 são organizados numa fila segundo sua prioridade. o principal objetivo é designar o processador para um certo processo dentre vários processos existentes. otimizando um ou mais aspectos do comportamento geral do sistema. existe apenas uma estrutura de controle para o processo. Em todos eles. Níveis de escalonamento Existem três tipos distintos de escalonamento em um sistema computacional quando se considera a frequência e complexidade das operações envolvidas.Threads Um processo possui um fluxo único de execução. é como os processos são distribuídos para execução nos processadores. propiciando a troca de recursos facilmente. Neste sentido. A parte do sistema operacional dedicada a esta decisão é chamada escalonador (scheduler) e o algoritmo utilizado é chamado algoritmo de escalonamento (scheduling algorithm). uma Thread é um fluxo independente de execução pertecente a um processo. mas a preempção ocorre em duas situações bem definidas: quando o processo efetua uma operação de I/O e quando o processo é finalizado. Quando mais de um processo é executável. e o espaço de memória é mesmo. ele recebe a atenção do processador de forma individual. Contudo. Escalonamento FIFO (First In First Out) Primeiro a entrar será o primeiro a ser servidor. Analogamente. existe uma solução. Após a execução do processo ele não é interropido. Escalonamento preemptivo e não preemptivo Um algoritmo de escalonamento é dito não preemptivo quando temos que o processador designado para um certo processo não pode ser retirado deste até que o processo seja finalizado (completion). e servido pelo processaor e executado até o final. isto é.

ou seja. No entanto. o algoritmo de escalonamento avalia seu tempo de execução incluindo o job em execução. Este propôs um balanceamento entre a duração do job e seu tempo de espera. ele pode ser finalizado. ou seja. vontando a fila quando seu tempo esgote. Neste caso as filhas podem ser preemptivas ou não preemptivas. isto é. Porém.relativamente simples. Escalonamento SRT ( Shortest Remaining Time ) Este algoritmo é a variante preemptiva do SJF. Escalonamento MQ ( Multilevel Queues ) Quando se pode dividir o processo em diferentes categorias. Isto significa que ao final de seu intervalo de tempo. ou seja. Primeira. Ao utilizar o processador o processo pode seguir 3 tipos de alternativas. para evitar a estagnaçao. segunda. ele também é um algoritmo não preemptivo. sendo então despachados para execução. onde o tempo de serviço é tomado como prioridade. caso seu quantum se esgote ele é colocado em uma fila de nivel 2. a cada processo é concedido apenas um pequeno intervalo de tempo (time slice ou quantum). Na entrada de um novo processo. É um caso especial do HPF. sendo o processo em execução interrompido e novamente colocado na fila de processos prontos. Prioridade = t serviço + t espera / t serviço Como o algoritmo STF. prioridade e consumo de recursos. ou seja. mas sim circular ( Round robin) Gerencia de memória A gerencia de memória e justificada devido a memória primária ser um dos elementos básicos da arquitetura . Cada fila pode ser tratatada por diferentes algoritmos. A fila de processos a serem executados pelo SRT é organizada conforme o tempo estimado de execução. Na de nivel 1 o algoritimo utilziado é o FIFO. para a solução do problema da estagnação denominada aging (envelhecimento). Escalonamento HRN (Highest Response-Ratio Next) Este algoritmo de escalonamento tem como base o SJF. Caso o processo não seja finalizado neste intervalo de tempo. sendo processados primeiro os menores jobs. Escalonamento MFQ ( Multilevel Feedback queues ) Neste escalonamento existe dois tipos de fila classificadas pelo seu nível. ocorre a preempção do processo em execução. e terceiro. o processador é designado para outro processo. caso a estimativa de seu tempo de execução seja menor que o do processo correntemente em execução. Uma solução para o problema de estagnação de processos seria impor um tempo máximo de espera fixo ou proporcional ao tempo de serviço. de duração mais curta. ocorre a preempção do processador. de forma semelhante ao SJF. também é conhecido como SPF (Shortest Process First) ou menor processo primeiro. Tal solução consistem em progressivamente aumentar a prioridade dos processos que aguardam na fila a medida que o tempo passa. ocorre sua substituição pelo próximo processo na fila de processos ativos. mas em seu fim. levando em consideração seu tipo. ocorre a substituição do processo em execução pelo recém chegado. Neste fila o algoritmo já não é o FIFO. pode-se empregar o escalonamento de multiplas filas. de forma a compensar a espera excessiva de tarefas de maior duração. busca resolver alguns problemas impostos pelo algoritmo. os processos em espera pelo processador são organizados numa fila segundo seu tempo de execução. de seu quantum. Escalonamento SJF (Shortest Job First) Este algoritmo de escalonamento tem como caracteristica a organização dos processos pelo menor job primeiro. ou seja. sendo colocados a frente os menores processos jobs. a partir do qual tais processos seriam executados. como forma de compensar a espera e evitar a estagnação. ao invés de serem executados até o fim (completion). Escalonamento Roud Robin ( intervalo de tempo ) No escalonamento RR (Round Robin) ou circular os processos também são organizados numa fila segundo sua ordem de chegada. ele fica aguando o uso de um dispositivo de entrada E/S.

sem se preocupar com o posicionamento contíguo de partes de um mesmo programa. indiretamente. A medida em que processos são finalizados. Ex: disco rigido. Fica claro portanto que a determinação de partições para um determinado processo influencia no desempenho do sistema. diretamente acessadas pelo processador. Tipicamente são circuitos intergrados como RAM. Como todos os processos utilizam a memória primária. e RON. Worst fit: O processo é alocado para a maior partição que o comporte. como os processos são tratados pelo SO segundo sua necessidade de memória. Best fit: O processo é alocado para a menor partição que o comporte. mas devem ser carregadas para a meméria primário para serem utilizados. O SO faz o mapeamento para verificar quais estão alocadas na memória. gerenciamando a memória. memória virtual é a capacidade de um sistema operacional de utilizar mais memória do que o disponível. A necessidade de manter multíplos programas na memória impõe a necessidade de controlar como esta memória é utilizada. a gerencia de memória leva com consideração como a memória principal é vista e como pode ser usada pelos processos. Armazenamento secundário: Normalmente área de memória que não podem ser acessadas diretamente pelo processodor. o sistema operacional vai relacionando quais páginas virtuais estão sendo alocadas para cada um destes programas. E em segundo. Em virtude das dificuldades tecnológicas associadas a construção de dispositivos eficientes de memria e seu custo. estamos gerenciado processos. Particionamento variável. mesmo aparentemente os processos. EEPRON. o gerenciamento de memória é divido em duas partições distintias. Logo.computacional atual. Memória Virtual Segundo Deitel. Armazenamento primário: são as posições de memória externa. Ele é contituido do registradores e seu cache interno. Neste modelo. com tamanho e posição fixo. o armazenamento de dados assumiu historicamente a seguinte organização: Armazenamento interno: Interno ao processador. para esta tarefa pode-se utilizar um dos seguinte processos: First fit: Aloca-se o primeiro processo para a primeira partição que o comporte. eles podem ser limpos da memória que fica livro para receber novos processos. PC-DOS. Logo. Modelos de gerenciamento de memória Existem vários modelo para organização e gerenciamento de memória: Monoprogramado com armazenamento real Neste modelo. a memória e dividia em grandes blocos denominados partições. PRON. exceto pelo fato de que agora é o sistema operacional efetua o particionamento da meméria. há a preparação para que seja executado um programa de cada vez. eles são dividos em vários blocos . Paginação A medida que os programas vão sendo executados. A memória virtual pode ser implementada basicamente através de mecanismos de: Paginação: é a técnica mais utilizada para criação de memoria virutal em que o espaço de enderecamento virtual e dividio em blocos denominados unidade de alocação. Neste modelo. uma para o sistema operacional e outra para os processos do usuário. Ex: MS-DOS. O particionamento variável é bastante semelhante à organização de memória em partiçoes fixas. Segmentação: técnica em que o espaço de endereçamento virtual e dividio em blocos de tamanho fixo ou viariável e identificados univocamente. Neste sentido. EPRON. ao chegar na memória. Particionamento Fixa. Esse tipo de particionamento de memória também é conhecida como particionamento pode demanda. No instante efetivo da execução a MMU (memory management unit) converte os endereços virtuais em endereços físicos utilizando as tabelas de páginas. serem linearea.

mantido num registrador qualquer do processador. é somado ao endereço de base da tabela de páginas. ele não pode executar outra tarefa enquanto aguarda. Segmentação ( Mesmo coisa de cima ) Enquanto que a organização da memória através da paginaçãoo é um modelopuramente unidimensional. Como o modulo pode controlar vários periféricos. O número da página virtual é usado como índice numa tabela de páginas. suportadas diretamente pelo hardware do sistema e mantidas pelo sistema operacional são. O processador por sua vez executa a troca de dados liberando o modulo e voltando a executar o processamento anteriror. o ponto central destes esquemas de organização de memória. I/O com acesso direto a memória: também conhecida como DMA (direct memory access). onde cada processo pode utilizar-se de diversos espaços de endereçamento virtuais independentes. Para tanto. logo. Um único módulos de I/O permite a comunicação com vários periféricos. o modulo utiliza duas formas possíveis: mapeada de memória e mapeada de I/O. Somandose o deslocamento contido no endereço virtual ao endereço da moldura de página obtido da tabela de páginas obtêm-se o endereço real completo. Logo. Gerencia de I/O (input e output) I/O ou E/S representa todos os dispositivos de eletromagnéticos. tanto a organização de memõria através de paginação como de segmentação e os sistemas híbridos que utilizam a paginação combinada com segmentação. deve haver um modulo adicional chamdo de controlador de DMA . Os modulos de I/O podem ser operados de 3 maneiras básicas: I/O Programador: os dados são trocados diretamente entre o processador e o módulo. opticos ou eletronicos que são integrados a um sistema computacional com o propósito de realizar a comunicação do processoador e memória com o meio externo. ou seja. também chamado de módulo de I/O que por sua vez são ligados aos barramentos do sistema.alocados em meio a outros processos. A idéia básica é que o endereço virtual é composto de duas partes. o espaço de endereçamento virtual oferecido a cada um dos diversos processos é único e linear. I/O com interrupção: para superar o problema de espera do processador. o mapeamento é feito pela MMU utilizando a tabela de paginação. juntamente com os mecanismos de conversão de endereços. Estas tabelas. Está técnica propoe uma única interrupção para efetuar a transferência de um bloco de dados diretamente entre os periféricos e a memória primária. obtendo-se uma referência para uma entrada da tabela que contêm o endereço real da moldura de página desejada. Quando a atividade for concluida o modulo envia um sinal de interrupção para o processador. pode se utilizar o mecanismo de interrupção. a segmentação propõe um modelo bidimensional. são implementadas tabelas para realizar a conversão de endereços virtuais em endereços físicos. Neste caso é responsabilidade do processador verificar o estado do módulo. O processador envia um comando para o módulo e volta a executar outras tarefas sem a necessidade de um monitoramento constante no modulo. Tabelas de paginação Como visto. Não havendo o envolvimento do processador. para que seja controlado o endereço do periférico que esta sendo utilizado. Este dispositivos são conectados por meio de modulos. um número da página virtual e um deslocamento dentro da página. isto é.

Estes contém: métodos de acesso.Sistema de arquivos Um arquivos é um conjunto de informações relacionadas entre sí e residentes no sistema de armazenamento secundário. A aplicação deve conhecer a localização dos dados no dispositivo. Sequencial Indexado: os registros bytes são organizados numa sequência logica conforme uma chave e o sistema mantêm um índice para acelerar. que funciona como seu índice. os arquivos podem ser organizados das seguintes maneiras: Sequencial: quando os arquivos ou bytes são posicionados em sua ordem física. Como tudo em um sistema operacional. Logo. Do ponto de vista armazenamento e acesso. Alocação contigua Alocação não contigua . Para acessar seus membros (members). o arquivo particionado possui um diretório. Particionado: Quando o arquivo é composto de subarquivos denominados membros. gerenciamento de arquivos. São utilizados para armazenar bibliotecas ou bancos de dados. sendo familiar com sua organização. e mecanismo de integridade. organizando seu armazenamento no que chamamos sistemas de arquivos. arquivos são um profunda abstração que possibilita a realização de operações de leitura e escrita sem conhecer os detalhes de funcionamento com que estas operações são realizadas. Direto: Quando os registro ou bytes são diretamente acessados no meio em que são armazenados. usualmente um DASD. o SO também controla as operações sobre os arquivos.

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.