I read TZ whitepaper. TZ's software architecture includes normal OS, secure OS, and a monitor that manages switching between two OS. The notion is clear. But how to implement them confuses me.
Running and managing two kernels on a SoC needs mechanism that scheduling two kernels. So we need a hypervisor to hold two kernels? Is it monitor's responsibility?
Thanks for your reply. In examples you provided, all of them seems to be processes of normal kernel rather than a independent kernel.