Lecture 4 Flashcards

1
Q

Virtual memory

A

Virtual memory consists of a large set of memory address references

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Words

A

fixed-sized data-chunks used by the CPU for

physical memory assignment.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Virtual memory motivation

A

amount of memory required
to run all processes on any modern OS invariably exceeds the amount of physical
(main) memory available.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Memory management

A

Multiple processes in memory at once, sharing physical memory addresses and protected from each other.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Physical memory address conflict

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Which part of the computer solves address conflict?

A

MMU (Memory management unit)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is a program in the context of an OS?

A

source code, libraries and data necessary

to run the program

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Process

A

a process is the program executable (.exe) actually

running

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Executable

A

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).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

dynamic linking

A

deferring the resolution of some undefined symbols until a program is run

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Static linking

A

linking of libraries to be used by a given program

may be done at compile-time

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Linker

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Page replacement algorithm

A
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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Kernal part of any process

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Uni programming

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Why is uni programming infeasible?

A

Modern programming applications are too complex.

17
Q

Original concept of Multi programming

A

Each process
(application) was allocated a specific address in main (physical) memory, but there
was still no memory address translation or protection. In this case, the linker and
loader dynamically adjusted program addresses when they were loaded to try and
prevent overlap of processes concurrently loaded into main memory.

18
Q

Later version multiprogramming

A

The two special registers: BaseAddr and LimitAddr prevented users from straying
outside their designated memory areas when running processes. Thus, if a user
tried to access an illegal address, this caused an error and the process would not
try to execute. Users could not change the base/limit registers.