Dynamic Loading in Operating Systems

SelfRespectConsciousness5271 avatar
SelfRespectConsciousness5271
·
·
Download

Start Quiz

Study Flashcards

10 Questions

What is the role of the memory-management unit (MMU) in a computer system?

Mapping logical addresses to physical addresses at runtime

What is dynamic loading in the context of memory management?

Loading library functions into memory only when they are called

What are shared libraries in the context of memory management?

Libraries that are stored in the main memory and shared by multiple programs

What is memory-binding in the context of memory management?

Binding symbolic addresses to their actual addresses during compile time

What is dynamic linking in the context of memory management?

Linking library functions to the program during runtime

What is the difference between a logical address and a physical address?

A logical address is generated by the CPU, while a physical address identifies the location of data

What happens during a page fault in the context of memory management?

The operating system swaps in a page from secondary memory to main memory

What is the purpose of a TLB (Translation Lookaside Buffer) in the context of memory management?

TLB is used to store recently accessed page table entries

What is demand paging in the context of memory management?

Paging where only required pages are loaded into main memory on demand

What is thrashing in the context of memory management?

Thrashing is the process of swapping out pages from main memory to secondary memory

Study Notes

Dynamic Loading

  • The entire program does not need to be in memory to execute
  • All routines are kept on disk in relocatable load format
  • No special support from the operating system is required
  • Routine is not loaded until it is called
  • Better memory-space utilization; unused routine is never loaded

Dynamic Linking

  • Static linking: system libraries and program code combined by the loader into the binary program image
  • Dynamic linking: linking postponed until execution time
  • A small piece of code, stub, used to locate the appropriate memory-resident library routine
  • Stub replaces itself with the address of the routine, and executes the routine
  • Dynamic linking is particularly useful for libraries, also known as shared libraries

Basic Hardware/ Memory Protection

  • User processes must be restricted to access memory locations that "belong" to that particular process
  • Dynamic partitioning reduces external fragmentation by merging free memory into one large block, also called defragmentation

Paging

  • A memory management scheme that eliminates the need for contiguous allocation of physical memory
  • Divides each process into pages and the main memory into frames
  • Pages of the process are brought into main memory only when required, otherwise they reside in secondary storage
  • Frame size should be kept the same as page size to maximize main memory utilization and avoid external fragmentation

Learn about dynamic loading in operating systems, where the relocation register is used to add a value to every address generated by a user process when sent to memory. This method allows for better memory-space utilization by loading routines only when they are called.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free

More Quizzes Like This

Use Quizgecko on...
Browser
Browser