D686: Operating Systems for Computer Scientists (chapter 8)

0.0(0)
studied byStudied by 12 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/89

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

90 Terms

1
New cards

stall

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

2
New cards

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

3
New cards

base register

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

4
New cards

limit register

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

5
New cards

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

6
New cards

absolute code

Code with bindings to absolute memory addresses

7
New cards

relocatable code

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

8
New cards

logical address

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

9
New cards

physical address

Actual location in physical memory of code or data

10
New cards

virtual address

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

11
New cards

logical address space

The set of all logical addresses generated by a program

12
New cards

physical address space

The set of all physical addresses generated by a program.

13
New cards

memory-management unit (MMU)

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

14
New cards

MMU

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

15
New cards

relocation register

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

16
New cards

dynamic loading

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

17
New cards

dynamically linked libraries (DLLs)

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

18
New cards

static linking

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

19
New cards

shared libraries

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

20
New cards

cache

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

21
New cards

bind

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

22
New cards

absolute code

program instructions that reference fixed memory addresses for direct execution

23
New cards

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

24
New cards

physical address

actual location in physical memory where data or instructions are stored

25
New cards

logical address space

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

26
New cards

physical address space

range of all physical addresses available in a computer system

27
New cards

memory management unit (MMU)

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

28
New cards

dynamic loading

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

29
New cards

dynamically linked libraries (DLLs)

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

30
New cards

static linking

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

31
New cards

shared libraries

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

32
New cards

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.

33
New cards

variable-partition

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

34
New cards

hole

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

35
New cards

dynamic storage-allocation problem

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

36
New cards

first-fit

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

37
New cards

best-fit

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

38
New cards

worst-fit

In memory allocation, selecting the largest hole available.

39
New cards

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.

40
New cards

50-percent rule

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

41
New cards

internal fragmentation

Fragmentation that is internal to a partition.

42
New cards

compaction

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

43
New cards

partitioning

dividing memory into sections to manage different processes

44
New cards

fixed partitioning memory management

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

45
New cards

overlays

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

46
New cards

variable partition memory management scheme

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

47
New cards

fragmented

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

48
New cards

external fragmentation

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

49
New cards

compaction

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

50
New cards

internal fragmentation

wasted memory within allocated regions due to fixed-size partitions

51
New cards

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.

52
New cards

frames

Fixed-sized blocks of physical memory.

53
New cards

page

A fixed-sized block of logical memory.

54
New cards

page number

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

55
New cards

p

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

56
New cards

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.

57
New cards

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.

58
New cards

page table

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

59
New cards

huge pages

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

60
New cards

frame table

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

61
New cards

page-table base register

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

62
New cards

PTBR

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

63
New cards

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

64
New cards

TLB

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

65
New cards

TLB miss

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

66
New cards

wired down

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

67
New cards

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

68
New cards

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

69
New cards

flush

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

70
New cards

hit ratio

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

71
New cards

effective memory-access time

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

72
New cards

valid-invalid

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

73
New cards

page-table length register

A CPU register indicating the size of the page table.

74
New cards

PTLR

A CPU register indicating the size of the page table.

75
New cards

reentrant code

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

76
New cards

segmentation

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

77
New cards

segment table length register (STLR)

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

78
New cards

segmentation

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

79
New cards

segment table length register (STLR)

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

80
New cards

segment table base register (STBR)

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

81
New cards

segment number

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

82
New cards

segment table

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

83
New cards

segmented paging

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

84
New cards

segment base address

the starting physical address of a segment in memory

85
New cards

segmented pages

memory management method using segments to organize data or code efficiently

86
New cards

segment offset

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

87
New cards

swapping with paging

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

88
New cards

page out

moving a page from main memory to a backing store

89
New cards

page in

moving a page from a backing store to main memory

90
New cards

flash memory

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