Does DMA use physical or virtual addresses?
In some simple systems, the device can do DMA directly to physical address Y. But in many others, there is IOMMU hardware that translates DMA addresses to physical addresses, e.g., it translates Z to Y.
What is the function of DMA controller?
A DMA controller can generate memory addresses and initiate memory read or write cycles. It contains several hardware registers that can be written and read by the CPU. These include a memory address register, a byte count register, and one or more control registers.
How the MMU is used to translate a virtual address to a real physical address?
Address Translation: Paging Page table specifies the frame in which each of the process’s pages is located. At run time, MMU translates virtual addresses to physical using the page table of the running process. – virtual address space need not be physically contiguous in physical space after translation.
Can references to two different virtual addresses map to the same physical address?
This is because both 0 to 4 MB and 2 GB to (2 GB + 4 MB) in the virtual address space are mapped to the same memory location (0 to 4 MB) in the physical address space. Hence, it is possible for two virtual addresses VA1 and VA2 to point to the same physical address PA.
Can 2 processes map to the same physical address?
Yes, they can have the same physical address, like with the shared memory or common code. Logical (as seen inside the process) addresses may vary, though. OTOH, you can have the same logical address but different physical addresses, like in data segments of different processes.
Can 2 processes have same physical address?
Shared Memory concept is an exception where all the process can share some of their virtual address range with each other,that will be mapped to a common physical address space.So in this case answer can be YES.
WHO maps virtual addresses to physical addresses at run time?
MMU
What is the difference between a physical address and a virtual address?
Physical addresses refer to hardware addresses of physical memory. Virtual addresses refer to the virtual store viewed by the process. only a portion of the address space that processes do use is loaded into physical memory at a time.
What is meant by physical address?
In computing, a physical address (also real address, or binary address), is a memory address that is represented in the form of a binary number on the address bus circuitry in order to enable the data bus to access a particular storage cell of main memory, or a register of memory-mapped I/O device.
Why do we need logical and physical address?
Logical address is used to reference to access the physical memory location. A logical address is generated so that a user program never directly access the physical memory and the process donot occupies memory which is acquired by another process thus corrupting that process.
Is IP address a logical address?
IP Address works at the network layer of OSI model (actually the IP layer of TCP/IP model). This is a logical address (and not the embedded hardware address) which is assigned by the Network administrator or Internet service provider. Hence IP address may change each time you connect with the Internet.