linux - How is memory segmentation bounds-checking done? -
linux - How is memory segmentation bounds-checking done? -
according wikipedia article on memory segmentation, x86 processors segmentation bounds-checking in hardware. there systems bounds-checking in software? if so, kind of overhead incur? in hardware implementations, there way skip bounds checking avoid penalty (if there penalty)?
all modern languages bounds checking in software, on top of segment bounds checking , memory map lookups. one benchmark suggests overhead 0.5%. little cost pay stability , security.
a 486 load memory location in single cycle, , cpus have gotten improve @ doing on-chip processing, it's unlikely segmentation bounds checking has overhead @ all.
still, though, can run in 64bit mode: "the processor not perform segment limit checks @ runtime in 64-bit mode" (intel's developer manual, 3.2.4).
linux memory operating-system x86 memory-segmentation
Comments
Post a Comment