D686: Operating Systems for Computer Scientists (chapter 8)

studied byStudied by 0 people
0.0(0)
learn
LearnA personalized and smart learning plan
exam
Practice TestTake a test on your terms and definitions
spaced repetition
Spaced RepetitionScientifically backed study method
heart puzzle
Matching GameHow quick can you match all your cards?
flashcards
FlashcardsStudy terms and definitions

1 / 89

encourage image

There's no tags or description

Looks like no one added any tags here yet for you.

90 Terms

1

stall

A CPU state occurring when the CPU is waiting for data from main memory and must delay execution

New cards
2

cache

A temporary copy of data stored in a reserved memory area to improve performance. In the slab allocator, a cache consists of two or more slabs

New cards
3

base register

A CPU register containing the starting address of an address space. Together with the limit register, it defines the logical address space

New cards
4

limit register

A CPU register that defines the size of the range. Together with the base register, it defines the logical address space.

New cards
5

bind

Tie together. For example, a compiler binds a symbolic address to a relocatable address so the routine or variable can be found during execution

New cards
6

absolute code

Code with bindings to absolute memory addresses

New cards
7

relocatable code

Code with bindings to memory addresses that are changed at loading time to reflect where the code is located in main memory.

New cards
8

logical address

Address generated by the CPU; must be translated to a physical address before it is used.

New cards
9

physical address

Actual location in physical memory of code or data

New cards
10

virtual address

An address generated by the CPU; must be translated to a physical address before it is used.

New cards
11

logical address space

The set of all logical addresses generated by a program

New cards
12

physical address space

The set of all physical addresses generated by a program.

New cards
13

memory-management unit (MMU)

The hardware component of a computer CPU or motherboard that allows it to access memory.

New cards
14

MMU

The hardware component of a computer CPU or motherboard that allows it to access memory.

New cards
15

relocation register

A CPU register whose value is added to every logical address to create a physical address (for primitive memory management)

New cards
16

dynamic loading

The loading of a process routine when it is called rather than when the process is started.

New cards
17

dynamically linked libraries (DLLs)

System libraries that are linked to user programs when the processes are run, with linking postponed until execution time.

New cards
18

static linking

Linking in which system libraries are treated like other object modules and combined by the loader into a binary program image.

New cards
19

shared libraries

Libraries that can be loaded into memory once and used by many processes; used in systems that support dynamic linking.

New cards
20

cache

a temporary storage area that holds copies of frequently accessed data to speed up processing

New cards
21

bind

to connect or link together, such as associating a symbolic address with a relocatable address for program execution

New cards
22

absolute code

program instructions that reference fixed memory addresses for direct execution

New cards
23

logical address

address generated by the CPU that requires translation to a physical address for use in memory, essentially the same as a virtual address in this context

New cards
24

physical address

actual location in physical memory where data or instructions are stored

New cards
25

logical address space

range of all addresses generated by a program before translation into physical addresses

New cards
26

physical address space

range of all physical addresses available in a computer system

New cards
27

memory management unit (MMU)

hardware enabling a CPU to access and translate addresses between logical and physical memory

New cards
28

dynamic loading

loading of program routines into memory only when called during execution, not at program start

New cards
29

dynamically linked libraries (DLLs)

system libraries linked to user programs at runtime, allowing shared resources across processes

New cards
30

static linking

combining system libraries into a binary program image before execution, as done by the loader

New cards
31

shared libraries

libraries loaded once into memory and accessed by multiple processes, facilitating efficient memory use

New cards
32

contiguous memory allocation

A memory allocation method in which each process is contained in a single section of memory that is contiguous to the section containing the next process.

New cards
33

variable-partition

A simple memory-allocation scheme in which each partition of memory contains exactly one process

New cards
34

hole

In variable partition memory allocation, a contiguous section of unused memory. Also an alternative rock band formed by Courtney Love.

New cards
35

dynamic storage-allocation problem

The problem of how to satisfy a request for size n of memory from a list of free holes.

New cards
36

first-fit

In memory allocation, selecting the first hole large enough to satisfy a memory request.

New cards
37

best-fit

In memory allocation, selecting the smallest hole large enough to satisfy the memory request.

New cards
38

worst-fit

In memory allocation, selecting the largest hole available.

New cards
39

external fragmentation

Fragmentation in which available memory contains holes that together have enough free space to satisfy a request but no single hole is large enough to satisfy the request. More generally, the fragmentation of an address space into small, less usable chunks.

New cards
40

50-percent rule

A statistical finding that fragmentation may result in the loss of 50 percent of space.

New cards
41

internal fragmentation

Fragmentation that is internal to a partition.

New cards
42

compaction

The shuffling of storage to consolidate used space and leave one or more large holes available for more efficient allocation.

New cards
43

partitioning

dividing memory into sections to manage different processes

New cards
44

fixed partitioning memory management

a scheme dividing memory into fixed-sized partitions, each holding a single process

New cards
45

overlays

a method of loading only necessary parts of a program into memory, swapping others as needed

New cards
46

variable partition memory management scheme

a method where memory is allocated dynamically, varying in size based on process needs

New cards
47

fragmented

memory scattered into non-contiguous pieces, making the efficient use of memory challenging

New cards
48

external fragmentation

unused memory scattered in non-contiguous blocks, causing inefficient use of memory

New cards
49

compaction

the process of consolidating fragmented free memory space to create a large contiguous block

New cards
50

internal fragmentation

wasted memory within allocated regions due to fixed-size partitions

New cards
51

paging

A common memory management scheme that avoids external fragmentation by splitting physical memory into fixed-sized frames and logical memory into blocks of the same size called pages.

New cards
52

frames

Fixed-sized blocks of physical memory.

New cards
53

page

A fixed-sized block of logical memory.

New cards
54

page number

Part of a memory address generated by the CPU in a system using paged memory; an index into the page table.

New cards
55

p

Part of a memory address generated by the CPU in a system using paged memory; an index into the page table.

New cards
56

page offset

Part of a memory address generated by the CPU in a system using paged memory; the offset of the location within the page of the word being addressed.

New cards
57

d

Part of a memory address generated by the CPU in a system using paged memory; the offset of the location within the page of the word being addressed.

New cards
58

page table

In paged memory, a table containing the base address of each frame of physical memory, indexed by the logical page number.

New cards
59

huge pages

A feature that designates a region of physical memory where especially large pages can be used.

New cards
60

frame table

In paged memory, the table containing frame details, including which frames are allocated, which are free, total frames in the system, etc

New cards
61

page-table base register

In paged memory, the CPU register pointing to the in-memory page table.

New cards
62

PTBR

In paged memory, the CPU register pointing to the in-memory page table.

New cards
63

translation look-aside buffer (TLB)

A small, fast-lookup hardware cache used in paged memory address translation to provide fast access to a subset of memory addresses.TLB

New cards
64

TLB

A small, fast-lookup hardware cache used in paged memory address translation to provide fast access to a subset of memory addresses.

New cards
65

TLB miss

A translation look-aside buffer lookup that fails to provide the address translation because it is not in the TLB.

New cards
66

wired down

A term describing a TLB entry that is locked into the TLB and not replaceable by the usual replacement algorithm.

New cards
67

address-space identifier

A part of a TLB entry that identifies the process associated with that entry and, if the requesting process doesn't match the ID, causes a TLB miss for address-space protection

New cards
68

ASIDs

A part of a TLB entry that identifies the process associated with that entry and, if the requesting process doesn't match the ID, causes a TLB miss for address-space protection

New cards
69

flush

Erasure of entries in, e.g., a TLB or other cache to remove invalid data.

New cards
70

hit ratio

The percentage of times a cache provides a valid lookup (used, e.g., as a measure of a TLB's effectiveness).

New cards
71

effective memory-access time

The statistical or real measure of how long it takes the CPU to read or write to memory.

New cards
72

valid-invalid

A page-table bit indicating whether a page-table entry points to a page within the logical address space of that process.

New cards
73

page-table length register

A CPU register indicating the size of the page table.

New cards
74

PTLR

A CPU register indicating the size of the page table.

New cards
75

reentrant code

Code that supports multiple concurrent threads (and can thus be shared).

New cards
76

segmentation

memory organization method dividing computer memory into segments, each with its own distinct address space

New cards
77

segment table length register (STLR)

a register that indicates the number of segments used by a program

New cards
78

segmentation

memory organization method dividing computer memory into segments, each with its own distinct address space

New cards
79

segment table length register (STLR)

a register that indicates the number of segments used by a program

New cards
80

segment table base register (STBR)

a register that holds the address of the segment table in memory

New cards
81

segment number

part of a logical address that specifies the segment in the segment table

New cards
82

segment table

a table that maintains information about each segment, including the base address and the limit

New cards
83

segmented paging

a memory management technique combining segmentation and paging, where segments are further divided into fixed-size pages

New cards
84

segment base address

the starting physical address of a segment in memory

New cards
85

segmented pages

memory management method using segments to organize data or code efficiently

New cards
86

segment offset

part of a logical address that specifies the position within a segment

New cards
87

swapping with paging

moving pages of a process between main memory and a backing store instead of the entire process

New cards
88

page out

moving a page from main memory to a backing store

New cards
89

page in

moving a page from a backing store to main memory

New cards
90

flash memory

nonvolatile storage used in mobile devices, with limited write cycles and space constraints

New cards
robot