Josef Templ wrote:I have now tried to answer this question and put together...
In short words the answer is "they split to prevent circular import". That is only one side, so the answer is not full.
For example 
Files hasn't import other 
System modules except 
Kernel, however it is also split for abstract layer and realization layer. This allows to replace realization even "on the fly".
The only module in 
System which has 
WinApi except 
Kernel is 
XYplane. It "is provided for compatibility with the book "Programming in Oberon" by Reiser/Wirth. ...  It is 
not recommended for use in production programs."
The name 
Host is meaningful. It means that this folder depends on the host OS. It can be Linux, Windows, Mac etc. If we add some functionality for writing things to console (more general to 
stdout) this functionality should be cross-platform and consist of two parts: abstract layer and realization for the current platform.
This will allow the developers for other platforms (me, Alexander, Igor, ...) to make the realization for other platforms. And the software developed once will run in multiple platforms even without been recompiled. The 
StdLoader will load the realization for the interface from the 
Host folder. And for Windows the 
WinApi will be used to read and write data to terminal or a file, for Linux it will be 
libc library for read and write data to console or a file.