1/62
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
backing store (disk)
A program is permanently kept on the?
True
True or False:
For a program to be run it must be brought from the backing store into memory and placed within a process
When the main memory can take many cycles it causes
Cache
This sits between the main memory and CPU registers
Input Queue
Programs on disk, ready to be brought into memory to execute, are placed in an
Symbolic
Source code addresses are usually
Relocatable Addresses
Compiled code addresses bind to
linker or loader
binds relocatable addresses to absolute addresses
Absolute Code
In Compile-time: If memory location known a priori, _______ can be generated; must recompile code if starting location changes
relocatable code
In load time: Must generate ______ if the memory location is not known at compile time
Execution time
Binding delayed until run time if the process can be moved during its execution from one memory segment to another
Logical address
generated by the CPU;
Physical address
address seen by the memory unit
Logical address space
the set of all logical addresses generated by a program
Physical address space
set of all physical addresses generated by a program
Relocation Register
generalization of the base-register scheme
True
True or False:
The value in the relocation register is added to every address generated by a user process at the time it is sent to memory
Execution-time binding
occurs when reference is made to the location in memory
Dynamic Loading
program consist of a main part and a number of routines
Routine
This is not loaded unless itās called
True
True or False
All routines kept on disk in relocatable load format
Static linking
system libraries and program code combined by the loader into the binary program image
Dynamic linking
linking postponed until execution time
Stub
A small piece of code tha is used to locate the appropriate memory-resident library routine
Stub
replaces itself with the address of the routine and executes the routine
Relocation registers
used to protect user processes from each other, and from changing operating-system code and data
base register
contains the value of the smallest physical address
limit register
contains a range of logical addresses ā each logical address must be less than the limit register
Hole
block of available memory; holes of various size are scattered throughout memory
First-fit
Allocate the first hole that is big enough
Best-fit
Allocate the smallest hole that is big enough; must search the entire list, unless ordered by size
Worst-fit
Allocate the largest hole; must also search entire list
External Fragmentation
total memory space exists to satisfy a request, but it is not contiguous
Internal Fragmentation
allocated memory may be slightly larger than requested memory; this size difference is memory internal to a partition, but not being used
Segmentation
Memory-management scheme that supports user view of memory
Programs
a collection of segments
a logical unit such as:
Ā main program
Ā procedure
Ā function
Ā method
Ā object
Ā local variables, global variables
Ā common block
Ā stack
Ā symbol table
Ā arrays
Paging
The physical address space of a process can be noncontiguous; the process is allocated physical memory whenever the latter is available
Paging
Avoids external fragmentation
Avoids the problem of varying sized memory chunks
frames
Divides physical memory into fixed-sized blocks
Page Table
translate logical to physical addresses
True
True or False?
The page table is kept in main memory
Page-table base register (PTBR)
points to the page table
Page-table length register (PTLR)
indicates the size of the page table
translation look-aside buffers
Memory protection
implemented by associating the protection bit with each frame to indicate if access is allowed
Valid-invalid
bit attached to each entry in the page table:
valid
that the associated page is in the processā logical address space, and is thus a legal page
invalid
indicates that the page is not in the processā logical address space
Private code and data
Each process keeps a separate copy of the code and data
True
True or False
The pages for the private code and data can appear anywhere in the logical address space
Hierarchical Page Tables
Break up the logical address space into multiple page tables
Two-level Page Example
A logical address (on 32-bit machine with 1K page size)
12 but page number
10 bit page offset
64-Bit Logical Address Space
Even a two-level paging scheme not sufficient
Hashed Page Tables
Used in architecture with address spaces > 32 bits
Virtual Page Number
hashed into a page table
Swapping
A process can be swapped temporarily out of memory to a backing store, and then brought back into memory for continued execution
Backing store
ast disk large enough to accommodate copies of all memory images for all users; must provide direct access to these memory images
Roll out, roll in
swapping variant used for priority-based scheduling algorithms; the lower-priority process is swapped out so the higher-priority process can b
True
True or false:
The major part of swap time is transfer time; total transfer time is directly proportional to the amount of memory swappe