Memory Protection Research Materials




This page contains a list of user images about Memory Protection which are relevant to the point and besides images, you can also use the tabs in the bottom to browse Memory Protection news, videos, wiki information, tweets, documents and weblinks.

P!nk - Just Give Me A Reason ft. Nate Ruess
From the Grammy Nominated album The Truth About Love available now - http://smarturl.it/tal Music video by P!nk featuring Nate Ruess performing Just Give Me ...
Jack Sparrow (feat. Michael Bolton)
Buy at iTunes: http://goo.gl/zv4o9. New album on sale now! http://turtleneckandchain.com.
James Arthur sings Shontelle's Impossible - The Final - The X Factor UK 2012
Watch judges' comments at http://itv.com/XFactor (UK ONLY) Watch James Arthur sing Impossible by Shontelle Sweeeeet! As potential Winner's Singles go, this o...
THE LEGEND OF ZELDA RAP [MUSIC VIDEO]
WATCH BLOOPERS & MORE: http://bit.ly/ZELDAxtras DOWNLOAD THE SONG: http://smo.sh/13NrBp8 DOWNLOAD UNCENSORED SONG: http://smo.sh/WMYpsf GET LEGEND OF SMOSH T...
David Guetta - Titanium ft. Sia
From the album Nothing But The Beat Ultimate - Download on iTunes here: http://smarturl.it/NBTBiTunes?IQid=vevo Featuring Sia, Ne-Yo, Akon, Nicki Minaj, Flo ...
MACKLEMORE & RYAN LEWIS - THRIFT SHOP FEAT. WANZ (OFFICIAL VIDEO)
Thrift Shop on iTunes: http://itunes.apple.com/us/album/thrift-shop-feat.-wanz-single/id556955707 The Heist physical deluxe edition: http://www.macklemoremer...
Rihanna - Rehab ft. Justin Timberlake
Music video by Rihanna performing Rehab. YouTube view counts pre-VEVO: 19591123. (C) 2007 The Island Def Jam Music Group.
Kai and His Girlfriend, Ellen
The adorable 4-year-old crooner was back to put the moves on our host, and to make everybody in the audience melt. This kid is too adorable!
Threw It On The Ground
Download on iTunes: http://goo.gl/gcVR7 THREE T-Shirt designs!: http://goo.gl/jr4sY So many things to throw on the ground! Featuring Ryan Reynolds and Elijah...
P!nk - Try (The Truth About Love - Live From Los Angeles)
Music video by P!nk performing Try (The Truth About Love - Live From Los Angeles). (C) 2012 RCA Records, a division of Sony Music Entertainment.
Rihanna - Stay ft. Mikky Ekko
Download "Stay" from Unapologetic now: http://smarturl.it/UnapologeticDlx Music video by Rihanna performing Stay ft. Mikky Ekko. © 2013 The Island Def Jam Mu...
YOLO (feat. Adam Levine & Kendrick Lamar)
YOLO is available on iTunes now! http://smarturl.it/lonelyIslandYolo THE LONELY ISLAND - THE WACK ALBUM - JUNE 11th! Pre-order THE WACK ALBUM DIRECT: http://...
Epic Trick Shot Battle | Dude Perfect
Play the DUDE PERFECT GAME here! iPhone - http://bit.ly/DPGameiPhone Android - http://bit.ly/DPGameAndroid iPad - http://bit.ly/DPGameiPad Tweet! http://bit....
MACKLEMORE & RYAN LEWIS - CAN'T HOLD US FEAT. RAY DALTON (OFFICIAL MUSIC VIDEO)
Macklemore & Ryan Lewis present the official music video for Can't Hold Us feat. Ray Dalton. Can't Hold Us on iTunes: https://itunes.apple.com/us/album/cant-...
Drive Thru Invisible Driver Prank
Learn Magic at http://www.penguinmagic.com Instagram: http://instagram.com/themagicofrahat Twitter: http://twitter.com/magicofrahat Facebook Group: http://ww...
Draw My Life- Jenna Marbles
This video accidentally turned out kind of sad, ME SO SOWWY IT NOT POSED TO BE SAD WHO WANTS HUGS AND COOKIES? Also, FYI for anyone attempting this, it takes...
Rihanna - Diamonds
Pre-order new album Unapologetic, out worldwide Monday, November 19: http://smarturl.it/UnapologeticDlx Music video by Rihanna performing Diamonds. ©: The Is...
Rihanna - Pon de Replay (Internet Version)
Music video by Rihanna performing Pon de Replay. YouTube view counts pre-VEVO: 4166822. (C) 2005 The Island Def Jam Music Group.
Rihanna - Only Girl (In The World)
Music video by Rihanna performing Only Girl (In The World). (C) 2010 The Island Def Jam Music Group #VEVOCertified on February 16, 2011. http://www.vevo.com/...
Pokemon Theme Song REVENGE!
BLOOPERS & DELETED SCENES: http://bit.ly/POKEMONbloopers DOWNLOAD THE SONG: http://smo.sh/WMZqR5 CHECK OUT THIS POKESMOSH SHIRT: http://smo.sh/YMRJ5e COLLECT...

Memory protection is a way to control memory access rights on a computer, and is a part of most modern operating systems. The main purpose of memory protection is to prevent a process from accessing memory that has not been allocated to it. This prevents a bug within a process from affecting other processes, or the operating system itself. Memory protection for computer security includes additional techniques such as address space layout randomization and executable space protection.

Contents

Methods [edit]

Segmentation [edit]

Segmentation refers to dividing a computer's memory into segments.

The x86 architecture has multiple segmentation features, which are helpful for using protected memory on this architecture.[1] On the x86 processor architecture, the Global Descriptor Table and Local Descriptor Tables can be used to reference segments in the computer's memory. Pointers to memory segments on x86 processors can also be stored in the processor's segment registers. Initially x86 processors had 4 segment registers, CS (code segment), SS (stack segment), DS (data segment) and ES (extra segment); later another two segment registers were added – FS and GS.[1]

Paged virtual memory [edit]

In paging, the memory address space is divided into equal, small pieces, called pages. Using a virtual memory mechanism, each page can be made to reside in any location of the physical memory, or be flagged as being protected. Virtual memory makes it possible to have a linear virtual memory address space and to use it to access blocks fragmented over physical memory address space.

Most computer architectures based on pages, most notably x86 architecture, also use pages for memory protection.

A page table is used for mapping virtual memory to physical memory. The page table is usually invisible to the process. Page tables make it easier to allocate new memory, as each new page can be allocated from anywhere in physical memory.

By such design, it is impossible for an application to access a page that has not been explicitly allocated to it, simply because any memory address, even a completely random one, that application may decide to use, either points to a page allocated to that application, or generates a page fault (PF). Unallocated pages, and pages allocated to any other application, simply do not have any addresses from the application point of view.

As a side note, a PF may not be a fatal occurrence. Page faults are used not only for memory protection, but also in another interesting way: the OS may intercept the PF, and may load a page that has been previously swapped out to disk, and resume execution of the application which had caused the page fault. This way, the application receives the memory page as needed. This scheme, known as swapped virtual memory, allows in-memory data not currently in use to be moved to disk storage and back in a way which is transparent to applications, to increase overall memory capacity.

On some systems, the page fault mechanism is also used for executable space protection such as W^X.

Protection keys [edit]

A protection key mechanism divides physical memory up into blocks of a particular size (e.g., 4 kiB), each of which has an associated numerical value called a protection key. Each process also has a protection key value associated with it. On a memory access the hardware checks that the current process's protection key matches the value associated with the memory block being accessed; if not, an exception occurs. This mechanism was introduced in the System/360 architecture. It is available on todays System z mainframes and heavily used by System z operating systems and their subsystems.

The System/360 protection keys described above are associated with physical addresses. This is different from the protection key mechanism used by processors such as the Intel Itanium and the Hewlett-Packard Precision Architecture (HP/PA, also known as PA-RISC), which are associated with virtual addresses, and which allow multiple keys per process.

In the Itanium and PA processor architectures, translations (TLB entries) have keys (Itanium) or access ids (PA) associated with them. A running process has several protection key registers (16 for Itanium,[2] 4 for HP/PA[3]). A translation selected by the virtual address has its key compared to each of the protection key registers. If any of them match (plus other possible checks), the access is permitted. If none match, a fault or exception is generated. The software fault handler can, if desired, check the missing key against a larger list of keys maintained by software; thus, the protection key registers inside the processor may be treated as a software-managed cache of a larger list of keys associated with a process.

PA has 15–18 bits of key; Itanium mandates at least 18. Keys are usually associated with protection domains, such as libraries, modules, etc.

Simulated segmentation [edit]

Simulation is use of a monitoring program to interpret the machine code instructions of some computer. Such an Instruction Set Simulator can provide memory protection by using a segmentation-like scheme and validating the target address and length of each instruction in real time before actually executing them. The simulator must calculate the target address and length and compare this against a list of valid address ranges that it holds concerning the thread's environment, such as any dynamic memory blocks acquired since the thread's inception, plus any valid shared static memory slots. The meaning of "valid" may change throughout the thread's life depending upon context. It may sometimes be allowed to alter a static block of storage, and sometimes not, depending upon the current mode of execution, which may or may not depend on a storage key or supervisor state.[citation needed]

It is generally not advisable to use this method of memory protection where adequate facilities exist on a CPU, as this takes valuable processing power from the computer. However, it is generally used for debugging and testing purposes to provide an extra fine level of granularity to otherwise generic storage violations and can indicate precisely which instruction is attempting to overwrite the particular section of storage which may have the same storage key as unprotected storage.

Capability-based addressing [edit]

Capability-based addressing is a method of memory protection that is unused in modern commercial computers. In this method, pointers are replaced by protected objects (called capabilities) that can only be created via using privileged instructions which may only be executed by the kernel, or some other process authorized to do so.[citation needed] This effectively lets the kernel control which processes may access which objects in memory, with no need to use separate address spaces or context switches. Capabilities have never gained mainstream adoption in commercial hardware, but they are widely used in research systems such as KeyKOS and its successors, and are used conceptually as the basis for some virtual machines, most notably Smalltalk and Java.

Measures [edit]

The protection level of a particular implementation may be measured by how closely it adheres to the principle of minimum privilege.[4]

Memory protection in different operating systems [edit]

Different operating systems use different forms of memory protection or separation. True memory separation was not used in home computer operating systems until OS/2 was released in 1987. On prior systems, such lack of protection was even used as a form of interprocess communication, by sending a pointer between processes. It is possible for processes to access System Memory in the Windows 9x family of Operating Systems.[5]

Some operating systems that do implement memory protection include:

On Unix-like systems, the mprotect system call is used to control memory protection.[6]

See also [edit]

References [edit]

  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. Retrieved 2008-08-21. 
  2. ^ Keys in Itanium
  3. ^ Memory protection in HP PA-RISC
  4. ^ Cook, D.J. Measuring memory protection, accepted for 3rd International Conference on Software Engineering, Atlanta, Georgia, May 1978.
  5. ^ "Windows 9x does not have true memory protection". Everything2. 2000-06-24. Retrieved 2009-04-29. 
  6. ^ "mprotect". The Open Group Base Specifications Issue 6. The Open Group. 

External links [edit]

Twitter
News
Documents
Don't believe everything they write, until confirmed from SITONOMY site.







What is SITONOMY?

It's a social web research tool
that helps anyone exploring anything.
Learn more about us here.



Updates:


Stay up-to-date. Socialize with us!
We strive to bring you the latest
from the entire web.


Company Information: