そろそろマジメに質問してもいいですか?

とりあえずスケジューラもどきというか
タスクスイッチを気軽に行える機構が作りたいんですけど
具体的にはある関数を呼ぶとタスクが切り替わるような
仕掛けがほしいんです。
javaならyield()とかlinuxならschedule_timeout()とか
これってどうやって実現してるンすかね?