Now that we can IPL from DASD and load a nucleus we need to start writing some nucleus code. The nucleus will load at location zero and should contain a PSW at location zero. Once the nucleus is loaded control will be passed to the nucleus by loading the PSW from location zero.
The load module name for the nucleus is expected to be TXXNUC. For developing I will version the source code by appending a two digit value but I will link it without the suffix. This will allow an incremental approach to developing our small operating system.
An operating system needs to do a few specific things. It needs to manage processes, manage storage and manage I/O devices. Once those basic functions are operational additional higher level functions like file access and program management can be added.
Initially a very simple approach will be taken for storage management. Instead of actually managing storage we will make storage available when requested but will ignore the free requests. With several megabytes of memory we will be able to run for a while before running out of memory. Once we get some of the other functionality implemented we can return to memory management.
[Next – Low Core]