Lecture 04 Flashcards
How much memory address space is given on a 32-bit machine?
4GB (2^32)
How much memory address space is given on a 16-bit machine?
64KB (2^16)
How much memory is ‘Kernel Space’ on 32-bit Linux?
1GB
How much memory is ‘User Space’ on 32-bit Linux?
3GB
How much virtual address space does Intel 54 architecture support?
48-bit, or 256TB
How much memory is ‘Kernel Space’ on 64-bit Linux?
128TB
How much memory is ‘User Space’ on 64-bit Linux?
128TB
On 64-bit Linux, addresses are 64-bits long. How many bits of this are used for addressing, and what is done with the other bits?
Only the lower order 48 bits are used for addressing.
Bits 63-48 must be all 1 or all 0.
What are the five memory segments that a Linux process is divided into?
- Code Segment
- Data segment
- Block Started by Symbol (BSS)
- Stack Segment
- Heap
What is the Code Segment of a Linux Process?
The program text
What is the Data Segment of a Linux Process?
Initialised global/static variables and data structures.
What is the Block Started by Symbol (BSS) Segment of a Linux Process?
The uninitialised global/static variables and data structures.
What happens when one or more processes have their own, varying data at the same internal memory address?
Nothing.
Each process has its own independent address space so they cannot interfere with one another.
What is a page table?
A table which maps an address in process memory to a physical memory address.
Do processes have direct access to physical memory?
No, the CPU performs these accesses.