Send a link to your students to track their progress
27 Terms
1
New cards
How can you define memory?
- Any physical device capable of storing information.
2
New cards
In an ideal world, what will memory be?
- Very fast - Very large - Non-volatile: will never go away when turned off.
3
New cards
In the real world, how is memory?
- You can only choose two from the following options: very large, very fast, non-volatile.
4
New cards
What is the concept of memory hierarchy?
- The concept of memory hierarchy is used to describe the structure and function of the memory in a system. - Often used as a way to understand the different levels of memory in a system, and how they work together.
5
New cards
What is the memory hierarchy concept composed of?
-
6
New cards
Whose job is to abstract the memory hierarchy into a useful model and then manage abstraction?
- Operating System's job
7
New cards
What is the name of the part of the operating system that manages part of the memory hierarchy?
- Memory Manager
8
New cards
What is the job of the memory manager?
- Efficiently manage memory - Keep track of parts of memory are being used - Allocate memory to processes when they needed it - Deallocate memory when processes done
- (Efficiently, Allocate, Deallocate)
9
New cards
Who manages the lowest level of cache memory?
- The lowest level of cache memory is typically managed by the hardware
10
New cards
What is the simplest memory abstraction?
- Simplest memory abstraction is to have NO abstraction.
11
New cards
Why was it impossible to have two running programs in memory under the physical memory concept?
- If the first program wrote a new value into a register (ex. register 2000), then this will erase whatever value the second program was storing there. - Each program needs its own set of registers - Both programs will crash immediately.
12
New cards
What are the several options given to you when using physical memory?
- The OS could be at the bottom of memory in RAM (Random-Access-Memory) - The OS could be at the top of memory in ROM (Read-Only-Memory) - The device drivers could be at the top of memory in a ROM, while the rest of the system at the bottom of memory in RAM
13
New cards
In what model could the OS be at the bottom of memory in RAM?
- Mainframes - Minicomputers
14
New cards
In what model could the OS be at the top of memory in ROM?
- Some handheld computers - Embedded systems
15
New cards
In what model could the device drivers be at the top of memory in a ROM while the rest of the system is at the bottom of memory in RAM?
- Early personal computers
16
New cards
What is the disadvantage of model a (having the operating system in bottom memory in RAM) and model b (having device drivers in top memory in a ROM while the rest of the operating system in bottom memory in RAM)?
- Any bug within the User Program can wipe out the operating system with very disastrous results.
17
New cards
How many processes could be running in model model a (having the operating system in bottom memory in RAM) and model b (having device drivers in top memory in a ROM while the rest of the operating system in bottom memory in RAM)?
- Generally only ONE process
18
New cards
How can you achieve some parallelism in a system with no memory abstraction?
- Using Threads
19
New cards
Why can you achieve some parallelism using threads in a system with no memory abstraction?
- There are multiple threads within a single process, but threads also share same memory image.
20
New cards
Is it possible to run multiple programs at the same time with no memory abstraction? If so, how?
- Yes it is possible. - The OS has to save entire content of memory to a disk file, then bring it and run the next program.
21
New cards
What is the name of the concept in which you can run multiple programs at the same time with no memory abstraction?
- Swapping
22
New cards
When running multiple programs at the same time with no memory abstraction, what's something to keep in mind to avoid conflicts?
- There could be only one program at a time in memory.
23
New cards
What is static relocation?
- A process in which the OS adjusts the memory address of a process to reflect its starting position in memory.
24
New cards
What is the static relocation technique used for?
- Reflect the starting position of a process in memory.
25
New cards
Why isn't static relocation not ideal (drawbacks)?
- Not a very general solution - Slows down loading - Requires extra information in all executable programs
26
New cards
What are the drawbacks of exposing physical memory to processes?
- If user programs can address every bite of memory, they can easily trash the OS (bringing the system to a grinding halt). - It's difficult to have multiple programs running at once
27
New cards
What problems have to be solved to allow multiple applications to be in memory at the same time without interfering with each other?