āĻā§āĻāϞ āĻŽā§āϞ āĻ āĻāĻļā§ āĻ āύā§āϤāϰā§āĻā§āĻā§āϤāĻŋāϰ āĻāύā§āϝ Linux āĻāĻŽ:āĻāύ āϏā§āĻā§āϰāĻŋāĻŽāĻŋāĻ āĻŽāĻĄā§āϞāĻā§ āϏāĻŽāϰā§āĻĨāύ āĻāϰāĻžāϰ āĻāύā§āϝ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻāĻĒāĻžāĻĻāĻžāύāĻā§āϞ⧠āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύāĻāĻžāϰ⧠āĻĒā§āϝāĻžāĻāĻā§āϞā§āϰ āĻĒā§āϰāĻĨāĻŽ āϏā§āĻāĨ¤ āĻā§āĻāϞā§āϰ āĻāĻ āĻāĻĻā§āϝā§āĻāĻāĻŋ āĻāĻŽāύ āĻāĻāĻāĻŋ āĻāĻĒāĻŋāĻāĻ āĻāύā§āĻŽā§āĻā§āϤ āĻāϰāĻžāϰ āϏāĻžāĻĨā§ āϏāĻŽā§āĻĒāϰā§āĻāĻŋāϤ, āϝāĻž āĻāϤāĻĻāĻŋāύ āĻā§āĻĒāύ⧠āϤā§āϰāĻŋ āĻāϰāĻž āĻšāϝāĻŧā§āĻāĻŋāϞāĨ¤ āĻŽā§āϞ āĻ āĻāĻļā§āϰ āĻāύā§āϝ LinuxāϝāĻž M:N āĻĨā§āϰā§āĻĄāĻŋāĻ āĻŽāĻĄā§āϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻāĻāĻŋ āĻāĻāĻāĻžāϰ-āϏā§āĻĒā§āϏ āĻŽāĻžāϞā§āĻāĻŋāĻĨā§āϰā§āĻĄā§āĻĄ āϏāĻžāĻŦāϏāĻŋāϏā§āĻā§āĻŽāĻā§ āĻļāĻā§āϤāĻŋ āĻā§āĻāĻžāϝāĻŧāĨ¤ āĻāĻ āϏāĻžāĻŦāϏāĻŋāϏā§āĻā§āĻŽāĻāĻŋ āĻā§āĻāϞ⧠āĻāĻŽāύ āĻĒāϰāĻŋāώā§āĻŦāĻžāĻā§āϞāĻŋāĻā§ āϏāĻŽāϰā§āĻĨāύ āĻāϰāĻžāϰ āĻāύā§āϝ āĻŦā§āϝāĻŦāĻšā§āϤ āĻšāϝāĻŧ āϝā§āĻā§āϞāĻŋāϰ āĻāύā§āϝ āύā§āϝā§āύāϤāĻŽ āϞā§āĻā§āύā§āϏāĻŋ āĻĒā§āϰāϝāĻŧā§āĻāύāĨ¤ āĻĨā§āϰā§āĻĄ āĻļāĻŋāĻĄāĻŋāĻāϞāĻŋāĻ āĻāĻŦāĻ āĻŦā§āϝāĻŦāϏā§āĻĨāĻžāĻĒāύāĻž āϏāĻŽā§āĻĒā§āϰā§āĻŖāϰā§āĻĒā§ āĻāĻāĻāĻžāϰ āϏā§āĻĒā§āϏ⧠āϏāĻŽā§āĻĒāĻžāĻĻāĻŋāϤ āĻšāϝāĻŧ, āϝāĻž āϏāĻŋāϏā§āĻā§āĻŽ āĻāϞ āĻāĻŽāĻŋāϝāĻŧā§ āĻāύāĻā§āĻā§āϏāĻ āϏā§āĻāĻā§āϰ āϏāĻāĻā§āϝāĻž āĻāϞā§āϞā§āĻāϝā§āĻā§āϝāĻāĻžāĻŦā§ āĻšā§āϰāĻžāϏ āĻāϰā§āĨ¤
āĻāĻžāϰā§āύā§āϞ āϏā§āϤāϰ⧠āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āϏāĻžāĻŦāϏāĻŋāϏā§āĻā§āĻŽāĻāĻŋāϰ āĻāĻžāϰā§āϝāĻā§āϰāĻŽ āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰāϤ⧠Linux SwitchTo API-āĻāĻŋ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āϝāĻž āϤāĻŋāύāĻāĻŋ āĻŽā§āϞāĻŋāĻ āĻ āĻĒāĻžāϰā§āĻļāύ āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§: wait, resume, āĻāĻŦāĻ swapāĨ¤ āĻā§āϰ-āĻ āĻ āύā§āϤāϰā§āĻā§āĻā§āϤ āĻāϰāĻžāϰ āĻāύā§āϝ FUTEX_SWAP āύāĻžāĻŽā§ āĻāĻāĻāĻŋ āύāϤā§āύ āĻ āĻĒāĻžāϰā§āĻļāύā§āϰ āĻĒā§āϰāϏā§āϤāĻžāĻŦ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āϝāĻž āĻĒāϰāĻŋāĻĒā§āϰāĻ āĻšāĻŋāϏā§āĻŦā§ āĻāĻžāĻ āĻāϰāĻŦā§āĨ¤ , āĻāĻŦāĻ āĻāĻāĻāĻžāϰ āϏā§āĻĒā§āϏ⧠āĻŽāĻžāϞā§āĻāĻŋ-āĻĨā§āϰā§āĻĄā§āĻĄ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āϤā§āϰāĻŋāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻāĻžāĻ āĻžāĻŽā§ āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āĨ¤ FUTEX_SWAP āĻāĻāĻžāĻĄāĻŧāĻžāĻ RPC āĻāϰ āĻŽāϤ⧠āĻāĻžāĻā§āϰ āĻŽāϧā§āϝ⧠āĻŦāĻžāϰā§āϤāĻž āϏā§āĻĨāĻžāύāĻžāύā§āϤāϰ āĻāϰāϤ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻŦāϰā§āϤāĻŽāĻžāύā§, āĻāĻžāϰā§āϝāĻā§āϞāĻŋāϰ āĻŽāϧā§āϝ⧠āĻāĻāĻāĻŋ āĻŦāĻžāϰā§āϤāĻž āϏā§āĻĨāĻžāύāĻžāύā§āϤāϰ āĻāϰāϤā§, āĻāĻĒāύāĻžāĻā§ FUTEX_WAIT āĻāĻŦāĻ FUTEX_WAKE-āĻ āĻāĻŽāĻĒāĻā§āώ⧠āĻāĻžāϰāĻāĻŋ āĻāϞ āĻāϰāϤ⧠āĻšāĻŦā§, āĻāĻŋāύā§āϤ⧠FUTEX_SWAP āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻĒāύāĻŋ āĻāĻāĻāĻŋ āĻ āĻĒāĻžāϰā§āĻļāύā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āϝā§āϤ⧠āĻĒāĻžāϰāĻŦā§āύ, āϝāĻž 5-10 āĻā§āĻŖ āĻĻā§āϰā§āϤ āϏāĻŽā§āĻĒāύā§āύ āĻšāĻŦā§ā§ˇ
āĻŦāϰā§āϤāĻŽāĻžāύā§, 1:1 āĻāĻŦāĻ N:1 āĻĢā§āϞ⧠āĻŽāĻĄā§āϞāĻā§āϞāĻŋ āĻŽā§āϞāϤ āĻ āύā§āĻļā§āϞāύ⧠āĻŦā§āϝāĻŦāĻšā§āϤ āĻšāϝāĻŧāĨ¤ 1:1 āĻŽāĻĄā§āϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧ (POSIX āϏā§āĻā§āϰā§āĻŽ) āĻāĻŦāĻ , āĻāĻŦāĻ āĻāĻžāϰā§āύā§āϞ āϏā§āϤāϰ⧠āĻāĻāĻāĻŋ āĻĨā§āϰā§āĻĄā§ (āύāĻŋāϰā§āĻŦāĻžāĻšā§āϰ āϏāĻŽāϝāĻŧāϏā§āĻā§āϰ āĻāĻāύāĻŋāĻ) āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āϏā§āĻĨāĻžāύā§āϰ āĻāĻāĻāĻŋ āĻĨā§āϰā§āĻĄā§āϰ āϏāϰāĻžāϏāϰāĻŋ āĻŽā§āϝāĻžāĻĒāĻŋāĻ āĻŦā§āĻāĻžāϝāĻŧāĨ¤ āĻŽāĻĄā§āϞ N:1 āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāĻŋāϤ āĻšāϝāĻŧā§āĻā§ , āĻāĻāĻāĻžāϰ āϏā§āĻĒā§āϏ⧠āĻĨā§āϰā§āĻĄ āĻĄāĻŋāϏāĻĒā§āϝāĻžāĻāĻŋāĻ āύāĻŋāϝāĻŧā§ āĻāϏ⧠āĻāĻŦāĻ āĻāĻāĻāĻžāϰ āϏā§āĻĒā§āϏ⧠N āĻĨā§āϰā§āĻĄāĻā§āϞāĻŋāĻā§ āĻāĻžāϰā§āύā§āϞā§āϰ āĻāĻāĻāĻŋ āĻāĻāĻ āĻĨā§āϰā§āĻĄā§āϰ āϏāĻžāĻĨā§ āĻāĻŦāĻĻā§āϧ āĻāϰāĻžāϰ āĻ āύā§āĻŽāϤāĻŋ āĻĻā§āϝāĻŧ, āĻāĻžāϰā§āύā§āϞā§āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āϰ āĻĨā§āϰā§āĻĄ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻā§āĻāĻžāύ āύāĻž āĻĨāĻžāĻā§āĨ¤
1:1 āĻŽāĻĄā§āϞā§āϰ āĻĒā§āϰāϧāĻžāύ āĻ āϏā§āĻŦāĻŋāϧāĻž āĻš'āϞ āĻāĻžāϰā§āύā§āϞ āĻāĻŦāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āϰ āϏā§āĻĨāĻžāύā§āϰ āĻŽāϧā§āϝ⧠āĻĒā§āϰāϏāĻā§āĻ āĻĒāϰāĻŋāĻŦāϰā§āϤāύā§āϰ āĻŦāĻĄāĻŧ āĻāĻāĻžāϰāĻšā§āĻĄāĨ¤ N:1 āĻŽāĻĄā§āϞāĻāĻŋ āĻāĻ āϏāĻŽāϏā§āϝāĻžāϰ āϏāĻŽāĻžāϧāĻžāύ āĻāϰā§, āĻāĻŋāύā§āϤ⧠āĻāĻāĻāĻŋ āύāϤā§āύ āϤā§āϰāĻŋ āĻāϰ⧠- āϝā§āĻšā§āϤ⧠āĻāĻžāϰā§āύā§āϞā§āϰ āĻāĻāĻāĻŋ āĻĨā§āϰā§āĻĄ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻļāύ āĻļāĻŋāĻĄāĻŋāĻāϞāĻŋāĻāϝāĻŧā§āϰ āĻāĻāĻāĻŋ āĻ āĻŦāĻŋāĻāĻžāĻā§āϝ āĻāĻāĻ, āϤāĻžāĻ āĻ āĻĒāĻžāϰā§āĻāĻŋāĻ āϏāĻŋāϏā§āĻā§āĻŽ āĻāĻžāϰā§āύā§āϞā§āϰ āĻāĻāĻāĻŋ āĻĨā§āϰā§āĻĄā§āϰ āϏāĻžāĻĨā§ āĻāĻŦāĻĻā§āϧ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻĨā§āϰā§āĻĄāĻā§āϞāĻŋ CPU āĻā§āϰ āĻā§āĻĄāĻŧā§ āϏā§āĻā§āϞ āĻāϰāϤ⧠āĻĒāĻžāϰ⧠āύāĻž āĻāĻŦāĻ āĻļā§āώ āĻĒāϰā§āϝāύā§āϤ āĻŦāĻžāĻāϧāĻž āϝāĻžāϝāĻŧāĨ¤ āĻāĻāĻāĻŋ āĻāĻāĻ CPU āĻā§āϰāĨ¤
M:N āĻŽāĻĄā§āϞāĻāĻŋ āĻšāĻžāĻāĻŦā§āϰāĻŋāĻĄ āĻāĻŦāĻ OS āĻāĻžāϰā§āύā§āϞā§āϰ M āĻĨā§āϰā§āĻĄā§ āĻāĻāĻāĻžāϰ āϏā§āĻĒā§āϏ⧠N āĻĨā§āϰā§āĻĄ āĻŽā§āϝāĻžāĻĒ āĻāϰāĻžāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻāĻĒāϰ⧠āĻŦāϰā§āĻŖāĻŋāϤ āϏāĻŽāϏā§āϤ āĻ āϏā§āĻŦāĻŋāϧāĻž āĻĻā§āϰ āĻāϰā§, āϝāĻž āĻāύāĻā§āĻā§āϏāĻ āϏā§āϝā§āĻāĻāĻŋāĻāϝāĻŧā§āϰ āĻāĻāĻžāϰāĻšā§āĻĄ āĻāĻŽāĻžāϤ⧠āĻāĻŦāĻ CPU āĻā§āϰ āĻā§āĻĄāĻŧā§ āϏā§āĻā§āϞāĻŋāĻ āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰāϤ⧠āĻāĻāϝāĻŧāĻā§āĻ āĻ āύā§āĻŽāϤāĻŋ āĻĻā§āϝāĻŧāĨ¤ āĻāĻ āĻŦāĻŋāĻāϞā§āĻĒā§āϰ āĻāϰāĻ āĻšāϞ āĻāĻāĻāĻžāϰ āϏā§āĻĒā§āϏ⧠āĻāĻāĻāĻŋ āĻĨā§āϰā§āĻĄ āĻļāĻŋāĻĄāĻŋāϝāĻŧā§āϞāĻžāϰ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύā§āϰ āĻāĻāĻŋāϞāϤāĻž āĻāĻŦāĻ āĻāĻžāϰā§āύā§āϞ āĻļāĻŋāĻĄāĻŋāĻāϞāĻžāϰā§āϰ āϏāĻžāĻĨā§ āĻā§āϰāĻŋāϝāĻŧāĻžāĻā§āϞāĻŋ āϏāĻŽāύā§āĻŦāϝāĻŧ āĻāϰāĻžāϰ āĻāύā§āϝ āĻŽā§āĻāĻžāύāĻŋāĻāĻŽā§āϰ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧāϤāĻžāĨ¤

āĻāϤā§āϏ: opennet.ru
