Main Memory Flashcards
Programs must be brought into memory and placed within a _____ in order to run
Process
The only storages that the CPU can access directly
Main memory and registers
What does the memory unit only see?
Stream of address
Read request / address
Data & write request
Main memory can take many cycles which causes ___
Stalls
__ sits between main memory and CPU registers
Cache
A pair of ___ and ___ define the logic address space
Base and limit registers
Programs on disk ready to be brought into memory to execute form an
Input queue
Three different stages if address binding
Compile time
Load time
Execution time
In compile time, if memory location is known a priori, ___ code can be generated
Absolute
Compiled code bind to ___ adrdresses
Relocatable
Linker / loader bind relocatable address to _— address
Absolute
Address seen by the memory unit
Physical address
Logical and ohysical addresses diiffer in terms of
Execution time address binding scheme
Hardware device that run time maps virtual to physical address
Memory management unit
Value in the ___ is added to every address generated by a user process
Relocation register
MS-DOS on intel 80x86 uses how many relocation registers
4
User program only deals with what tyoe if addresses
Logical
A type of relocation wherein a routine is not loaded until it is called
All routines are kept in relocatable load format
No special support from the OS
Linking is postponed until EXECUTION TIME
Dynamic Linking
System libraries and program code combined by the loaded]r into the binary program image
Static linking
Small piece of code used to locate appropriate memory resident library routine
It replacesitself with the ADDRESS of the routine and executes the routine
Stub
Dynamic linking is useful for system libraries also known as
Shared libraries
A process can be swapped temporarily out of a memory and to a ___which is a fat disk large enough to accomodate copies of all memorybimages for all users
Must provide direct access ti these memory images
Backing stores
Swapping variant used for priority-based scheduling algorithms
Lower priority is swapped iut by higher priority
Roll out roll in
Major part of swao time is __
Transfer time
System maintains a __- of ready ti run oricesses which have memory images on disk
Ready queue
In this type of allocation, the memory is partitioned into two parts
Contiguous allocation
In contiguous allocation, the memory is partitioned into
OS (low memory) User processes (high memory)
Used to protect user processes from each other
Relocation register
This type of fragmentation states that the total memory soace exists to SATISFY A REQUEST
External fragmentation
In this type of fragmentation, allocated memory be slightly LARGER THAN REQUESTED MEMORY
size difference is memory internal to a partition but not being used
Intenal frag
According tobthis rule, first fit analysis reveals that given N blocks allocated, 0.5N blocks lost to fragmentation
1/3 may be unusable
50 percent rule
A way to reduce external fragmentation by shuffling memory contents to place all free memory together in one large block
Compactin
A memory management scheme that supports user view of memory
Segmentation
Maps 2D ohysicall addresses
Segment table
Points to the segment tabke’s location memory
Segment tabke base register
Indicates number of segments used by a orogram
Segment table length register
If validation bit == 0 then
Illegal statement
Allows physical address soace of a process to not be contiguous
Process is allotted to memory whenever it is available
Avoids EXTERNAL fragmentation and problem of varying sized memory chunks
Paging divides ohysical memory into FIXED SIZED BLOCKS called
Frames
Pages divide LOGICAL MEMORY INTO BLOCKS OF SAME SIZE CALLED
Pages
Translate logical to physical address
Page table
Addres generated by the CPU is divided into 2