Lecture 4 Flashcards
Virtual memory
Virtual memory consists of a large set of memory address references
Words
fixed-sized data-chunks used by the CPU for
physical memory assignment.
Virtual memory motivation
amount of memory required
to run all processes on any modern OS invariably exceeds the amount of physical
(main) memory available.
Memory management
Multiple processes in memory at once, sharing physical memory addresses and protected from each other.
Physical memory address conflict
when two virtual memory addresses translate to the
same physical address. an address conflict resolution check is needed before a new process can be swapped in from virtual memory
Which part of the computer solves address conflict?
MMU (Memory management unit)
What is a program in the context of an OS?
source code, libraries and data necessary
to run the program
Process
a process is the program executable (.exe) actually
running
Executable
An executable (exe) is thus a process that has been scheduled to run by the OS and
is currently suspended (stored in virtual memory) or is currently running (stored
in main memory).
dynamic linking
deferring the resolution of some undefined symbols until a program is run
Static linking
linking of libraries to be used by a given program
may be done at compile-time
Linker
a linker or link editor is a programming language utility
program that takes one or more object files generated by a compiler and combines
them into a single executable file, library file, or another object file.
Page replacement algorithm
A page-replacement algorithm decides what memory chunks (pages) to swap-into main memory (and out of virtual memory), and thus what processes (i.e. split into pages) should be running in main memory at any given time.
Kernal part of any process
The kernel part of any process
contains addresses of OS-specific libraries and other data that must be executed in
order for the process to run at all
Uni programming
only one process runs at a time and a process always runs at same
place in physical memory, but a process can access any physical memory address. There is no translation or protection.