Continuing our discussion on VM and IO, this post is about understanding the port IO operation. These port addresses are from a separate address space in x86 devices i.e. they do not use any addresses from the virtual address space, and special IO instructions are used to access them. But in ARM platforms, they happen to share the address space and uses same instruction as memory access. They are about 0x10000 number of IO ports on your intel PC. The mappings of these can be seen in Device Manager in windows, /proc/ioports in Linux.
Virtual memory is a type of memory indirection that has allowed systems to enforce usage restrictions, security and gives a simplified memory view for programs. Of course, it comes with a cost of performance and restrictions on memory sharing. Let’s understand what virtual memory means for device IO i.e interaction with devices connected to CPU.
I want to make as less change to the environment as I can so that life can sustain on earth. In this regard, I want to change atleast one simple thing in my lifestyle every month. This month, my toothbrush had reached end of it’s life and I found a bamboo biodegradable toothbrush. The bristles are not biodegradable. But something is better than nothing.