segunda-feira, 17 de outubro de 2011

Gerenciamento de Memoria

O subsistema de gerenciamento de memória é uma das partes mais importantes do sistema operacional. Desde os primórdios da computação, tem havido uma necessidade de mais memória do que existe fisicamente em um sistema.Estratégias têm sido desenvolvidas para superar essa limitação eo mais bem sucedido destes é a memória virtual. Memória virtual torna o sistema parece ter mais memória do que realmente tem por compartilhá-lo entre os processos concorrentes, como eles precisam.
Memória virtual faz mais do que apenas fazer memória do seu computador ir mais longe. O subsistema de gerenciamento de memória fornece:

Grandes espaços de endereço

O sistema operacional faz com que o sistema aparecem como se tivesse uma quantidade maior de memória do que realmente tem. A memória virtual pode ser muitas vezes maior do que a memória física no sistema,

Proteção

Cada processo no sistema tem o seu próprio espaço de endereço virtual. Estes espaços de endereço virtual são completamente separadas umas das outras e assim um processo em execução um aplicativo não pode afetar o outro. Além disso, o hardware mecanismos de memória virtual permite que áreas de memória a ser protegido contra escrita. Isso protege código e os dados de serem substituídos por aplicações maliciosas.

Mapeamento da memória

Mapeamento de memória é usado para mapear imagem e arquivos de dados em um espaço de endereço processos. No mapeamento de memória, o conteúdo de um arquivo esta ligado diretamente no espaço de endereço virtual de um processo.

Alocação de memória física Justificado

O subsistema de gerenciamento de memória permite a cada processo em execução no sistema uma parte equitativa da memória física do sistema.

Memória Compartilhada Virtual

Embora a memória virtual permita que os processos tenha espaços separados (virtuais) de endereços, há momentos em que você precisa para compartilhar os processos de memória. Por exemplo poderia haver vários processos no sistema de execução da linha de comandos bash. Ao invés de ter várias cópias do bash, um em cada espaço de endereçamento de processos virtuais, é melhor ter apenas uma cópia na memória física e todos os processos rodando o bash em compartilhamento. Bibliotecas dinâmicas são um outro exemplo comum de execução do código compartilhado entre vários processos. 
Memória compartilhada também pode ser usada como um mecanismo de comunicação entre processos (IPC), com dois ou mais processos de intercâmbio de informações através da memória comum a todos eles.  

Fonte: http://tldp.org/LDP/tlk/mm/memory.html 


Sistema de Arquivo

Um sistema de arquivos é um conjunto de estruturas lógicas e de rotinas, que permitem ao sistema operacional controlar o acesso ao disco rígido. Diferentes sistemas operacionais usam diferentes sistemas de arquivos. Conforme cresce a capacidade dos discos e aumenta o volume de arquivos e acessos, esta tarefa torna-se mais e mais complicada, exigindo o uso de sistemas de arquivos cada vez mais complexos e robustos. Existem diversos sistemas de arquivos diferentes, que vão desde sistemas simples como o FAT16, que utilizamos em cartões de memória, até sistemas como o NTFS, EXT3 e ReiserFS, que incorporam recursos muito mais avançados.
No mundo Windows, temos apenas três sistemas de arquivos: FAT16, FAT32 e NTFS. O FAT16 é o mais antigo, usado desde os tempos do MS-DOS, enquanto o NTFS é o mais complexo e atual. Apesar disso, temos uma variedade muito grande de sistemas de arquivos diferentes no Linux (e outros sistemas Unix), que incluem o EXT2, EXT3, ReiserFS, XFS, JFS e muitos outros. Para quem usa apenas o Windows, estes sistemas podem parecer exóticos, mas eles são velhos conhecidos de quem trabalha com servidores, já que neles o Linux é que é o sistema mais popular.

Entrada e Saída de Dados
Entrada/saída (em inglês: Input/output, sigla I/O) é um termo utilizado quase que exclusivamente no ramo da computação (ou informática), indicando entrada (inserção) de dados por meio de algum código ouprograma, para algum outro programa ou hardware, bem como a sua saída (obtenção de dados) ou retorno de dados, como resultado de alguma operação de algum programa, consequentemente resultado de alguma entrada.
São exemplos de unidades de entrada de um computador: disco rígido, microfone, teclado, mouse, tela sensível ao toque, Scanner, Leitor de código de barras, Celular, Pendrive, Máquina fotográfica digital,Webcam, joystick e outros acessórios de jogos.
São exemplos de unidades de saída de um computador: monitor, caixas de som, impressora, disco rígido.
Algumas unidades são de entrada e saída de dados ou também chamados Dispositivos Híbridos: disco rígido, disco flexível ou disquete, monitor sensível a toques, pendrive, joystick vibratório e impressora.
As interfaces de entrada e saída são responsáveis pela conexão entre as várias partes de um sistema computacional baseado na arquitetura de Von-Neumann. Esta interface é responsável por conectar fisicamente o processador e a memória do sistema ao barramento, tornando-se o terceiro elemento do sistema computacional proposto.
Ao contrário do que se pode pensar a interface de entrada e saída não é só o conector físico e sim também o responsável pela comunicação lógica entre o barramento e o dispositivo. Essa função de conexão foi basicamente desenvolvida para que seja possível a comunicação entre vários dispositivos, fazendo com que a velocidade do barramento seja mais bem aproveitada e ainda tanto os periféricos quanto os elementos essenciais tenham programação/produção mais voltada ao seu desempenho, deixando a interconexão com as interfaces de entrada e saída.

Nenhum comentário:

Postar um comentário