Prev | Current Page 307 | Next

Carl Reynolds and Paul Tymann

"Schaum's Outline of Principles of Computer Science"


MEMORY MANAGEMENT WITH MULTIPROGRAMMING
With multiprogramming came more sophisticated memory management. More than one program could be
in memory at one time, and it became important that an executing process did not change the contents of
memory devoted to the operating system itself, or of memory belonging to another process.
116 OPERATING SYSTEMS [CHAP. 6
The solution in the mid-1960s and 1970s was to use two registers whose contents would be set by the
operating system just prior to turning execution over to the user process. One register was called the ???base??? or
???relocation??? register, and it held the starting address of the memory allocated to the process. The other register
was called the ???limit??? register, and it held the maximum size of the program.
Each time a process accessed memory, the computer hardware (called the memory management unit
(MMU)) would check the address to make sure it was less than the limit register contents. If not, the MMU
would trap the error and generate an interrupt (an interrupt caused by software is called a trap) that would
activate the operating system in kernel mode. Then the OS could deal with the problem, probably by generating
a memory protection error and terminating the offending process.


Pages:
295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319
aquilamed Spa Ciechocinek drzwiowe hosting hotele londyn