Protección de memoria

La protección de memoria, del inglés memory protection, es un método para controlar el uso de memoria en una computadora, y es parte esencial de prácticamente todos los sistemas operativos modernos. El principal propósito de la protección de memoria es evitar que un proceso en un sistema operativo acceda a llamada ocultada para cualquier ocupación memoria que no le ha sido asignada. Así pueden evitarse problemas durante la ejecución del software, y también se evita que software maligno acceda a los recursos del sistema.

Métodos

Segmentación

La segmentación, en inglés: segmentation, hace referencia a la división de la memoria de una computadora en segmentos.

La arquitectura del x86 cuenta con diferentes opciones para la segmentación para quien desee protección de memoria en esta arquitectura.[1]​ En la arquitectura del x86, la Global Descriptor Table y la Local Descriptor Table se pueden usar para referenciar segmentos en la memoria de la computadora. Los punteros a los segmentos de memoria en los procesadores x86 también pueden almacenarse en los registros de segmentos del procesador. Inicialmente el x86 tenía 4 registros de segmentos: CS (code segment), SS (stack segment), DS (data segment) y ES (extra segment); para añadirse posteriormente dos registros más – FS and GS.[1]

Páginas

Este concepto, conocido en inglés como Paging, se basa en dividir el espacio de direcciones de memoria en pequeñas piezas idénticas llamadas páginas. Usando un mecanismo de memoria virtual se consigue que cada página resida en cualquier ubicación dentro de la memoria física, o pueda ser marcada como protegida. La memoria virtual posibilita tener un espacio de direcciones de memoria lineal y usarlo para acceder a bloques fragmentados a lo largo del espacio de direcciones de memoria física.

La mayoría de las arquitecturas de las computadoras basados en páginas, entre ellos la arquitectura del x86, hacen uso de la protección de memoria.

Se usa una tabla de páginas para asociar la memoria virtual con la memoria física. La tabla de páginas resulta transparente durante el proceso. Las tablas de memoria facilitan la asignación de memoria nueva, dado que cada página puede ser asignada desde cualquier memoria física.

Esta solución impide que una aplicación acceda a una página que no le ha sido explícitamente asignada, pues todas las direcciones de memoria, incluso las aleatorias, que son usadas por una aplicación, apuntan a una página asignada o generan un page fault, PF (error de página). Las páginas que no han sido asignadas no tienen una dirección desde el punto de vista de la aplicación, y por ello no son visibles.

Un error de página no tiene por qué ser un error fatal del sistema. Este tipo de errores no solo se utilizan para protección de memoria, sino también de otra forma interesante: el sistema operativo puede interceptar el error de página y puede cargar una página que ha sido trasladado a un disco, y volver a la aplicación que causó el error de página. De esta forma la aplicación obtiene la página de memoria requerida. Este concepto, conocido como swapping, permite desplazar a un disco los datos de la memoria que no se están usando, y traerlos de vuelta de forma transparente para las aplicaciones, aumentando así la capacidad de memoria.

Llaves de protección

El concepto de llave de protección, conocido en inglés como protection key, divide la memoria física en bloques de un tamaño particular y variable (ej. 2KB), de forma que cada uno de ellos tiene asociado un número denominado llave de protección. Cada proceso está asociado con una llave de protección. A la hora de acceder a la memoria el hardware comprueba que la llave de protección del proceso actual coincide con el del bloque de memoria al que se accede, en caso contrario se produce una excepción. Este mecanismo se usó en la arquitectura del System/360.

Las llaves de protección del System/360 se asocian con direcciones físicas. No ha de confundirse con el concepto usado por procesadores tales como el Intel Itanium y el HP Precision Architecture (el HP/PA es también conocido como PA-RISC), que son asociados con direcciones virtuales, y que permiten múltiples llaves por proceso.

En las arquitecturas de la computadora PA las traducciones (entradas TLB) tienen llaves (Itanium) o "identificadores de acceso" (PA) asociados. Un proceso en ejecución tiene varios registros de llaves de protección: 16 en el caso del Itanium,[2]​ 4 en el caso del HP PA.[3]​ Una traducción seleccionada por la dirección virtual compara su llave con la de los otros registros de llave de protección. Si alguno de ellos coincide (además de superar otros tipos de pruebas), el acceso es permitido. Si ninguno coincide, entonces se genera un error o una excepción. El administrador de errores de software puede, en caso necesario, comparar la llave que falta con una larga lista de llaves mantenidas por el software. Por ello, los registros de llave de protección dentro del procesador pueden contemplarse como una caché controlada por software de una larga lista de llaves asociadas con un proceso,

PA tiene un tamaño de llave de entre 15-18 bits; Itanium requiere al menos 18 bits. Las llaves se asocian normalmente con "dominios de protección", tales como bibliotecas, módulos, etc.

Segmentación simulada

La simulación es el uso de un programa de vigilancia interpretar las instrucciones de código máquina de una computadora. Un simulador de un conjunto de instrucciones puede proveer protección de memoria usando un concepto similar al de segmentación, y validando la dirección destino y la longitud de cada instrucción en tiempo real antes de ejecutarlas. El simulador debe calcular la dirección destino y la longitud y compararla con una lista de rangos de direcciones válidas de las que dispone en un entorno de hilos de ejecución, tales como los bloques de memoria dinámica adquiridos desde la inception del hilo de ejecución más huecos de memoria estática compartida. El significado de "válido" puede cambiar a lo largo de la vida del thread dependiendo del contexto: en algunas ocasiones puede ser permisible alterar un bloque estático de almacenaje, en otras ocasiones no, dependiendo del modo de ejecución que puede variar según la llave de almacenaje o el estado de supervisión.

Generalmente no se recomienda utilizar este método de protección de memoria si se dispone de recursos ajustados en el CPU, dado que la pérdida de recursos de la computadora para procesar es considerable. Sin embargo, se usa normalmente para facilitar la búsqueda de errores, y para verificar el software, proveyendo un nivel de granularidad extremadamente fino para combatir la violación de almacenamiento, y puede indicar con exactitud que instrucción trata de sobrescribir una sección dada de almacenamiento, que podría tener la misma llave de almacenamiento que almacenamiento desprotegido. Antiguos sistemas de IBM de teleprocesamiento como por ejemplo, CICS, multi-threaded transacciones comerciales en almacenamiento desprotegido y compartido durante aprox. 20 años.

Direccionamiento basado en la capacidad

El direccionamiento basado en la capacidad es un interesante concepto para la protección de memoria, aunque ya no se use en las computadoras modernos. Bajo este concepto, los punteros son reemplazados por objetos protegidos (denominados capacidades) que solo pueden crearse mediante el uso de instrucciones privilegiadas que solo pueden ejecutarse por el núcleo (o algún otro proceso con la autoridad para ello). Esto posibilita al núcleo controlar qué procesos pueden acceder qué objetos en la memoria sin tener que usar espacios de direcciones separados y sin la necesidad de cambios de contexto.

Mediciones

Una estimación útil sobre el nivel de protección de una implementación en particular es medir en que medida se ciñe al principio de menor privilegio.[4]

Protección de memoria en diferentes sistemas operativos

Son escasos los sistemas operativos que no hacen uso de la protección de memoria. La mayoría de los sistemas operativos de los PCs de los años 1970 y 1980, CP/M, y todas las variantes de MS-DOS no disponían de ella dado que fueron diseñados para ordenadores que no ofrecían el hardware necesario que la hacían viable. Incluso entonces, versiones de Microsoft Windows, comenzando con Windows 2.1x implementaron protección de memoria sobre el DOS en procesadores Intel 80286 o superiores.

Algunos de los sistemas operativos que disponen de protección de memoria incluyen:

Véase también

Referencias

  1. a b Intel (2008-07). Intel 64 and IA-32 Architectures Software Developer's Manuals: Volume 3A: System Programming Guide, Part 1 (PDF). Intel. Consultado el 21 de agosto de 2008. 
  2. Keys in Itanium Archivado el 28 de noviembre de 2007 en Wayback Machine.
  3. «Memory protection in HP PA-RISC». Archivado desde el original el 7 de junio de 2011. Consultado el 17 de marzo de 2009. 
  4. Cook, D.J. Measuring memory protection, accepted for 3rd International Conference on Software Engineering, Atlanta, Georgia, mayo 1978.

Enlaces externos

Read other articles:

1998 US lawsuit settlement The Tobacco Master Settlement Agreement (MSA) was entered on November 23, 1998, originally between the four largest United States tobacco companies (Philip Morris Inc., R. J. Reynolds, Brown & Williamson and Lorillard – the original participating manufacturers, referred to as the Majors) and the attorneys general of 46 states. The states settled their Medicaid lawsuits against the tobacco industry for recovery of their tobacco-related health-care costs.[1&...

 

تحتاج هذه المقالة كاملةً أو أجزاءً منها إلى تدقيق لغوي أو نحوي. فضلًا ساهم في تحسينها من خلال الصيانة اللغوية والنحوية المناسبة. (سبتمبر 2018) مختبر بيولوجيا الفضاء الميداني مختبر بيولوجيا الفضاء الميدانيصورة الطاقم ؟؟؟ تعديل مصدري - تعديل   مختبر بيولوجيا الفضاء الميداني...

 

Most hazardous risk–listed near-Earth asteroid (29075) 1950 DARadar image of 1950 DA taken at Arecibo in March 2001, from a distance of 22 LD or 0.052 AUDiscovery[1]Discovered byCarl A. WirtanenDiscovery siteLick Obs.Discovery date23 February 1950DesignationsMPC designation(29075) 1950 DAAlternative designations1950 DA · 2000 YK66Minor planet categoryNEO · Apollo · PHA[1][2] · ...

Portuguese long-distance runner (born 1947) For the Paralympic athlete, see Carlos Lopes (Paralympic athlete). For other people, see Carlos López. In this Portuguese name, the first or maternal family name is Sousa and the second or paternal family name is Lopes. Carlos LopesLopes in 1985Personal informationNationality PortugalSportSportMen's athletics Medal record Olympic Games 1984 Los Angeles Marathon 1976 Montreal 10,000 m World Cross Country Championships 1976 Chepstow Long cou...

 

Pete ConradLahirCharles Conrad Jr.(1930-06-02)2 Juni 1930Philadelphia, Pennsylvania, ASMeninggal8 Juli 1999(1999-07-08) (umur 69)Ojai, California, ASMakamArlington National CemeteryKebangsaanAmerika SerikatKarier luar angkasaAntariksawan NASAMisiGemini 5, Gemini 11, Apollo 12, Skylab 2Lambang misi PensiunDesember 1973 Charles Pete Conrad Jr. (2 Juni 1930 – 8 Juli 1999) adalah seorang antariksawan NASA, insinyur penerbangan, perwira angkatan laut, penerbang dan pilot uji ...

 

Lighthouse on Lampione in Pelagie Islands, Sicily LighthouseLampione Lampione LighthouseLocationLampionePelagie IslandsSicilyItalyCoordinates35°33′36″N 12°20′05″E / 35.560020°N 12.334685°E / 35.560020; 12.334685TowerConstructed1935Foundationconcrete baseConstructionstone buildingHeight6 metres (20 ft)Shapelight atop a 1-storey equipment buildingMarkingsunpainted stone buildingPower sourcesolar power OperatorMarina Militare[1][2]...

Disambiguazione – Se stai cercando altri significati, vedi Occhio di falco (disambigua). Occhio di FalcoOcchio di Falco, disegnato da Mark Bagley UniversoUniverso Marvel Nome orig.Hawkeye Lingua orig.Inglese AutoriStan Lee Don Heck EditoreMarvel Comics 1ª app.settembre 1964 1ª app. inTales of Suspense (vol. 1[1]) n. 57 Editore it.Editoriale Corno 1ª app. it.novembre 1971 1ª app. it. inL'incredibile Devil n. 41 Caratteristiche immaginarieAlter ego Clint...

 

Ancient city KlazomenaiΚλαζομεναί (in Ancient Greek)Coin from Klazomenai depicting a winged boar, 499 BCShown within TurkeyAlternative nameClazomenaeLocationUrla, İzmir Province, TurkeyRegionIoniaCoordinates38°21′29.4″N 26°46′3.3″E / 38.358167°N 26.767583°E / 38.358167; 26.767583TypeSettlement Klazomenai (Ancient Greek: Κλαζομεναί) or Clazomenae was one of the 12 ancient anatolian ionic cities (the others being Chios, Samos, P...

 

Relaciones diplomáticas de la Santa Sede      Relaciones diplomáticas      Otras relaciones Placa de la Nunciatura apostólica en Montevideo La nunciatura apostólica o simplemente nunciatura es una misión diplomática de máximo rango de la Santa Sede ante los Estados con los que mantiene relaciones diplomáticas. Al frente de la nunciatura de la Santa Sede se halla un nuncio (embajador papal). La nunciatura es el equivalente a una embajad...

2020年夏季奥林匹克运动会波兰代表團波兰国旗IOC編碼POLNOC波蘭奧林匹克委員會網站olimpijski.pl(英文)(波兰文)2020年夏季奥林匹克运动会(東京)2021年7月23日至8月8日(受2019冠状病毒病疫情影响推迟,但仍保留原定名称)運動員206參賽項目24个大项旗手开幕式:帕维尔·科热尼奥夫斯基(游泳)和马娅·沃什乔夫斯卡(自行车)[1]闭幕式:卡罗利娜·纳亚(皮划艇)&#...

 

Навчально-науковий інститут інноваційних освітніх технологій Західноукраїнського національного університету Герб навчально-наукового інституту інноваційних освітніх технологій ЗУНУ Скорочена назва ННІІОТ ЗУНУ Основні дані Засновано 2013 Заклад Західноукраїнський �...

 

Den här artikeln behöver fler eller bättre källhänvisningar för att kunna verifieras. (2021-07) Åtgärda genom att lägga till pålitliga källor (gärna som fotnoter). Uppgifter utan källhänvisning kan ifrågasättas och tas bort utan att det behöver diskuteras på diskussionssidan. Liberal demokrati är en statsvetenskaplig term som ibland likställs med den konstitutionella demokratin, ett styrelseskick med representativ demokrati där de folkvaldas politiska makt regleras i gru...

Capital city of Illinois, United States Capital city in Illinois, United StatesSpringfieldCapital cityDowntown Springfield and the Illinois State CapitolLincoln Home SiteVachel Lindsay HouseAbraham Lincoln's TombOld State Capitol FlagSealMotto: Home of President Abraham Lincoln[1]Location in Sangamon County and the state of IllinoisSpringfieldShow map of IllinoisSpringfieldShow map of the United StatesCoordinates: 39°47′54″N 89°40′33″W / 39.79833°N 89.6...

 

Comparison of a wide range of lengths This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Orders of magnitude length – news · newspapers · books · scholar · JSTOR (January 2020) (Learn how and when to remove this message) Graphical overview of sizes The following are examples of orders of magnitude for diff...

 

Daniel O'Connell Daniel O'Connell (bahasa Irlandia: Dónall Ó Conaill; 6 Agustus 1775 – 15 Mei 1847), sering disebut sebagai Sang Pembebas[1] atau Sang Emansipator,[2] adalah seorang pemimpin politik Irlandia pada paruh pertama abad ke-19. Ia berkampanye untuk emansipasi Katolik, termasuk hak umat Katolik untuk duduk di Parlemen Westminster, yang ditolak selama lebih dari 100 tahun Catatan kaki ^ O'Connell, Daniel – Irish Cultural Society of the Garden C...

2014 studio album by Savage RepublicAegeanStudio album by Savage RepublicReleasedMarch 23, 2014 (2014-03-23)RecordedInterstellar Studios, Upland, CAGenrePost-punk, experimental rockLength63:45LabelMobilizationProducerSavage RepublicSavage Republic chronology Varvakios(2012) Aegean(2014) Aegean is the seventh studio album by American post-punk band Savage Republic, released on March 23, 2014 by Mobilization Records. Track listing All tracks are written by Savage Republic...

 

Disambiguazione – Se stai cercando i presidenti della Repubblica Popolare Cinese, vedi Presidenti della Repubblica Popolare Cinese. Presidente della Repubblica di Cina中華民國總統 Lai Ching-te, attuale Presidente della Repubblica di Cina Nome originale(ZH) 中華民國總統 中华民国总统 Zhōnghuá Mínguó Zǒngtǒng Stato Taiwan TipoCapo di Stato In caricaLai Ching-te (PPD) da20 maggio 2024 Istituito 1º gennaio 1912 (provvisorio); 25 ottobre 1945 (consegna a Taiwan); 20...

 

American college basketball season 1950–51 Georgetown Hoyas men's basketballConferenceIndependentRecord8–14Head coachFrancis Buddy O'Grady (2nd season)Assistant coachDominic Cara (1st season)CaptainDanny Supkis (1st year)Home arenaUline ArenaSeasons← 1949–501951–52 → The 1950–51 Georgetown Hoyas men's basketball team represented Georgetown University during the 1950–51 NCAA college basketball season. Francis Buddy O'Grady coached it in his secon...

シュリーレン法により撮影された衝撃波 衝撃波(しょうげきは、英: shock wave)は、主に流体中を伝播する、圧力などの不連続な変化のことであり、圧力波の一種である。 詳細 主に媒質中を超音速で移動する物体の周りに発生し、媒質中の音速よりも速い速度、すなわち超音速で伝播、急速に減衰して最終的には音波(ソニックブーム)となる。 また、波面後方で圧...

 

В Википедии есть статьи о других людях с фамилией Гитлер. Клара Гитлернем. Klara Hitler Имя при рождении нем. Klara Pölzl Дата рождения 12 августа 1860(1860-08-12) Место рождения Вайтра, Гмюнд, Нижняя Австрия, Австрийская империя Дата смерти 21 декабря 1907(1907-12-21) (47 лет) Место смерти �...