This doesn't surprise me. Mainframes aren't just about never failing; they have a whole culture, including ops, around providing availability in ways that actually work.
Only half joking.
A mainframe has hardware different enough to require a different approach to the OS.
Of course a modern variant of System 390 happily runs tons of Linux VMs.
Also Pascal and BASIC compilers with several extensions, e.g. VMS Pascal and VMS BASIC.
I always call them mainframes, regardless if the name is micro or whatever is the pedantic nomenclature.
The string handling functions in chapter 20 require the programmer to pass around separate pointer and length arguments, which is not what I would call proper strings.