Resumo Sistemas Operacionais

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

a única transição que o processo age de forma autonoma e a passagem do de Running para Block. o sistema operacional efetivamente os colocará em execução. No momento em que é esgotado o Quantum de cada processo. Outros detalhes importantes são que. Cooperantes: Quando dois ou mais processos utilizam em conjunto um mesmo recurso para completarem uma dada tarefa. Caso o processo necessite efeturar uma operação do I/O (input / output). E os estados Ready e Running são considerados estados ativos. Quando todos os processos estiverem usados seu Quantum. 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. 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 ). ele automaticamente ira para o estado de Blocked (bloqueado). . Isto significa que o processo pode ser executado quando o processador estiver disponível. enquanto o estado Block e considerado um estado inativo. Execução (Running): Quando o processo está utilizando um processador para seu processamento.• • disputas com outros processos. dependendo de uma ação do sistema operacional para definir a ordem na qual os processos usarão o recurso. o processo volta para a fila de Ready (pronto) por meio da rotina Awake ( Reativação). Neste estado o processo tem suas instruções efetivamente executadas pelo processador. o qual tira o processo do processador e o recola na fila de Ready (pronto). Em um sistema de tempo rapartido. 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 sistema operacional assume novamente e aciona uma nova rotina chamda de TimeRunOut. 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. Concorrentes: Quando pretendem utilizar um mesmo recurso. seu processamento fica suspenso até que tal operação seja concluída. Neste transição de Ready para Running a rotina de mudanças recebe o nome de Dispatch ( despachado ). Após a utilização do recurso. Bloqueado (Blocked): Quando o processo está esperando ou utilizando um recurso qualquer de E/S (entrada e saída). Como o processo dever aguardar o resultado da operação de entrada ou saída.

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

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

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

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

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

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

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

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

Sign up to vote on this title
UsefulNot useful