It seems that the tutorial is focused at a specific implementation instead of general schedule ideas.
It can be misleading as if paging, PIT, COM were required for multi-tasking (and they are not).
Quote:
If you don't use paging, you can't load more than 1 COM file at once, so this tutorial will be useless, unless you can load other formats.
No. paging is a policy for managing memory resource, while you can loading more than one COM file without paging, they do not have dependency.
Quote:
You must have PIT support.
No. It's not a must. You may use APIC timer, or even no timer (ie. by hot key to switch task, or switch task upon syscall, or have application actively call yield())
The remaining document seems nice, but too focus on your choice of implementation.
I suggest to re-phase the tutorial as
an example implementation, and avoid confusing reader with requirement of
your implementation and requirement of
general concept on multi-tasking.