alamanos opened this issue on Jan 29, 2007 · 127 posts
svdl posted Thu, 01 February 2007 at 1:53 PM
I was talking about virtual memory schemes: segmentation schemes vs paging schemes.
In the segmentation schemes used by Windows 3.x and Mac OS 9 and lower, the onus of marking a segment as "code" or "data" fell to the programmer, allowing for some devious loopholes - a programmer could mark code as data or the other way around. Made for a lot of "quick and VERY dirty" applications, including malware.
Combined with the cooperative multitasking scheme this made for an inherently unstable and unsafe OS. Windows 16 bit suffered heavily from this. Mac OS 9 and lower too, to a lesser degree, since Apple has far more control over Mac software than Microsoft does over Windows software.
The paging virtual memory scheme (hardware supported since the 386 CPU - and I think the Motorola 68030) takes this responsibility away from the programmer. The hardware also does the job of mapping the virtual address to the physical address, the OS has nothing to do with it.
Only the page file is handled by the OS. Linux puts the page file on a separate partition, which is a better solution than the Windows one (which wants to put the page file on the system drive. You can change the location of the page file though).
The pen is mightier than the sword. But if you literally want to have some impact, use a typewriter