Вы находитесь на странице: 1из 3

GERNCIA DE MEMRIA DO MAC OS X Caractersticas principais Paginao so !e"an!a# E$terna% Me"or& Manage"ent Inter'ace (EMMI)# Na"e!

;e! Me"or& Entries# *a+& E,a%-ation !e Me".ria Copia!a (S/a!o0s O 1ects)# Me"or& Maps# 2erana !e Na"e! Regions# 3P*s4 Conceitos
-Memory Objects: Dados potencialmentes persistentes. Contm named entrys e regions. -Paginao sob demanda: Mapeamento de Memria Virt al para real na primeira tentati!a de acesso. -"odo tipo de data no espao de memria pro!ido atra!s dos Memory Objects. Mac# $pede$ ao %o&ner$ do M.O. ' m pager( pelo conte)do e retorna a ele poss*!eis modi+ica,es nos dados. -Pagers: -.istem os de+a lt-pagers 'lida com memria no-persistentes/ o %memriaanonima$. 0 e.istem d rante a !ida de ma tas1( e os !node-pagers 'Mapeia ar2 i!os em Memory Objects(. Mac# e.porta m inter+ace para esse Memory Objects/ permitindo contrib io de !arias tare+as modo- s 3rio em se conte)do. -4amed -ntries: 5andle para objetos compartil#ados o s bmapas. Permite ao o&ner mapear o objeto de memria !irt al/ o ento/ passar o direito de mapea-lo. Mapear ma 4amed -ntry em 6 tas1s di+erentes res lta em Memria Compartil#ada. -7 ando se cria ma no!a tas1/ elas so clonadas do pai/ e s a poro mapeada da memria pode ser #erdada como ma cpia/ como compartil#ada/ o nen# m desses/ basadas nos atrib tos associados ao mapeamento. - 8a9y -!al ation:: copia protegida com read-only access para as d as tas1 2 e compartil#am memria. 7 ando ambas tentam acessar a mesma poro/ esta copiada nessa #ora. ;sso permite simpli+ica,es em di!ersas 3reas/ nota!elmente nas messagings :P;s. -MemoryMaps: 8ista ordenada D plamente 8igada. Cada objeto contm lista de p3ginas e s#ado&re+erences a estes objetos. -4amed <egions podem ser #erdadas/ no s como m gr po de objetos de memria/ mas tambm toda a relao de mapeamento entre eles. -4amed <egion como ma named entry/ mas ao in!s de conter !irt al memory objects/ contm m +ragmento de mapa !irt al. -=P8s: =ni!ersal Page 8ists. 'Data str ct re( ;n+orma,es de cac#ing/ permiss,es/ mapeamentos/ e etc. -0#ado& Objects: 7do m objeto de memria !irt al d plicado/ 'e.g. =m processo c#amo +or1(/ criado m 0#ado& Object. -le inicialmente !a9io/ apenas com ma re+er>ncia a o tro objeto. 7 ando ma p3gina modi+icada/ ele copiada do pai 're+er>ncia( pra ele/ e ento modi+icado. :o ler dados/ se ela no e.iste no 0#ado& Object l> do pai. ;sto c#am-se 0#ado&-c#ain .

7 adro geral 4o Mac O0 ?/ cada processo tem o se prprio conj nto '@6bits o AB bits( de espao de endereo !irt al. Para processos de @6 bits/ cada processo tem m espao 2 e pode enderear dinamicamente c#egando ao limite de Bgb. Para processo de AB bits/ cada processo pode enderear dinamicamente at o limite de CD e.abytes. O espao de endereo !irt al de m processo constit *do por regi,es de memria mapeada. Cada regio de memria no processo representa m conj nto espec*+ico de p3ginas de memria !irt al. : regio tem atrib tos

espec*+icos controlando coisas como #erana 'por,es da regio podem ser mapeadas a partir de EpaiE das regi,es(/ escre!e-proteco/ e se E&iredE 'isto / no pode ser paginada o t(. Por2 e regi,es cont>m m determinado n)mero de p3ginas/ eles esto page-alin#ados/ signi+icando o endereo inicial da regio tambm est3 iniciando o endereo de ma p3gina e terminando o endereo tambm de+ine o +im de ma p3gina. Memria +*sica m rec rso precioso no comp tador. =ma caracter*stica dos 0istemas Operacionais Modernos a Memria Virt al 'Virt al Memory F VM(/ 2 e implementa a il so de m largo espao de endereos para cada programa sem sobrecarregar o programador com detal#es/ como 2 ais partes do programa so residentes na memria +*sica/ em determinado momento/ o onde na memria +*sica as por,es residentes esto locali9adas. Memria Virt al normalmente implementada atra!s de paginao 'paging(. 7 ando residente cada p3gina da memria !irt al carregada em alg ma parte da memria +*sica. -sta poro/ normalmente c#amada de %page +rame$. :lm do VM 0 bsystem baseado no Core-Mac#/ o gerenciamento de memria do Mac O0? engloba di!ersos o tros mecanismos/ alg ns dos 2 ais no so partes estritamente do sistema VM/ mas esto intimamente relacionados.

Nota: Ao contrrio da maioria dos sistemas operacionais baseados em UNIX, o Mac OS X no usa um pr-partio swap para a mem ria !irtua"# $m !e% disso, e"e usa todo o espao dispon&!e" na m'uina da partio de boot#

O 0 bsistema VM do 1ernel Mac# consiste do md lo mac#ine-dependent p#isical map 'pmap( e o tros md los mac#ine-independent para gerenciar a estr t ra de dados/ tais como os !irt al address space maps 'VM maps(. O Gernel e.porta di!ersas rotinas para o -spao do =s 3rio ' ser space( como parte de Mac# VM :P;.

O 1ernel sa o =P8 '=ni!ersal Page 8ist(/ -str t ra de Dados para descre!er como delimitar m conj nto de p3ginas +*sicas. O =P8 criado baseado na associao das p3ginas 'pages( com o Objetos VM 'objects VM(. =P8s incl em !3rios atrib tos das p3ginas 2 e descre!em. 0 bsistemas do Gernel/ partic larmente o Hile 0ystem/ sam =P8s para se com nicar com o s bsistema VM. O =IC '=ni+ied I ++er Cac#e( constit i m conj nto de p3ginas para arma9enar 'cac#ing( o conte)do dos ar2 i!os e as por,es anJnimas do espao de endereos. Memria anJnima no s stentada por ar2 i!os reg lares/ dispositi!os/ o mesmo alg ma o tra +onte de memria e o e.emplo mais com m a memria alocada dinamicamente. O Gernel incl i @ paginadores internos/ a saber: o paginador padro 'anJnimo(/ o paginador para dispositi!os e o paginador para !node. -les tratam opera,es de entrada e sa*da sobre regi,es da memria. Os paginadores com nicam-se com o 0 bsistema Mac#-VM tili9ando inter+aces =P8 e deri!adas do paginador do Mac#.

Memria Compartil#ada Memria compartil#ada a memria 2 e pode ser escrita o lida a partir de dois o mais processos. Memria partil#ada pode ser #erdada a partir de m processo-me/ criado por m ser!idor de memria compartil#ada/ o e.plicitamente criado por m pedido de e.portao para o tras aplica,es. O so da memria compartil#ada incl em: K compartil#ando grandes rec rsos/ como *cones o sons K r3pida a com nicao entre m o mais processos : Memria compartil#ada +r3gil. 0e m programa corrompe ma seo de memria compartil#ada/ os programas 2 e tambm sam esta mesma memria acabam acessando dados corrompidos. Lired Memory Lired memory 'tambm c#amado de memria residente( arma9ena cdigo 1ernel e estr t ras de dados/ 2 e n nca de!e ser paginada para o disco. :plica,es/ +rame&or1s e o tros so+t&ares da camada de s 3rio ' ser le!el( no podem ser alocados na &ired memory. 4o entanto eles podem a+etar a 2 antidade de Lired memory e.istente n m dado momento. 53 m o!er#ead de memria associada com cada rec rso despendido pelo 1ernel em nome de m programa.

<ec rsos Process Hio Mac# porto Mapeamento Iiblioteca <egio de memria

Lired memria tili9ada pelo 1ernel CA 1ilobytes blo2 eados em ma contin ao-M 1ilobytesN blo2 eo -6C 1ilobytes CCA bytes @6 bytes 6 1ilobytes acrescido de 6OO bytes para cada tare+a 2 e sa-lo CAO bytes

(abe"a - )ired mem ria *erado pe"o usurio a n&!e" de so+tware Nota: $stas medidas mudam a cada no!a !erso do Mac OS X# $"as so +ornecidas a'ui para te dar uma estimati!a apro,imada do custo re"ati!o do sistema de uso do recurso#

Como pode-se !er/ cada t#read criada/ cada s bprocesso bi+ rcado/ e cada biblioteca ligada contrib i para a oc pao da memria residente do sistema. :lm das solicita,es de Lired-Memory geradas no n*!el do s 3rio/ as seg intes entidades do 1ernel tili9am &ired-memory: K VM objetos K a memria !irt al b ++er cac#e K ; P O b ++er cac#es K cond tores

Вам также может понравиться