เปเบเบฐเบเบณเบเปเบฝเบงเบเบฑเบเบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบ
Hey Habr! เบเปเบฒเบเบฐเปเบเบปเปเบฒเบขเบฒเบเบเบฐเปเบญเบปเบฒเบกเบฒเปเบซเปเบเบงเบฒเบกเบชเบปเบเปเบเบเบญเบเบเปเบฒเบเบเบธเบเบเบญเบเบเบปเบเบเบงเบฒเบก - เบเบฒเบเปเบเบเบญเบเบงเบฑเบเบเบฐเบเบฐเบเบตเบเบตเปเบซเบเปเบฒเบชเบปเบเปเบเปเบเบเบงเบฒเบกเบเบดเบเปเบซเบฑเบเบเบญเบเบเปเบฒเบเบฐเปเบเบปเปเบฒ - OSTEP. เปเบญเบเบฐเบชเบฒเบเบเบตเปเบชเบปเบเบเบฐเบเบฒเบขเปเบฒเบเปเบฅเบดเบเปเบเบดเปเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบเบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบตเปเบเปเบฒเบเบเบท unix, เบเบท, เปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบเบฐเบเบงเบเบเบฒเบ, เบเบฒเบเบฐเบฅเบฒเบเบเปเบฒเบเป, เบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒ, เปเบฅเบฐเบญเบปเบเบเบฐเบเบญเบเบเบตเปเบเปเบฒเบเบเบทเบเบฑเบเบญเบทเปเบเปเบเบตเปเบเบฐเบเบญเบเปเบเบฑเบ OS เบเบตเปเบเบฑเบเบชเบฐเปเบซเบก. เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบดเปเบเบเบปเปเบเบชเบฐเบเบฑเบเบเบญเบเบงเบฑเบเบชเบฐเบเบธเบเบฑเบเบซเบกเบปเบเบเบตเปเบเบตเป
เบงเบฝเบเบเบฒเบเบซเปเบญเบเบเบปเบเบฅเบญเบเบเปเบฝเบงเบเบฑเบเปเบฅเบทเปเบญเบเบเบตเปเบชเบฒเบกเบฒเบเบเบปเบเปเบเปเบเบตเปเบเบตเป:
- เบเบปเปเบเบชเบฐเบเบฑเบ:
pages.cs.wisc.edu/~remzi/OSTEP/Homework/homework.html - เบเบปเปเบเบชเบฐเบเบฑเบ:
github.com/remzi-arpacidusseau/ostep-code - เบเบฒเบเบเบฑเบเบเบปเบงเบชเปเบงเบเบเบปเบงเบเบญเบเบเปเบญเบ:
github.com/bykvaadm/OS/tree/master/ostep
เบเปเบฒเบเบเบฑเบเบชเบฒเบกเบฒเบเบเบงเบเปเบเบดเปเบเบเปเบญเบเบเบฒเบเบเบญเบเบเปเบญเบเปเบเปเบเบตเป
เบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเบเบเบฒเบ
เบเบฐเปเบเบตเบเบซเบเบฑเบเบเบถเปเบเปเบกเบทเปเบญเปเบเบฃเปเบเบฃเบกเปเบฎเบฑเบเบงเบฝเบเบขเบนเป? เปเบเบโเบเบฒเบโเปเบฅเปเบโเปเบฎเบฑเบโเบชเบดเปเบโเบเบตเปโเบเปเบฒเบโเบเบฒเบ - เบกเบฑเบโเบเบฐโเบเบดโเบเบฑเบโเบเปเบฒโเปเบเบฐโเบเปเบฒโ. เบเบธเบเปเบงเบดเบเบฒเบเบต, เบซเบผเบฒเบเบฅเปเบฒเบเปเบฅเบฐเปเบกเปเบเบฐเบเบฑเปเบเบซเบผเบฒเบเบเบทเปเบเปเบฒเปเบเบฐเบเปเบฒเบเบฐเบเบทเบเบเบถเบเบญเบญเบเบกเบฒเปเบเบเปเบเปเบเบเปเบเบตเบเบฒเบ RAM, เปเบฎเบฑเบเปเบซเปเบกเบฑเบเบเบญเบเบฅเบฐเบซเบฑเบเบเบงเบเบกเบฑเบ (เบเบปเบงเบขเปเบฒเบ, เบกเบฑเบเบฎเบฑเบเบฎเบนเปเบเบฐเปเบเบเบเบญเบเบเปเบฒเปเบเบฐเบเปเบฒเปเบซเบผเบปเปเบฒเบเบตเป) เปเบฅเบฐเบเบฐเบเบดเบเบฑเบเบเบงเบเบกเบฑเบ. เบเบตเปเบญเบฒเบเบเบฐเปเบเบฑเบเบเบฒเบเปเบเบตเปเบกเบชเบญเบเบเบปเบงเปเบฅเบ, เบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒ, เบเบฒเบเบเบงเบเบชเบญเบเปเบเบทเปเบญเบเปเบ, เปเบเบเปเบเบซเบฒเบซเบเปเบฒเบเบตเป, เปเบฅเบฐเบญเบทเปเบเป. เบซเบผเบฑเบโเบเบฒเบโเบเบฒเบโเบเบฐโเบเบดโเบเบฑเบโเบเบญเบโเบเปเบฒโเปเบเบฐโเบเปเบฒโเบซเบเบถเปเบโ, เปเบฎเบโเบเบฒเบโเบเบฐโเบฅเบดเบโเปเบเปโเบเปเบฒโเปเบเบตเบโเบเบฒเบโเบเบฑเบโเบเบฒเบโเบเบฐโเบเบดโเบเบฑเบโเบเบญเบโเบเปเบฒโเบชเบฑเปเบโเบญเบทเปเบโ. เปเบฅเบฐเบเบฑเปเบเบเบฑเปเบเบเปเบฒเปเบเบฐเบเปเบฒเบซเบผเบฑเบเบเบฒเบเบเปเบฒเปเบเบฐเบเปเบฒ, เบเบงเบเปเบเบปเบฒเปเบเบปเปเบฒเปเบเปเบเบทเบเบเบฐเบเบดเบเบฑเบเบเบปเบเบเปเบงเบฒเปเบเบเบเบฒเบเบชเบดเปเบเบชเบธเบเบฅเบปเบ.
เบเบปเบงเบขเปเบฒเบเบเบตเปเบเบทเบเบเบดเบเบฒเบฅเบฐเบเบฒเบขเปเบฒเบเบเปเบฒเบเบเบฒเบ - เปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ, เปเบเบทเปเบญเปเบฅเบฑเปเบเปเบเปเบเบเปเบเบต, เบฎเบฒเบเปเบงเบเบตเปเบเบฑเบเบชเบฐเปเบซเบกเบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบฐเบเบดเบเบฑเบเบเปเบฒเปเบเบฐเบเปเบฒ, เบเบดเบเปเบฅเปเบเบปเบเปเบเปเบฎเบฑเบเบเบตเปเปเบเบฑเบเปเบเปเบเป, เบเบฐเบเบดเบเบฑเบเบเปเบฒเปเบเบฐเบเปเบฒเบเปเบญเบกเปเบเบฑเบ, เปเบฅเบฐ tricks เบเบตเปเบเปเบฒเบเบเบทเบเบฑเบ.
เบฎเบนเบเปเบเบเบเบฒเบเบเบดเบเปเบฅเป Von Neumann
เบฎเบนเบเปเบเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบตเปเบเปเบฒเบเบเบฒเบเบเบตเปเบญเบฐเบเบดเบเบฒเบเปเบเบเบเบงเบเปเบฎเบปเบฒเปเบกเปเบเบเปเบฒเบเบเบทเบเบฑเบเบเบฑเบเบฎเบนเบเปเบเบเบเบฒเบเบเบดเบเปเบฅเป Von Neumann. Von Neumann เปเบเบฑเบเปเบถเปเบเปเบเบเบนเปเบเบธเบเปเบเบตเบเบฅเบฐเบเบปเบเบเบญเบกเบเบดเบงเปเบเบต, เบฅเบฒเบงเบเบฑเบเปเบเบฑเบเบเบฑเบเบเบฝเบเบเบดเบเบชเบฐเบเบตเปเบเบก.. เปเบเบเบฐเบเบฐเบเบตเปเปเบเบเบเบฒเบเบเปเบฒเบฅเบฑเบเบเปเบฒเปเบเบตเบเบขเบนเป, เบเบดเบเบเบฐเบเปเบฒเบญเบทเปเบเปเปเบเบตเบเบเบถเปเบ, เบเบฐเบเบงเบเบเบฒเบเบญเบทเปเบเปเบเปเบฒเบเบงเบเบซเบผเบฒเบเปเบฅเบฐเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฒเบกเปเบซเบเบเบปเบเบเบญเบเบเบฒเบเบชเปเบงเบเบเบตเบชเบฒเบก, เบเบธเบเบเบฐเบชเบปเบเบเบปเปเบเบเปเปเบกเปเบเปเบเบทเปเบญเบเปเบฒเบเบเบฒเบเปเบเบตเบเบเบปเบง, เบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเปเบฅเบฐเบเบฒเบเบเปเบฒเบฅเบธเบเบฎเบฑเบเบชเบฒเบฅเบฐเบเบปเบ.
ะกััะตััะฒัะตั ะฝะฐะฑะพั ะฟัะพะณัะฐะผะผะฝะพะณะพ ะพะฑะตัะฟะตัะตะฝะธั, ะบะพัะพััะน ะพัะฒะตัััะฒะตะฝะตะฝ ะทะฐ ะฟัะพััะพัั ะทะฐะฟััะบะฐ ะฟัะพะณัะฐะผะผ (ะธะปะธ ะดะฐะถะต ะฟะพะทะฒะพะปัััะธะน ะทะฐะฟััะบะฐัั ะฝะตัะบะพะปัะบะพ ะฟัะพะณัะฐะผะผ ะพะดะฝะพะฒัะตะผะตะฝะฝะพ), ะพะฝ ะฟะพะทะฒะพะปัะตั ะฟัะพะณัะฐะผะผะฐะผ ัะฐะทะดะตะปััั ะพะดะฝั ะธ ัั ะถะต ะฟะฐะผััั, ะฐ ัะฐะบ ะถะต ะฒะทะฐะธะผะพะดะตะนััะฒะพะฒะฐัั ั ัะฐะทะปะธัะฝัะผะธ ััััะพะนััะฒะฐะผะธ. ะขะฐะบะพะน ะฝะฐะฑะพั ะะ (ะฟัะพะณัะฐะผะผะฝะพะณะพ ะพะฑะตัะฟะตัะตะฝะธั) ะฟะพ ัััะธ ะธ ะฝะฐะทัะฒะฐัั ะพะฟะตัะฐัะธะพะฝะฝะพะน ัะธััะตะผะพะน ะธ ะฒ ะตะณะพ ะทะฐะดะฐัะธ ะฒั ะพะดะธั ะพััะปะตะถะธะฒะฐะฝะธะต ัะพะณะพ, ััะพะฑั ัะธััะตะผะฐ ัะฐะฑะพัะฐะปะฐ ะบะพััะตะบัะฝะพ ะธ ัััะตะบัะธะฒะฝะพ, ะฐ ัะฐะบะถะต ะพะฑะตัะฟะตัะตะฝะธะต ะฟัะพััะพัั ัะฟัะฐะฒะปะตะฝะธั ััะพะน ัะธััะตะผะพะน.
เบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบ
เบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบ, เบซเบเปเปเปเบเบฑเบ OS, เปเบกเปเบเบเบธเบเบเบญเบเปเบเบฅเปเบเบฅเบกเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบตเปเบเบทเบเบญเบญเบเปเบเบเปเบเบทเปเบญเบเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบญเบกเบเบดเบงเปเบเบตเปเบฅเบฐเบเบฑเบเบเบฒเบเปเบเปเบเบญเบเบเบนเปเปเบเปเบเบฑเบเบเบญเบกเบเบดเบงเปเบเบต..
OS เบเบฑเบเบฅเบธเบเบฐเบชเบดเบเบเบดเบเบปเบเปเบเบชเบฐเบเบฒเบเบเบตเปเบเปเบฒเบญเบดเบ, เปเบเบเบเปเบฒเบเปเบเบฑเบเบเบดเบเบเบตเปเบชเปเบฒเบเบฑเบเบเบตเปเบชเบธเบ - เปเบเบฑเบเบเบดเบ virtualization. OS เบเบปเบงเบเบฑเบเบเบฑเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบฒเบเบเบฒเบเบฐเบเบฒเบ (เปเบเปเบเบเปเบเบต, เบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒ, เปเบเปเบ, เปเบฅเบฐเบญเบทเปเบเป) เปเบฅเบฐเบเปเบฝเบเบกเบฑเบเปเบเบชเบนเปเบฎเบนเบเปเบเบเบเบปเปเบงเปเบ, เบกเบตเบญเปเบฒเบเบฒเบเบซเบผเบฒเบ, เปเบฅเบฐเบเปเบฒเบเบเปเปเบเบฒเบเปเบเปเบเบญเบเบกเบฑเบเปเบญเบ. เบเบฑเปเบเบเบฑเปเบ, เบชเปเบฒเบฅเบฑเบเบเบงเบฒเบกเปเบเบปเปเบฒเปเบเบเบปเปเบงเปเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบฝเบเบเบฝเบเบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบฑเบเปเบเบทเปเบญเบ virtual.
เปเบเบทเปเบญเปเบซเปเบเบนเปเปเบเปเบชเบฒเบกเบฒเบเปเบซเปเบเปเบฒเบชเบฑเปเบเบเบฑเบเบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบฅเบฐเบเบฑเปเบเบเบฑเปเบเบเบถเปเบเปเบเปเบเบงเบฒเบกเบชเบฒเบกเบฒเบเบเบญเบ virtual machine (เปเบเบฑเปเบ: เปเบฅเปเบเปเบเบเบเบฒเบ, เบเบฒเบเบเบฑเบเบชเบฑเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒ, เบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเปเบเบฅเป, เปเบฅเบฐเบญเบทเปเบเป), เบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบชเบฐเบซเบเบญเบเบเบฒเบเปเบเปเบเบญเบเบเบฒเบเบขเปเบฒเบเบเบตเปเปเบญเบตเปเบเบงเปเบฒ. API (เบเบฒเบโเปเบเปโเบเบญเบโเปเบเบโเบเบฒเบโเบเปเบฒโเบฎเปเบญเบโเบชเบฐโเบซเบกเบฑเบโ) เปเบฅเบฐโเบเบตเปโเบเปเบฒเบโเบชเบฒโเบกเบฒเบโเปเบฎเบฑเบโเปเบซเปโเบเบฒเบโเปเบ (เปเบโ)โ. เบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบปเบเบเบฐเบเบดเบญเบฐเบเบธเบเบฒเบเปเบซเปเปเบเบซเบฒเบฅเบฐเบเบปเบเบซเบผเบฒเบเบฎเปเบญเบเบเบฑเปเบ.
เบชเบธเบเบเปเบฒเบ, เบเบฑเบเบเบฑเปเบเปเบเป virtualization เบญเบฐเบเบธเบเบฒเบเปเบซเปเปเบฎเบฑเบเบงเบฝเบเบซเบผเบฒเบเปเบเบเบเบฒเบ (เบเบฑเปเบเบเบฑเปเบเบเบฒเบเปเบเปเบเบเบฑเบ CPU), เปเบฅเบฐเบเปเบญเบกเปเบเบฑเบเปเบเบปเปเบฒเปเบเบดเบเบเปเบฒเปเบเบฐเบเปเบฒเปเบฅเบฐเบเปเปเบกเบนเบเบเบญเบเปเบเบปเบฒเปเบเบปเปเบฒ (เบเบฑเปเบเบเบฑเปเบเบเบฒเบเปเบเปเบเบเบฑเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒ), เปเบฅเบฐเปเบเบปเปเบฒเปเบเบดเบเปเบเปเบ (เบเบฑเปเบเบเบฑเปเบเบเบฒเบเปเบเปเบเบเบฑเบ I / O เบญเบธเบเบฐเบเบญเบ). , เบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบญเบตเปเบเบงเปเบฒ a. เบเบนเปเบเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ. เปเบเปเบฅเบฐเปเบเปเบเบเปเบเบต, เปเบเปเบเปเบฅเบฐเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเปเบกเปเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบญเบเบฅเบฐเบเบปเบ, เปเบฅเบฐเบเบฑเปเบเบเบฑเปเบ, เบซเบเบถเปเบเปเบเบเบปเบเบเบฒเบเบเบญเบเบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบฒเบเปเบเบฑเบเบงเบฝเบเบเบฒเบเบเบญเบเบเบฒเบเบเบธเปเบกเบเบญเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเปเบซเบผเบปเปเบฒเบเบตเป, เบเปเบฒเปเบเบตเบเบเบฒเบเบขเปเบฒเบเบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบ, เบเบทเปเบชเบฑเบ, เบซเบผเบทเปเบเบเบฒเบเบเบฑเบเบเบฑเบ, เบเบถเปเบเบเบฑเบเบงเบฝเบเบเบฒเบเบเบญเบเบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบตเป. เปเบเปเบเบทเบเบญเบญเบเปเบเบ.
CPU virtualization
เบเบดเบเบฒเบฅเบฐเบเบฒเปเบเบเบเบฒเบเบเปเปเปเบเบเบตเป:
(https://www.youtube.com/watch?v=zDwT5fUcki4)
เบกเบฑเบเบเปเปเปเบเปเบเปเบฒเปเบเบตเบเบเบฒเบเบเบดเปเบชเบเปเบเป, เปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ, เบเบฑเบเบซเบกเบปเบเบเบตเปเบกเบฑเบเปเบฎเบฑเบเปเบกเปเบเปเบเบซเบฒเบซเบเปเบฒเบเบตเป spin(), เบงเบฝเบเบเบฒเบเบเบญเบเบกเบฑเบเปเบกเปเบเบงเบปเบเบเบญเบเปเบเบเบเปเบฒเบเบเบฒเบเบเบงเบเบชเบญเบเบเบตเปเปเบเปเปเบงเบฅเบฒเปเบฅเบฐเบเบฑเบเบเบทเบเบซเบผเบฑเบเบเบฒเบเบซเบเบถเปเบเบงเบดเบเบฒเบเบตเปเบเปเบเปเบฒเบเปเบ. เบเบฑเปเบเบเบฑเปเบ, เบกเบฑเบเบเปเปเบฒเบเบทเบเบชเบฐเบเบฃเบดเบเบเบตเปเบเปเปเบกเบตเบเปเบฒเบเบปเบเบเบตเปเบเบนเปเปเบเปเบเปเบฒเบเปเบเบฑเบเบเบฒเบเปเบเปเบเบฝเบ.
เปเบซเปเบเปเบฒเปเบเบตเบเปเบเบเบเบฒเบเบเบตเปเปเบฅเบฐเบเปเบฒเบเบกเบฑเบเบเปเบงเบเบเบปเบงเบญเบฑเบเบชเบญเบ "A" เปเบเบฑเบเบเบฒเบเปเบเปเบเบฝเบ. เบเบปเบเปเบเปเบฎเบฑเบเปเบกเปเบเบเปเปเบซเบเปเบฒเบชเบปเบเปเบเปเบเบเบชเบฐเปเบเบฒเบฐ - เบฅเบฐเบเบปเบเบเบฝเบเปเบเปเบเบฐเบเบดเบเบฑเบเปเบเบเบเบฒเบเบเบตเปเบชเบฐเปเบเบเบเบปเบงเบญเบฑเบเบชเบญเบ "A" เปเบเบฑเบเปเบเปเบฅเบฐเปเบฅเบเบฐเปเบเบซเบเปเบฒเบเป.
เบเบญเบเบเบตเปเปเบซเปเบฅเบญเบเปเบเปเบเบปเบงเปเบฅเบทเบญเบเปเบกเบทเปเบญเบซเบผเบฒเบเปเบเบปเบงเบขเปเบฒเบเบเบญเบเปเบเบฃเปเบเบฃเบกเบเบฝเบงเบเบฑเบเบเบณเบฅเบฑเบเปเบฎเบฑเบเบงเบฝเบเบขเบนเป, เปเบเปเปเบซเปเบญเบญเบเบเบปเบงเบญเบฑเบเบชเบญเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเปเบเบทเปเบญเปเบฎเบฑเบเปเบซเปเบกเบฑเบเบเบฑเบเปเบเบเบเบถเปเบ. เปเบเบเปเบฅเบฐเบเบตเบเบฑเปเบเบเปเบฒเบงเบเบตเป, เบเบปเบเปเบเปเบฎเบฑเบเบเบฐเปเบเบเบเปเบฒเบเบเบฑเบ. เปเบเบดเบเบงเปเบฒเบเบฐเบกเบตเบเบงเบฒเบกเบเบดเบเบเบตเปเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบกเบตเบซเบเบถเปเบเปเบเปเบเบเปเบเบต, เปเบเบเบเบฒเบเปเบเปเบเบทเบเบเบฐเบเบดเบเบฑเบเบเปเบญเบกเปเบเบฑเบ. เบกเบฑเบเปเบเบตเบเบเบถเปเบเปเบเบงเปเบ? เปเบเปเบกเบฑเบ turns เปเบซเปเปเบซเบฑเบเบงเปเบฒเบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบ, เบเปเปเปเบกเปเบเปเบเบเบเปเปเบกเบตเบเบฒเบเบเปเบงเบเปเบซเบผเบทเบญเบเบญเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเบเบญเบเบฎเบฒเบเปเบง, เบชเปเบฒเบเบเบฒเบเบฅเบงเบเบเบฒ. เบเบฒเบเบฅเบงเบเบเบฒเบเบตเปเบฅเบฐเบเบปเบเบกเบตเปเบเปเบเบเปเบเบต virtual เบซเบผเบฒเบ, เบเปเบฝเบเปเบเปเบเบเปเบเบตเบเบฒเบเบเปเบฒเบเบฎเปเบฒเบเบเบฒเบเบเบฝเบงเปเบเบปเปเบฒเปเบเปเบเบเปเบฒเบเบงเบเบเบตเปเบเปเปเบกเบตเบเบญเบเปเบเบเบเบฒเบเบเบดเบเบชเบฐเบเบตเปเบฅเบฐเบเบฑเปเบเบเบฑเปเบเบเบถเปเบเปเบฎเบฑเบเปเบซเปเบเบฑเบเบเบฒเปเบเบเบเบฒเบเบเบตเปเปเบเบดเปเบเบเบทเบงเปเบฒเปเบฎเบฑเบเบงเบฝเบเบเปเบญเบกเปเบเบฑเบ. เบเบฒเบเบฅเบงเบเบเบฒเบเบตเปเปเบญเบตเปเบเบงเปเบฒ CPU virtualization.
เบฎเบนเบเบเบฒเบเบเบตเปเปเบฎเบฑเบเปเบซเปเปเบเบตเบเบเปเบฒเบเบฒเบกเบซเบผเบฒเบเบขเปเบฒเบ, เบเบปเบงเบขเปเบฒเบ, เบเปเบฒเบซเบฅเบฒเบเปเบเบเบเบฒเบเบเปเบญเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบ, เบญเบฑเบเปเบเบเบฐเปเบเบตเบเบเบปเบง? "เบเบฐเปเบเบเบฒเบ" เบเบญเบ OS เปเบกเปเบเบฎเบฑเบเบเบดเบเบเบญเบเบเปเปเบเปเบฒเบเบฒเบกเบเบตเป. เบเบฐเปเบเบเบฒเบเบเบทเบเบเปเบฒเปเบเปเปเบเบซเบผเบฒเบเบเปเบญเบเปเบ OS เปเบฅเบฐเบเบญเบเบเปเบฒเบเบฒเบกเปเบเบฑเปเบเบเบตเป, เปเบฅเบฐเปเบเบฑเบเบเบปเบเปเบเบเบทเปเบเบเบฒเบเบเบตเป OS เบเบฐเบเบดเบเบฑเบ. เปเบเบฒเบฐเบชเบฐเบเบฑเปเบ, เบเบฒเบฅเบฐเบเบปเบเบเบฒเบเบเบญเบ OS เปเบเบฑเบเบเบนเปเบเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ.
Virtualization เบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒ
เบเบญเบเบเบตเปเปเบซเปเปเบเบดเปเบเบเบงเบฒเบกเบเบปเบเบเปเบฒ. เบฎเบนเบเปเบเบเบเบฒเบเบเบฒเบเบฐเบเบฒเบเบเบญเบเบเบงเบฒเบกเบเบปเบเบเปเบฒเปเบเบฅเบฐเบเบปเบเบเบตเปเบเบฑเบเบชเบฐเปเบซเบกเปเบกเปเบเบชเบฐเปเบเบเปเบเบฑเบ array เบเบญเบ bytes.. เปเบเบทเปเบญเบญเปเบฒเบเบเบฒเบเบเบงเบฒเบกเบเบปเบเบเปเบฒ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบฅเบฐเบเบธ เบเบตเปเบขเบนเปเบเบฒเบฅเบฒเบเปเบเบทเปเบญเปเบเบปเปเบฒเปเบเบดเบเบกเบฑเบ. เปเบเบทเปเบญเบเบฝเบเบซเบผเบทเบเบฑเบเบเบธเบเบเปเปเบกเบนเบ, เบเปเบฒเบเบเบฑเบเบเปเบญเบเบฅเบฐเบเบธเบเปเปเบกเบนเบเปเบฅเบฐเบเบตเปเบขเบนเปเบเบญเบเบเบฒเบฅเบฒเบเบเบตเปเบเบฐเบเบฝเบเบกเบฑเบ.
เบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเปเบเปเบเบทเบเปเบเบปเปเบฒเปเบเบดเบเบขเปเบฒเบเบเปเปเปเบเบทเปเบญเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเบเบเบฒเบ. เปเบเบฅเปเบเบฅเบกเปเบเบฑเบเปเบเบเบชเปเบฒเบเบเปเปเบกเบนเบเบเบฑเบเบซเบกเบปเบเบเบญเบเบกเบฑเบเปเบงเปเปเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเปเบฅเบฐเปเบเบปเปเบฒเปเบเบดเบเบกเบฑเบเปเบเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเปเบเบฐเบเปเบฒเบเปเบฒเบเป. เบเปเบฒเปเบเบฐเบเปเบฒ, เปเบเบเบฐเบเบฐเบเบฝเบงเบเบฑเบ, เบเบฑเบเบเบทเบเปเบเบฑเบเปเบงเปเปเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒ, เบเบฑเปเบเบเบฑเปเบเบกเบฑเบเบเบฑเบเบเบทเบเปเบเบปเปเบฒเปเบเบดเบเบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐเบเปเบฒเบฎเปเบญเบเบเปเบชเปเบฒเบฅเบฑเบเบเปเบฒเปเบเบฐเบเปเบฒเบเปเปเปเบ.
malloc() เปเบ
เบเบดเบเบฒเบฅเบฐเบเบฒเปเบเบเบเบฒเบเบเปเปเปเบเบเบตเป, เปเบเบดเปเบเบเบฑเบเบชเบฑเบเบเบทเปเบเบเบตเปเบเบญเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเปเบเบเปเบเปเบเบฒเบเปเบ malloc () (https://youtu.be/jnlKRnoT1m0):
เปเบเบเบเบฒเบเปเบฎเบฑเบเบซเบผเบฒเบเบชเบดเปเบเบซเบผเบฒเบเบขเปเบฒเบ. เบซเบเปเบฒเบเปเบฒเบญเบดเบ, เบกเบฑเบเบเบฑเบเบชเบฑเบเบเบฒเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒ (เปเบชเบฑเปเบ 7), เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบดเบกเบเบตเปเบขเบนเปเบเบญเบเบเบธเบฅเบฑเบเบเบฑเบเบชเบฑเบ (เปเบชเบฑเปเบ 9), เบเบฝเบเบชเบนเบเปเบชเปเบเปเบญเบเบเปเบฒเบญเบดเบเบเบญเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบตเปเบเบฑเบเบชเบฑเบ. เบเปเปเปเบ, เปเบเบฅเปเบเบฅเบกเปเบเบปเปเบฒเปเบเปเบ loop เปเบเบดเปเบเบกเบฑเบเปเบเบตเปเบกเบกเบนเบเบเปเบฒเบเบตเปเปเบเบฑเบเปเบงเปเปเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบขเบนเปเบเบตเปเบเบตเปเบขเบนเปเปเบเบเบปเบงเปเบ "p". เบกเบฑเบเบเบฑเบเบเบดเบก ID เบเบฐเบเบงเบเบเบฒเบเบเบญเบเบเบปเบเปเบญเบ. ID เบเบฐเบเบงเบเบเบฒเบเปเบกเปเบเปเบเบฑเบเปเบญเบเบฐเบฅเบฑเบเบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐเบเบฐเบเบงเบเบเบฒเบเปเบฅเปเบ. เบกเบตเบเบฒเบเปเบเบตเบเบเบปเบงเบซเบผเบฒเบเปเบชเปเบฒเปเบเบปเบฒ, เบเบงเบเปเบฎเบปเบฒเบเบฐ stumble เบเบฒเบกเบเบปเบเปเบเปเบฎเบฑเบเบเบตเปเบซเบเปเบฒเบชเบปเบเปเบ: เปเบเบเปเบฅเบฐเบเบตเบเปเบฒเบญเบดเบ, เบเปเบฒเบเปเบฒเบเบเปเปเปเบฎเบฑเบเบซเบเบฑเบเปเบฅเบฐเบเบฝเบเปเบเปเบเปเบฒเปเบเบตเบเบเบฒเบเบซเบผเบฒเบเบชเปเบฒเปเบเบปเบฒ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบตเปเบขเบนเปเบเบฐเปเบเบเบเปเบฒเบเบเบฑเบ. เปเบเปเบเบตเปเบเปเปเปเบเปเบเบปเบเบขเบนเปเบเบฒเบเปเบเปเบเบดเบเบชเบฐเบเบตเบเบญเบเบเบงเบเปเบฎเบปเบฒ! เบเบทเบเบเปเบญเบ, เบเบฑเบเบเบฑเปเบเปเบเปเบเบฒเบเปเบเบเบขเบฒเบเบเบตเปเบเบฑเบเบชเบฐเปเบซเบกเบกเบตเบเบฒเบเปเบเบตเบเบเบฒเบเบชเบธเปเบกเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ. เบเปเบฒเบกเบฑเบเบเบทเบเบเบดเบเปเบเปเบเบฒเบ, เบเบงเบเปเบฎเบปเบฒเปเบเปเบฎเบฑเบเบเบปเบเบเบตเปเบเบฒเบเปเบงเป - เบเบตเปเบขเบนเปเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบญเบเบชเบญเบเปเบเบเบเบฒเบเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบเปเบญเบกเปเบเบฑเบเบเบฐเบเบปเบเบเบฑเบ.
เบเบฑเปเบเบเบฑเปเบ, เบกเบฑเบเบเบฒเบเบปเบเบงเปเบฒเบชเบญเบเปเบเบเบเบฒเบเปเบญเบเบฐเบฅเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบชเบฐเบเบฒเบเบเบตเปเบเบตเปเบขเบนเปเบชเปเบงเบเบเบปเบงเบเบญเบเบเบปเบเปเบญเบ, เปเบเบดเปเบเปเบเบเบฒเบเบเบฑเบเบเบฑเบเปเบเปเบเบทเบเปเบเบเบเบตเปเปเบเบเบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบฒเบเบเปเบฒเบเบฎเปเบฒเบเบเบฒเบ.. เบเบฑเปเบเบเบฑเปเบ, เบเบฒเบเบเปเบฒเปเบเปเบเบตเปเบขเบนเปเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบฒเบเปเบเปเบเบเบเบฒเบเบซเบเบถเปเบเบเบฐเบเปเปเบชเบปเปเบเบเบปเบเบเบฐเบเบปเบเบเปเปเบเบปเบเบญเบทเปเบเปเบเบเบฒเบเปเบเบเปเปเบเบฒเบก, เปเบฅเบฐเบกเบฑเบเปเบเบดเปเบเบเบทเบงเปเบฒเปเบเปเบฅเบฐเปเบเบฅเปเบเบฅเบกเบกเบฑเบเบกเบตเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบฒเบเบเบฒเบเบฐเบเบฒเบเบเบญเบเบเบปเบเปเบญเบ, เบกเบญเบเปเบซเปเบกเบฑเบเบเบฑเบเบซเบกเบปเบ. เบเบงเบฒเบกเบเบดเบ, เปเบเบงเปเบเบเปเปเบเบฒเบก, เปเบกเปเบเบงเปเบฒเบเบงเบฒเบกเบเบปเบเบเปเบฒเบเบฒเบเบเปเบฒเบเบฎเปเบฒเบเบเบฒเบเปเบกเปเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบฎเปเบงเบกเบเบฑเบเบเบตเปเบเบธเปเบกเบเบญเบเปเบเบเบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบ.
เบเบงเบฒเบกเบชเบญเบเบเปเบญเบ
เบญเบตเบเบเบฐเบเบฒเบเบซเบเบถเปเบเบเบญเบเบซเบปเบงเบเปเปเบเบตเปเบชเปเบฒเบเบฑเบเบเบฒเบเปเบเบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบกเปเบ โ เบเบงเบฒเบกเบชเบญเบเบเปเบญเบ. เบเปเบฒเบชเบฑเบเบเบตเปเบเบทเบเบเปเบฒเปเบเปเปเบเปเบงเบฅเบฒเบเบตเปเปเบงเบปเปเบฒเบเปเบฝเบงเบเบฑเบเบเบฑเบเบซเบฒเปเบเบฅเบฐเบเบปเบเบเบตเปเบชเบฒเบกเบฒเบเปเบเบตเบเบเบถเปเบเปเบเปเบงเบฅเบฒเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบซเบผเบฒเบเบชเบดเปเบเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบเบเบฒเบเปเบเปเบเบเบเบฒเบเบเบฝเบงเบเบฑเบ. เบเบฑเบเบซเบฒเบเบงเบฒเบกเบชเบญเบเบเปเบญเบเปเบเบตเบเบเบทเปเบเปเบเบดเบเปเบกเปเบเบงเปเบฒเบขเบนเปเปเบเบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบญเบเบกเบฑเบเปเบญเบ. เปเบเบเบปเบงเบขเปเบฒเบเบเบญเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเปเบฅเบฐเปเบเปเบเบเปเบเบต virtualization เบเบตเปเบเปเบฒเบเบกเบฒ, เบเบงเบเปเบฎเบปเบฒเปเบเปเบฎเบฑเบเบฎเบนเปเบงเปเบฒ OS เบเบฑเบเบเบฒเบเบซเบผเบฒเบเปเบขเปเบฒเบเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบ - เบกเบฑเบเปเบฅเบตเปเบกเบเบปเปเบเบเบฐเบเบงเบเบเบฒเบเบเปเบฒเบญเบดเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบตเบชเบญเบ, เปเบฅเบฐเบญเบทเปเบเป. เบเปเบญเบเบงเปเบฒเบกเบฑเบเบซเบฑเบเบญเบญเบ, เบเบถเบเบเบดเบเปเบฒเบเบตเปเบชเบฒเบกเบฒเบเบเปเบฒเปเบเบชเบนเปเบเบฑเบเบซเบฒเบเบฒเบเบขเปเบฒเบ. เบเบฑเปเบเบเบฑเปเบ, เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบเบปเบงเบขเปเบฒเบ, เปเบเบเบเบฒเบเบซเบผเบฒเบเบเบฐเบเบนเปเบเบตเปเบเบฑเบเบชเบฐเปเบซเบกเบเบฐเบชเบปเบเบเบฑเบเบเบงเบฒเบกเบซเบเบธเปเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบง.
เบเบดเบเบฒเบฅเบฐเบเบฒเปเบเบเบเบฒเบเบเปเปเปเบเบเบตเป:
เปเบเบฃเปเบเบฃเบกเปเบเบซเบเปเบฒเบเบตเปเบเบปเปเบเบเปเบเบฐเบชเปเบฒเบเบชเบญเบเบเบฐเบเบนเปเปเบเบเปเบเปเบเบฒเบเปเบ pthread_create(). เปเบเบเบปเบงเบขเปเบฒเบเบเบตเป, เบเบฐเบเบนเปเบชเบฒเบกเบฒเบเบเบดเบเบงเปเบฒเปเบเบฑเบเบเบฑเบเบเบฑเบเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบเบเบทเปเบเบเบตเปเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบฝเบงเบเบฑเบเบเปเบญเบกเบเบฑเบเบเบฑเบเบเบฑเบเบญเบทเปเบเป, เปเบเบเปเบซเบฑเบเปเบเปเบเบฑเบเปเบเบเบซเบผเบฒเบเบเบงเปเบฒเบซเบเบถเปเบเบเบฑเบเบเบฑเบเบเบตเปเปเบฎเบฑเบเบงเบฝเบเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบ. เปเบเบเบปเบงเบขเปเบฒเบเบเบตเป, เปเบเปเบฅเบฐเบเบฐเบเบนเปเปเบฅเบตเปเบกเบเบปเปเบเปเบฅเบฐเบเบฐเบเบดเบเบฑเบเบซเบเปเบฒเบเบตเป worker() เปเบเบดเปเบเบเบฝเบเปเบเปเปเบเบตเปเบกเบเบปเบงเปเบ,.
เปเบซเปเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเบเบเบฒเบเบเบตเปเบเปเบงเบเบเบฒเบเปเบเปเบเบฝเบเบเบญเบ 1000. เบเบฑเปเบเบเบตเปเปเบเบปเปเบฒเบญเบฒเบเบเบฐเบเบฒเบเปเบเบปเบฒเปเบเป, เบเบปเบเปเบเปเบฎเบฑเบเบเบงเบเบเบฐเปเบเบฑเบ 2000 เปเบเบฒเบฐเบงเปเบฒเปเบเปเบฅเบฐ thread เปเบเบตเปเบกเบเบปเบงเปเบ 1000 เปเบเบทเปเบญ. เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบกเปเบเบเปเปเบเปเบฒเบเบเบฒเบ. เปเบซเปเบเบฐเบเบฒเบเบฒเบกเบเปเบฒเปเบเบตเบเปเบเบเบเบฒเบเบเบตเปเบกเบตเบเปเบฒเบชเบฑเปเบเบเบญเบเบเบฐเบซเบเบฒเบเบเปเปเบฒเบเบฑเบเบซเบผเบฒเบ.
เปเบเบเบเบฒเบเปเบชเปเบเบปเบงเปเบฅเบ, เบเบปเบงเบขเปเบฒเบ, 100000, เบเบงเบเปเบฎเบปเบฒเบเบฒเบเบงเปเบฒเบเบฐเปเบซเบฑเบเบเบปเบเปเบเปเบฎเบฑเบเปเบเบฑเบเบเบปเบงเปเบฅเบ 200000. เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบเปเบฒเบเบงเบเปเบฎเบปเบฒเปเบฅเปเบเบเปเบฒเบเบงเบ 100000 เบซเบผเบฒเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเปเบเบฝเบเปเบเปเบเปเปเปเบซเบฑเบเบเปเบฒเบเบญเบเบเบตเปเบเบทเบเบเปเบญเบ, เปเบเปเบเบฑเบเปเบเปเบฎเบฑเบเบเปเบฒเบเบญเบเบเบตเปเบเปเปเบเบทเบเบเปเบญเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ. เบเปเบฒเบเบญเบเปเบกเปเบเบขเบนเปเปเบเบเบงเบฒเบกเบเบดเบเบเบตเปเบงเปเบฒเปเบเบทเปเบญเปเบเบตเปเบกเบเปเบฒเบเบงเบ, เบชเบฒเบกเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเปเบกเปเบเบเปเบฒเปเบเบฑเบ - เบเบฒเบเบชเบฐเบเบฑเบเบเบปเบงเปเบฅเบเบเบฒเบเบเบงเบฒเบกเบเบปเบเบเปเบฒ, เบเบฒเบเปเบเบตเปเบก, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฝเบเบเบปเบงเปเบฅเบเบเบฑเบเบเบทเบเปเบเบเปเบญเบ. เปเบเบทเปเบญเบเบเบฒเบเบเปเบฒเปเบเบฐเบเปเบฒเบเบฑเบเบซเบกเบปเบเปเบซเบผเบปเปเบฒเบเบตเปเบเปเปเปเบเปเบเบทเบเบเบฐเบเบดเบเบฑเบเบเปเบงเบเบเบฐเบฅเปเบฒเบกเบฐเบเบน (เบเบฑเบเบซเบกเบปเบเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบ), เบชเบดเปเบเปเบเบเบเบฐเบซเบฅเบฒเบเปเบเบฑเปเบเบเบตเปเบเปเปเบชเบฒเบกเบฒเบเปเบเบตเบเบเบถเปเบเปเบเป. เบเบฑเบเบซเบฒเบเบตเปเปเบญเบตเปเบเบงเปเบฒเบเบฒเบเบเบฝเบเปเบเบฅเปเบเบฅเบก เบชเบฐโเบเบฒเบโเบเบฒเบโเปเบเบทเปเบญโเบเบฒเบโ. เปเบเปเบงเบฅเบฒเบเบตเปเบเปเบฒเบฅเบฑเบเบเบตเปเบเปเปเบฎเบนเปเบเบฑเบเปเบเปเบงเบฅเบฒเบเบตเปเบเปเปเบฎเบนเปเบเบฑเบเบชเบฒเบกเบฒเบเบชเบปเปเบเบเบปเบเบเบฐเบเบปเบเบเปเปเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบเปเบเบญเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบญเบเบเปเบฒเบ.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com