Segmentação (memória): diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
m Substituição de predefinições obsoletas
Dbastro (discussão | contribs)
m manut. de refs.
Linha 1:
{{Sem-Mais fontes|data=novembro de 2010| arte=| Brasil=| ciência=sim| geografia=| música=| Portugal=| sociedade=|1=|2=|3=|4=|5=|6=}}
Em [[sistema operacional|sistemas operacionais]], '''segmentação''' é uma das maneiras mais comuns para a [[proteção de memória]], sendo a [[memória paginada]] outro método bastante utilizado. Significa que parte da memória é removida do [[processo (informática)|processo]] sendo executado atualmente, através do uso de [[registrador]]es. Se o dado prestes a ser lido ou escrito está fora do espaço de endereços do processo, uma [[falha de segmentação]] é lançada.<ref name="os-concepts-essentials">Operating Systems Concepts Essentials; Abraham Silberschatz, Peter Baen Galvin, Greg Gagne; John Wiley & Sons, 2011</ref>
 
Em [[sistema operacional|sistemas operacionais]], '''segmentação''' é uma das maneiras mais comuns para a [[proteção de memória]], sendo a [[memória paginada]] outro método bastante utilizado. Significa que parte da memória é removida do [[processo (informática)|processo]] sendo executado atualmente, através do uso de [[registrador]]es. Se o dado prestes a ser lido ou escrito está fora do espaço de endereços do processo, uma [[falha de segmentação]] é lançada.
 
Qualquer [[programa de computador]] está dividido em secções, como as declarações de [[Variável (programação)|variáveis]] e declarações de [[Sub-rotina|subrotinas]], sobretudo se ele foi escrito numa [[Linguagem de programação de alto nível|linguagem de alto nível]]. Em termos de [[tempo de execução|execução]], cada uma dessas secções vai ocupar um segmento da memória.
 
O [[sistema operativo]] que suporta este sistema possuirá uma [[tabela]] com os tamanhos e [[endereço de memória|endereços de memória]] dos vários segmentos de um programa para saber onde estão. Cada segmento possui um conjunto de permissões (leitura, escrita ou execução) e um tamanho associado. Se o processo é autorizado pelas permissões a referenciar a memória da maneira como deseja e se o endereço está no trecho do segmento, a referência do endereço da memória é permitida. Senão, a falha de segmentação é lançada. Outra associação além de permissão e tamanho é a informação de onde o segmento está localizado na memória.<ref name="vade-mecum">[http://www.freeprogrammingebooks.net/free_programming_ebook_others/operating_systems_vademecum.php An Operating Systems Vade Mecum], Raphael Finkel, University of Kentucky, 1988</ref>
 
Uma [[MMU]] é responsável pela tradução de um segmento e um endereço relativo no segmento em um [[endereço de memória]], e também pela verificação da permissão da referência e valor do endereço relativo.
Linha 11 ⟶ 10:
Seu uso não deve ser confundido com a segmentação de memória utilizada pelas antigas [[arquitetura de computador|arquiteturas de computador]] [[x86]], como o [[Intel 8086]] e o [[Intel 8088]], que não forneciam proteção; a segmentação a partir do [[Intel 80286]] passou a fornecer proteção.
 
== Ver também ==
* [[Memória paginada]]
* [[Memória virtual]]
* [[Segmento de dados]]
 
 
{{Referências}}
{{esboço-informática}}