A module can link to another module to access its functions. There are multiple ways to link modules together depending on how we want to share the virtual memory:
- the importer and the imported share the same virtual memory
- the importer and the imported don't share any virtual memory segment
- the imported is loaded in the virtual memory of the importer but doesn't have access to it
- the imported module have access to the importer virtual memory, but the importer don't have access to the imported memory