There’s an STM32 that handles the power, keyboard and backlights that’s controlled over I2C - this has a firmware that’s called various things, either “keyboard firmware”, “bios” or “southbridge”. It has no control over the main microcontroller and isn’t involved in loading applications at all.
On the pico that’s plugged into the picocalc, it can have literally anything on it. It will generally only be programmed with one thing at a time - there’s no “operating system” beyond what an application includes in itself.
That said, it’s possible to put a bootloader on there to allow reprogramming the flash with a new application without plugging into a PC, and there are a few options that are (currently) all different forks of an original project called SD-Boot.
SD-Boot works but it takes up a fair amount of flash space, and it requires every application to be recompiled with a custom linker script - you can’t just load the .uf2 you would have flashed directly to the pico. If you can’t compile your own apps, you’re basically stuck with the ones that already have .bin versions available (and it’s unlikely people will release any more, for reasons I’ll get to.)
ClockworkPi bundles a version of SD-Boot that they call “multibooter” which is practically the same, except the linker script is slightly (and incompatibly) different, and it’s merged with a version of PicoMite (although that gets overwritten the first time you load anything else.)
Neither of these supports the Pico 2.
I’ve released an improved bootloader called uf2loader, which is SD-Boot but it works with standard .uf2 files, supports the Pico 2, and only takes up a tiny amount of flash space while having the same interface. You can just build an application without having to worry about custom linker scripts and incompatible versions - this is why most people releasing apps for the PicoCalc are unlikely to make .bin versions, as they’re now obsolete.
There’s a minor snag with using uf2loader, though - some applications are currently incompatible because they do their own thing with flash. So you’ll have issues with PicoMite, micropython and zeptoforth. I’ve already fixed PicoMite but it has yet to get an updated release from the maintainer. The others are a work in progress.