Fixed memory partitions (메모리 파티션으로 나누어 놓음)
separate input queue
파티션 마다 input queue가 존재하는 (a), 단점으로 수용할 수 있는 가장 작은 partition 에 가는데 partition3같은 큰 메모리 주소 공간에 배당되지 않아서 메모리를 사용하지 않을 수 있다.
single Input queue
size만 맞으면 먼저 도착한 작은 job이 유리하다.
multiprogramming에서 존재하는 두가지 문제점이다. 위 두 문제를 해결하기 위해 각각 두가지 문제가 존재한다. When it comes to multiprogramming usually face two different problems we're going to figure it out
cannot be sure where program will be loaded in memory
Relocation and protection
Linker should tell which program words adre addresses to be relocated or use base register.
program이 memory에서 로딩도리 때 call 100번지를 하는 instruction을 call 100k + 100으로 바꿔서 call한다.
base register를 사용하면 로딩시 ins를 바꾸지 않고 그냥 로딩한 후 call 100k 한후 100을 더한다.
use limit register
program partition1에 배당 될 때 주소 100k partition의 size가 limit register로 들어가고 그 size를 넘는지 program size와 비교한다.
Swapping | Virtual memory |
---|---|
bring in each process in its entirety, running it for a while, then put it back on disk 프로세스 통째로 disk로 보냈다가 mm로 가져온다. | Allow programs to run ecen when they are only partially in main memory Active한 프로세스 mm에 넣지 못하면 disk에 넣게된다. |
Multiprogramming with Variable partitions