I suppose I also don't know if Linux is one of the systems that supports unloading modules.
Linux supports this. Note: Smalltalk unloadModule: 'LargeIntegers'
This is expected to work on all currently supported platforms. I've not yet come across any that cannot handle it.
A final issue is whether one can unload a builtin module at all.
Same thing; except that it merely 'unlinks' the plugin from the internal list of active plugins. As soon as you invoke a method that refers to it, the plugin will be reloaded. NOTE however that (unless anyone has removed this) the plugin lookup starts by looking for an EXTERNAL plugin and thus any found external plugin will override the internal one. This for example means that it is trivial to override the facilities of the SecurityPlugin merely by implementing one that does the appropriate null actions.
tim