Popcorn αž€αŸ†αž–αž»αž„αž”αž„αŸ’αž€αžΎαžαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™αž…αŸ‚αž€αž…αžΆαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαžΊαžŽαŸ‚αž›αž›αžΈαž“αž»αž…αŸ”

αžšαžŠαŸ’αž‹ Virginia Tech αž”αžΆαž“αžŸαŸ’αž“αžΎ αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž–αž·αž—αžΆαž€αŸ’αžŸαžΆαžŠαŸ„αž™αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžαžΊαžŽαŸ‚αž›αž›αžΈαž“αž»αž… αžŸαŸ†αžŽαž»αŸ†αž“αŸƒαž”αŸ†αžŽαŸ‡αž‡αžΆαž˜αž½αž™αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™αžŠαŸ‚αž›αž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™ αž–αŸ„αžαž›αžΈαž„αž‰αŸ‰αžΆαŸ† (Distributed Thread Execution) αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžšαŸ€αž”αž…αŸ†αž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸ…αž›αžΎαž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαž‡αžΆαž…αŸ’αžšαžΎαž“αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™ αž“αž·αž„αž€αžΆαžšαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€αž”αŸ’αžšαž€αž”αžŠαŸ„αž™αžαž˜αŸ’αž›αžΆαž—αžΆαž–αž“αŸƒαžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™αžšαžœαžΆαž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αŸ” αž‡αžΆαž˜αž½αž™ Popcorn αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαžΆαž€αŸ‹αž±αŸ’αž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αž½αž™ αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž‘αŸ…αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžŠαŸ„αž™αž˜αž·αž“αž˜αžΆαž“αž€αžΆαžšαžšαŸ†αžαžΆαž“αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ multithreaded αž€αžΆαžšαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€αž“αŸƒ threads αž“αžΈαž˜αž½αž™αŸ—αž‘αŸ…αž€αžΆαž“αŸ‹ host αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αž‰αŸ’αž‰αžΆαžαŸ”

αžαž»αžŸαž–αžΈαž‚αž˜αŸ’αžšαŸ„αž„ CRIUαžŠαŸ„αž™αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αžŸαŸ’αžαžΆαž“αž—αžΆαž–αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€ αž αžΎαž™αž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž”αž“αŸ’αžαž“αŸ…αž›αžΎαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž˜αž½αž™αž•αŸ’αžŸαŸαž„αž‘αŸ€αž αž–αŸ„αžαž›αžΈαž„αž‰αŸ‰αžΆαŸ†αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž™αŸ‰αžΆαž„αžšαž›αžΌαž“ αž“αž·αž„αžαžΆαž˜αžœαž“αŸ’αžαžšαžœαžΆαž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž€αŸ’αž“αž»αž„αž’αŸ†αž‘αž»αž„αž–αŸαž›αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ αžŠαŸ„αž™αž˜αž·αž“αžαŸ’αžšαžΌαžœαž€αžΆαžšαžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎ αž“αž·αž„αž’αžΆαž“αžΆαž“αžΌαžœαž—αžΆαž–αžŸαŸŠαžΈαžŸαž„αŸ’αžœαžΆαž€αŸ‹αž“αŸƒαžŸαžαž·αž“αž·αž˜αŸ’αž˜αž·αžαž“αŸ…αž‘αžΌαž‘αžΆαŸ†αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™αžŸαŸ’αžšαž”αž‚αŸ’αž“αžΆαŸ”

αž‘αž˜αŸ’αžšαž„αŸ‹αž‡αž„αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž–αŸ„αžαž›αžΈαž„ αž”αŸ†αžŽαŸ‡ αž‘αŸ…αžαžΊαžŽαŸ‚αž›αž›αžΈαž“αž»αž… αž“αž·αž„ αž”αžŽαŸ’αžŽαžΆαž›αŸαž™ αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαžŠαŸ‚αž›αž”αž„αŸ’αž αžΆαž‰αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αž€αžΆαžšαž αŸ…αžαžΆαž˜αž”αŸ’αžšαž–αŸαž“αŸ’αž’ Popcorn αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž‘αŸαžšαžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™αŸ” αž“αŸ…αž€αž˜αŸ’αžšαž·αžαžαžΊαžŽαŸ‚αž› αž•αŸ’αž“αŸ‚αž€αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ…αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžšαž„αž“αŸƒαžŸαžαž·αž“αž·αž˜αŸ’αž˜αž·αžαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαŸ’αž“αžΎαž‘αžΎαž„αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž“αŸƒαž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžŠαŸ‚αž›αž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™ αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆαž…αžΌαž›αž”αŸ’αžšαžΎαž…αž“αŸ’αž›αŸ„αŸ‡αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“αž“αž·αž˜αŸ’αž˜αž·αžαž‘αžΌαž‘αŸ… αž“αž·αž„αžŸαŸ’αžšαž”αž‚αŸ’αž“αžΆαŸ” αž—αžΆαž–αžŸαŸŠαžΈαžŸαž„αŸ’αžœαžΆαž€αŸ‹αž‚αŸ’αž“αžΆαž“αŸƒαž‘αŸ†αž–αŸαžšαžŸαžαž·αž“αž·αž˜αŸ’αž˜αž·αžαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αžΆαž“αžΆαžŠαŸ„αž™αž–αž·αž’αžΈαž€αžΆαžšαžŠαŸ‚αž›αž…αž˜αŸ’αž›αž„αž‘αŸ†αž–αŸαžšαž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αž‘αŸ…αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αŸ…αž–αŸαž›αž–αž½αž€αž‚αŸαž’αžΆαž“ αž“αž·αž„αž’αŸ’αžœαžΎαž±αŸ’αž™αž‘αŸ†αž–αŸαžšαž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αž˜αž·αž“αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž“αŸ…αž–αŸαž›αžŸαžšαžŸαŸαžšαŸ”

αž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αžšαžœαžΆαž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαžŠαŸ„αž™αž”αŸ’αžšαžΎαž§αž”αž€αžšαžŽαŸαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž€αž˜αŸ’αžšαž·αžαžαžΊαžŽαŸ‚αž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαžΆαžšαžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΌαž“αžαžΆαž˜αžšαž™αŸˆαžšαž“αŸ’αž’ TCP αŸ” αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžαžΆ TCP/IP αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαžŸαž˜αŸ’αžšαž½αž›αž€αžΆαžšαž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸ αž“αž·αž„αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž€αŸ’αž“αž»αž„αž’αŸ†αž‘αž»αž„αž–αŸαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαŸ” αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž™αž›αŸ‹αžαžΆ αžαžΆαž˜αž‘αžŸαŸ’αžŸαž“αŸˆαžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž– αž“αž·αž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž TCP/IP αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž˜αž’αŸ’αž™αŸ„αž”αžΆαž™αžŠαŸαž›αŸ’αž’αž”αŸ†αž•αž»αžαž€αŸ’αž“αž»αž„αž€αžΆαžšαž•αŸ’αž‘αŸαžšαž˜αžΆαžαž·αž€αžΆαž“αŸƒαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžαžΊαžŽαŸ‚αž› αž“αž·αž„αž‘αŸ†αž–αŸαžšαž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αžšαžœαžΆαž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αŸ„αŸ‡αž‘αŸαŸ” αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž…αŸ‚αž€αž…αžΆαž™αžαŸ’αžšαžΌαžœαžαŸ‚αž˜αžΆαž“αž€αž˜αŸ’αžšαž·αžαž“αŸƒαž€αžΆαžšαž‡αžΏαž‘αž»αž€αž…αž·αžαŸ’αžαžŠαžΌαž…αž‚αŸ’αž“αžΆαŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαžŸαŸ’αžαŸαžšαž—αžΆαž–αž“αŸƒαž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž…αž˜αŸ’αž”αž„ αžšαž”αŸ€αž”αžŠαžΉαž€αž‡αž‰αŸ’αž‡αžΌαž“αžŠαŸ‚αž›αž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž‡αžΆαž„αž˜αž»αž“αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαŸ”

αž–αŸ„αžαž›αžΈαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž—αž·αžœαžŒαŸ’αžαžαžΆαŸ†αž„αž–αžΈαž†αŸ’αž“αžΆαŸ† 2014 αž‡αžΆαž‚αž˜αŸ’αžšαŸ„αž„αžŸαŸ’αžšαžΆαžœαž‡αŸ’αžšαžΆαžœαž˜αž½αž™αžŠαžΎαž˜αŸ’αž”αžΈαžŸαž·αž€αŸ’αžŸαžΆαž–αžΈαž›αž‘αŸ’αž’αž—αžΆαž–αž“αŸƒαž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž…αŸ‚αž€αž…αžΆαž™ αžŠαŸ‚αž›αžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž›αžΆαž™αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž“αŸ…αž›αžΎαžαŸ’αž“αžΆαŸ†αž„αž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆαž“αŸ…αž€αŸ’αž“αž»αž„ αžαž»αžŸαž‚αŸ’αž“αžΆ αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαžŠαŸ‚αž›αž’αžΆαž…αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž“αžΌαžœαžŸαŸ’αž“αžΌαž›αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αžŸαŸ†αžŽαž»αŸ†αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆ (Xeon/Xeon-Phi, ARM/x86, CPU/GPU/FPGA) αŸ” αžŸαŸ†αžŽαž»αŸ†αž“αŸƒαž”αŸ†αžŽαŸ‡αžŠαŸ‚αž›αž”αžΆαž“αžŸαŸ’αž“αžΎαž‘αŸ…αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžαžΊαžŽαŸ‚αž›αž›αžΈαž“αž»αž… αž‚αžΆαŸ†αž‘αŸ’αžšαžαŸ‚αž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸŠαžΈαž—αžΈαž™αžΌ x86 αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αŸαž˜αžΆαž“αž€αŸ†αžŽαŸ‚αž˜αž»αžαž„αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαž“αŸƒ αž›αžΈαž“αž»αž… Popcorn αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αžŸαŸŠαžΈαž—αžΈαž™αžΌαž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆ (x86 αž“αž·αž„ ARM) αŸ” αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αž”αŸ’αžšαžΎβ€‹αž–αŸ„αžαž›αžΈαž„β€‹αž€αŸ’αž“αž»αž„β€‹αž”αžšαž·αž™αžΆαž€αžΆαžŸβ€‹αžαž»αžŸβ€‹αž‚αŸ’αž“αžΆ αž’αŸ’αž“αž€β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αŸ’αžšαžΎβ€‹αž–αž·αžŸαŸαžŸ αž’αŸ’αž“αž€αž…αž„αž€αŸ’αžšαž„ αž•αŸ’αž’αŸ‚αž€αž›αžΎ LLVM αŸ” αž“αŸ…αž–αŸαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αžŠαžΌαž…αž‚αŸ’αž“αžΆ αž€αžΆαžšαžŸαžΆαž„αžŸαž„αŸ‹αž‘αžΎαž„αžœαž·αž‰αž‡αžΆαž˜αž½αž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž…αž„αž€αŸ’αžšαž„αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αž‚αžΊαž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αžΆαž˜αž‘αžΆαžšαž‘αŸαŸ”

Popcorn αž€αŸ†αž–αž»αž„αž”αž„αŸ’αž€αžΎαžαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αžαŸ’αžŸαŸ‚αžŸαŸ’αžšαž‘αžΆαž™αž…αŸ‚αž€αž…αžΆαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαžΊαžŽαŸ‚αž›αž›αžΈαž“αž»αž…αŸ”

αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ€αžαžœαžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹ αžŸαŸαž…αž€αŸ’αžαžΈαž”αŸ’αžšαž€αžΆαžŸ αž‚αž˜αŸ’αžšαŸ„αž„αžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαžαŸ’αž›αŸ‡ Telefork αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž API αž‚αŸ†αžšαžΌαžŠαŸ†αž”αžΌαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αž»αž˜αžΆαžšαž“αŸ…αž›αžΎαž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž“αŸ…αž€αŸ’αž“αž»αž„αž…αž„αŸ’αž€αŸ„αž˜ (αžŠαžΌαž…αž‡αžΆ fork() αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž•αŸ’αž‘αŸαžšαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš forked αž‘αŸ…αž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαž˜αž½αž™αž•αŸ’αžŸαŸαž„αž‘αŸ€αž) αŸ”
αž€αžΌαžŠαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαž‡αžΆ Rust αž αžΎαž™αžšαž αžΌαžαž˜αž€αžŠαž›αŸ‹αž–αŸαž›αž“αŸαŸ‡αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž€αŸ’αž›αžΌαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαžΆαž˜αž‰αŸ’αž‰αž”αŸ†αž•αž»αžαžŠαŸ‚αž›αž˜αž·αž“αž”αŸ’αžšαžΎαž’αž“αž’αžΆαž“αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαžΌαž…αž‡αžΆαž―αž€αžŸαžΆαžšαŸ” αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž€αžΆαžšαž αŸ…αžαžΆαž˜αž‘αžΌαžšαž›αŸαžαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž‘αžΎαž„ αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ† αž“αž·αž„αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŠαŸ‚αž›αž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ’αž›αžΌαž“αž‘αŸ…αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ (telepad)αŸ” αžŠαŸ„αž™αž”αŸ’αžšαžΎ ptrace αž€αžΆαžšαž†αŸ’αž›αž»αŸ‡αž”αž‰αŸ’αž…αžΆαŸ†αž„αž–αžΈαž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ†αž“αŸƒαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž˜αž½αž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαŸ€αžšαŸ€αž› αž αžΎαž™αžšαž½αž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž“αŸƒαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž“αž·αž„αž€αžΆαžšαž…αž»αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡ αž•αŸ’αž‘αŸαžšαž‘αŸ…αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ” API αž€αŸαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžŸαŸ’αžαžΆαž“αž—αžΆαž–αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αŸ…αž―αž€αžŸαžΆαžš αž“αž·αž„αžŸαŸ’αžŠαžΆαžšαžœαžΆαžαžΆαž˜αžšαž™αŸˆαžœαžΆαŸ”

αž”αŸ’αžšαž—αž–: opennet.ru

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹