Osmin RTOS organization
Here is a fully-expanded call graph for the scopes in Osmin’s source code. It’s a little repetitive, because many scopes are called from more than one place, but the alternative to this presentation would involve a lot of crossed lines.
main └───wipe.at.startup ├───boot │ ├───dump.schedule │ │ └───dict.iterate │ ├───enschedule │ │ ├───dict.add.dupe │ │ ├───dict.get │ │ ├───get.from.user.pool │ │ ├───release.user.program │ │ │ └───unhold.or.release.user.program │ │ │ ├───dict.get │ │ │ ├───dict.remove.unchecked │ │ │ └───unload.text.segment │ │ ├───retain.user.program │ │ │ └───hold.or.retain.user.program │ │ │ ├───dict.add.dupe │ │ │ ├───dict.get │ │ │ ├───dict.remove.unchecked │ │ │ └───load.text.segment │ │ │ └───unload.text.segment │ │ └───return.to.user.pool │ ├───run.system │ │ ├───deschedule │ │ │ ├───dict.get │ │ │ ├───disable.timer │ │ │ ├───enable.timer │ │ │ ├───release.user.program │ │ │ │ └───unhold.or.release.user.program │ │ │ │ ├───dict.get │ │ │ │ ├───dict.remove.unchecked │ │ │ │ └───unload.text.segment │ │ │ ├───return.to.user.pool │ │ │ ├───wipe.user.page.table │ │ │ ├───wipe.user.registers │ │ │ └───wipe.user.stack │ │ ├───dict.iterate │ │ ├───dict.remove.multiple │ │ │ └───dict.remove.unchecked │ │ ├───dump.schedule │ │ │ └───dict.iterate │ │ ├───enable.timer │ │ ├───resume.user.program │ │ └───wipe.at.shutdown │ │ ├───disable.timer │ │ ├───wipe.code │ │ ├───wipe.data.ram │ │ │ └───wipe.phys.page │ │ ├───wipe.user.page.table │ │ ├───wipe.user.registers │ │ └───wipe.user.stack │ ├───setup.code.pool │ ├───setup.phys.page.pool │ │ ├───alloc.and.retain.phys.page │ │ │ └───index.to.phys.page │ │ └───index.to.phys.page │ ├───setup.schedule │ │ └───dict.new │ │ └───grow.superuser.memory │ │ └───alloc.and.retain.phys.page │ │ └───index.to.phys.page │ ├───setup.text.pool │ │ └───dict.new │ │ └───grow.superuser.memory │ │ └───alloc.and.retain.phys.page │ │ └───index.to.phys.page │ └───setup.user.pool │ ├───grow.superuser.memory │ │ └───alloc.and.retain.phys.page │ │ └───index.to.phys.page │ └───return.to.user.pool ├───disable.timer ├───measure.dims ├───safe.to.write ├───wipe.code ├───wipe.data.ram │ └───wipe.phys.page ├───wipe.user.page.table ├───wipe.user.registers └───wipe.user.stack