Operating Systems ááááşáááş
áááşášáááŹá፠Habrá ááťá˝ááşáŻááşááĄááźááşáá˝ááş á
áááşáááşá
áŹá¸áá˝ááşááąáŹááşá¸ááąáŹ á
áŹááąáá
áşááŻá ááŹááŹááźááşááąáŹááşá¸ááŤá¸ááťáŹá¸- OSTEP ááᯠââáááˇáşáĄáŹááŻáśááᯠáááşááźáááŻááŤáááşá á¤áĄááźáąáŹááşá¸áĄááŹáááş Unix áá˛áˇáááŻáˇááąáŹ áááşáááşáážáŻá
áá
áşááťáŹá¸á ááŻááşááąáŹááşáážáŻááᯠáĄááąáŹáşááąá¸ áááşáááşáá˛áᲠáááşá¸á
á
áşáááşá ááźáąáŹááááşá ááŻááşáááşá¸á
ááşááťáŹá¸á áĄááťáááşáááŹá¸áá˝á˛áážáŻááťáŹá¸á áááşáááŻááŽáážááˇáş ááąááşáᎠOS ááąáŤááşá¸á
ááşááŹá¸áááˇáş áĄááźáŹá¸ááąáŹ áĄááŹá¸áá° áĄá
áááşáĄáááŻááşá¸ááťáŹá¸áážááˇáş áĄááŻááşááŻááşááŤáááşá áá
ášá
ááşá¸áĄáŹá¸ááŻáśá¸á áá°áááşá¸ááᯠá¤ááąááŹáá˝ááş ááźááˇáşáážáŻáááŻááşááŤáááşá
á¤áĄááźáąáŹááşá¸áĄááŹáĄáá˝ááş ááŹááşáá˝á˛áááşá¸ááᯠá¤ááąááŹáá˝ááş áá˝áąáˇáááŻááşáááş-
- áá°áááşá¸-
- áá°áááşá¸-
- ááťá˝ááşáŻááşá ááŻáášáááŻááşááąá¸áĄá áááŻááşááťáąáŹááŽáá˝áąááźá
áşáĄáąáŹááş
ááťá˝ááşáŻááşá ááťááşáááşáá˝ááşáááşá¸ ááźááˇáşáážáŻáááŻááşááŤáááşá
ááááŻááááşáááşáááşáážáŻ
ááááŻááááşáá
áşááŻáááşáááşááąááťáááşáá˝ááş ááŹááźá
áşáá˝áŹá¸ááááşá¸á ááŻááşááąáŹááşááąáááˇáş ááááŻááááşáááş áááŻá¸áážááşá¸ááąáŹáĄááŹáá
áşááŻááᯠááŻááşááąáŹááşáááş - áááşá¸áááş áá˝ážááşááźáŹá¸ááťááşááťáŹá¸ááᯠááŻááşááąáŹááşáááşá á
áášáááˇáşáááŻááşá¸á áááşá¸áážááˇáşááťáŽááąáŹ áá˝ážááşááźáŹá¸ááťááşááťáŹá¸ááᯠRAM ááž ááááŻáááşááŹááž ááźááşáááşááá°ááźáŽá¸ áááşá¸áááŻáˇáĄáŹá¸ ááŻááşááśááŤááşááťáŹá¸ ááŻááşááąá¸áááş (áĽáááŹá á¤áá˝ážááşááźáŹá¸ááťááşáĄááťááŻá¸áĄá
áŹá¸ááᯠáĄáááĄáážááşááźáŻáááş) áážááˇáş áááşá¸áááŻáˇááᯠááŻááşááąáŹááşáááşá áááşá¸áááş ááśááŤááşáážá
áşááŻááᯠááąáŤááşá¸áááˇáşááźááşá¸á áááşáááŻááŽáááşááąáŹááşááźááşá¸á áĄááźáąáĄááąáá
áşáᯠá
á
áşááąá¸ááźááşá¸á ááŻááşááąáŹááşááťááşáá
áşááŻáááŻáˇ ááŻááşááźááşá¸á
áááşááźááˇáş ááźá
áşáááŻááşáááşá áá˝ážááşááźáŹá¸ááťááşáá
áşááŻáĄáŹá¸ áĄááąáŹááşáĄáááşááąáŹáşááźáŽá¸ááąáŹááş ááááŻáááşááŹáááş áĄááźáŹá¸áá
áşááŻáááŻááşááąáŹááşáážáŻááŽáááŻáˇ áááşáááşááŻááşááąáŹááşáááşá áááŻáˇááźáąáŹááˇáş áá˝ážááşááźáŹá¸ááťááşááᯠáááşááźáŹá¸ááźáŽá¸ááąáŹááşá ááááŻááááş ááźáŽá¸ááŻáśá¸áááˇáşáááŻááşáĄáąáŹááş áááşá¸áááŻáˇááᯠá
áŽááśááąáŹááşáá˝ááşáááşá
á¤áĽáááŹááᯠáááŹááĄáááŻááşá¸ áááŻá¸áážááşá¸áĄáąáŹááşááźáŻááŻááşááŹá¸áááşáᯠáá°ááááş - áĄáážááşáážáŹá ááááŻáááşááŹááᯠáĄáážáááşááźážááˇáşáááşáĄáá˝ááş ááąááşááŽááŹáˇááşáá˛áááş áááˇáşáĄáŹá¸ áá˝ážááşááźáŹá¸ááťááşááťáŹá¸ááᯠáĄáážááˇáşáĄááźáąáŹááşá¸á ááźá
áşáááŻááşáááˇáşááááşááťáŹá¸ááᯠáá˝ááşááťááşáááşá áá˝ážááşááźáŹá¸ááťááşááťáŹá¸ááᯠáá
áşááźááŻááşáááşáááşá¸ááŻááşááąáŹááşáááşáážááˇáş áĄááŹá¸áá°áážááˇáşáá˝ááşááťáŹá¸ááᯠááŻááşááąáŹááşáááŻááşá
áąáááşááźá
áşáááşá
Von Neumann á áá˝ááşááťááşáážáŻááŻáśá áś
ááťá˝ááşáŻááşáááŻáˇ ááąáŹáşááźááŹá¸ááąáŹ áááŻá¸áážááşá¸ááąáŹ áĄááŻááşááŻáśá
áśáááş Von Neumann áá˝ááşááťááşáážáŻááŻáśá
áśáážááˇáş áááşáá°áááşá Von Neumann áááş áá˝ááşááźá°ááŹá
áá
áşááťáŹá¸á áážáąáˇááąáŹááşááťáŹá¸áá˛ááž áá
áşáŚá¸ááźá
áşááźáŽá¸ ááááşá¸ááŽáĄááŻááŽááąá¸ááŹá¸áá°áááşá¸ááźá
áşáááşá. ááááŻááááşááᯠááŻááşááąáŹááşááąááťáááşáá˝ááşá áĄááźáŹá¸ááąáŹ ááźá
áşáááşááťáŹá¸á
á˝áŹá áĄááźáŹá¸ááąáŹ ááŻááşáááşá¸á
ááşááťáŹá¸á
á˝áŹáážááˇáş ááźááşáááž ááŻáášááááąááááŻááşáᏠááŻááşááąáŹááşáážáŻááťáŹá¸á áĄááá áááşáá˝ááşááťááşáážáŹ á
áá
áşá á
áááşáážáŻá áááşáááşáážáŻáážááˇáş ááźáŻááźááşááááşá¸ááááşá¸áážáŻáááŻáˇááᯠáááŻá¸áážááşá¸á
áąáááşááźá
áşáááşá
ááááŻááááşááťáŹá¸ááᯠáá˝ááşáá°á
á˝áŹáááşáááşá
áąáááş (áááŻáˇáááŻááş ááááŻááááşááťáŹá¸á
á˝áŹááᯠáá
áşááťáááşáááşá¸áá˝ááş ááŻááşááąáŹááşáááşáá˝ááˇáşááźáŻááźááşá¸)á ááááŻááááşááťáŹá¸ááᯠáá°ááŽááąáŹáážááşááŹááşááᯠááťážááąáááşáážááˇáş ááá°ááŽááąáŹá
ááşáá
ášá
ááşá¸ááťáŹá¸áážááˇáş áááşáá˝ááşáááŻááşá
áąáááşáĄáá˝ááş ááŹáááşáážááááˇáşááąáŹáˇááşáá˛áĄá
áŻáá
áşááŻáážáááŤáááşá áááŻáá˛áˇáááŻáˇááąáŹ ááąáŹáˇááşáá˛ááş (ááąáŹáˇááşáá˛ááş) áĄá
áŻáĄááąá¸ááᯠáĄááźáąááśáĄáŹá¸ááźááˇáş áááşáááşáážáŻá
áá
áşááŻááąáŤáşáá˝ááşááźáŽá¸ áááşá¸áááŻááşáááşá¸ááŹáááşááťáŹá¸áážáŹ á
áá
áşáážááşáááşááźáŽá¸ ááááąáŹááşáážáŻáážáááážáááᯠá
áąáŹááˇáşááźááˇáşá
á
áşááąá¸ááźááşá¸áĄááźááş á¤á
áá
áşáá
áŽááśáááˇáşáá˝á˛áážáŻááᯠáá˝ááşáá°á
áąááźááşá¸áááşá¸ ááŤáááşáááşá
operating system áááŻ
OS áá
áşááŻáᯠáĄáááŻááąáŹááşááąáŤáşááąáŹ áááşáááşáážáŻá
áá
áşáááş áá˝ááşááťá°ááŹáĄáááşá¸áĄááźá
áşááťáŹá¸ááᯠá
áŽááśáááˇáşáá˝á˛áááşáážááˇáş áĄááŻáśá¸ááźáŻáá°á áĄááźááşáĄáážááşáááşáá˝ááşáážáŻááᯠá
áŻá
ááşá¸áááş ááŽáááŻááşá¸ááŻááşááŹá¸ááąáŹ áĄááźááşáĄáážááşáááşá
ááşááááŻááááşáĄá
áŻáĄááąá¸áá
áşááŻááźá
áşáááşá.
OS áááş áĄááąá¸ááźáŽá¸ááŻáśá¸áááşá¸áááŹááźá
áşááąáŹ áááşá¸áááŹáĄáŹá¸ááźááˇáş áááááąááŹá áááşá¸áááááąáŹááşáážáŻááᯠááážááááşá virtualization. OS áááş ááŻááşáááŻááşá¸áááŻááşááŹáĄáááşá¸áĄááźá
áşááťáŹá¸ (ááááŻáááşááŹá áááşáááŻááŽá áá
áşááşá
áááş) áážááˇáş áĄááźááşáĄáážááşáĄááťááŻá¸áááşááąáŹááşááźáŽá¸ áááşá¸ááᯠáááŻáááŻááąáá°ááťá áááŻáááŻáĄáŹá¸ááąáŹááşá¸ááźáŽá¸ áĄááŻáśá¸ááźáŻááá˝ááşáá°ááąáŹááŻáśá
áśáĄááźá
áş ááźáąáŹááşá¸áá˛ááąá¸áááşá áááŻáˇááźáąáŹááˇáşá ááąáá°ááťááŹá¸áááşáááşáĄáá˝ááşá áááşáááş operating system ááᯠvirtual machine áá
áşááŻáážááˇáş áĄááźááşá¸ááťááşá¸ áážááŻááşá¸áážááşáááŻááşáááşá
áĄááŻáśá¸ááźáŻáá°ááťáŹá¸áĄáŹá¸ áááşáááşáážáŻá
áá
áşáĄáŹá¸ áĄááááˇáşááťáŹá¸ááąá¸áááŻááşáááş áá˝ááˇáşááźáŻááŹá áááŻáˇááźáąáŹááˇáş ááááŻááááşáá
áşááŻááŻááşááąáŹááşááźááşá¸á áážááşááŹááşáá˝á˛ááąááźááşá¸á áááŻááşáá
áşááŻááá°ááźááşá¸á
áááşááźááˇáş) ááááŻááááşááᯠvirtual machine áá
á˝ááşá¸áááşááťáŹá¸ááᯠáĄááŻáśá¸ááźáŻáááŻááşáááşá API ááᯠ(áĄáááŽááąá¸áážááşá¸ ááááŻááááşá¸áááşá¸ áĄááşááŹááąáˇá
áş) áážááˇáş ááŻááşá¸ááąáŤáşáááŻáážáŻ (ááąáŤáşáááŻáážáŻ) áááŻáˇ ááźáŻááŻááşáááŻááşáááşá ááŻáśáážááşáááşáááşáážáŻá
áá
áşáááş ááŹáážááˇáşááťáŽááąáŹ á
áá
áşááąáŤáşáááŻáážáŻááťáŹá¸ááᯠááźáŻááŻááşáááŻááşá
áąááŤáááşá
ááąáŹááşááŻáśá¸áĄááąááźááˇáşá virtualization áááş ááááŻááááşááťáŹá¸á
á˝áŹááᯠrun áááş (CPU áááŻááťážááąááźááşá¸) áážááˇáş áááşá¸áááŻáˇá áá˝ážááşááźáŹá¸ááťááşááťáŹá¸áážááˇáş ááąááŹááťáŹá¸ááᯠáá
áşááźááŻááşáááş áááşááąáŹááşááźááˇáşáážáŻáááŻááşáááş (áááŻáˇááźáąáŹááˇáş memory ááťážááąááźááşá¸) áážááˇáş disks ááťáŹá¸ (áááŻáˇááźáąáŹááˇáş I/O á
ááşáá
ášá
ááşá¸ááťáŹá¸ááᯠááťážááąááźááşá¸) áááŻáˇááᯠáá˝ááˇáşááźáŻááąá¸ááąáŹááźáąáŹááˇáşá áááşáááşáážáŻá
áá
áşáááŻáááşá¸ ááąáŤáşáááŻááŤáááşá áĄáááşá¸áĄááźá
áşáááşááąááťáŹá ááááŻáááşááŹá áá
áşááşáážááˇáş áááşáááŻáᎠáá
áşááŻá
áŽáááş á
áá
áşá áĄáááşá¸áĄááźá
áşáá
áşááŻááźá
áşááźáŽá¸á áááŻáˇááźáąáŹááˇáş á¤áááşáááşáážáŻá
áá
áşá áĄáááşá¸ááášáááťáŹá¸áá˛ááž áá
áşááŻáááş á¤áááşáááşáážáŻá
áá
áşá ááŻááşááąáŹááşáážáŻáĄááąáŤáş áá°áááşá ááááąáŹááşá
á˝áŹá áááŻá¸ááŹá¸á
á˝áŹ ááŻááşááąáŹááşááźááşá¸ áááŻáˇáááŻááş áĄááźááşáĄáážááşáĄáŹá¸ááźááˇáş á¤áĄáááşá¸áĄááźá
áşááťáŹá¸ááᯠá
áŽááśáááˇáşáá˝á˛áááş ááŹáááşááźá
áşááŹáááşá ááŽáááŻááşá¸ááŻááşááŹá¸áááşá
CPU virtualization
áĄáąáŹááşááŤáĄá
áŽáĄá
ááşááᯠá
ááşá¸á
áŹá¸ááŤá
(https://www.youtube.com/watch?v=zDwT5fUcki4&feature=youtu.be)
áááşá¸áááş áááşáááˇáş áĄáá°á¸ááŻááşááąáŹááşááťááşááťáŹá¸áááŻááťáž ááŻááşááąáŹááşááźááşá¸ááážáááŤá áĄáážááşáážáŹ áááşá¸ááŻááşááąáŹááşáááťážáááş ááŻááşááąáŹááşááťááşáá
áşááŻááŻááąáŤáşáááŻááźááşá¸ááźá
áşáááşá ááťááşáááş() áááŹáááşáážáŹ áá
áşá
áášáááˇáşáá˝ááşááźáŽá¸ááąáŹááş áĄááťáááşá
á
áşááąá¸ááźáŽá¸ ááźááşáááşááźá
áşáááşá áááŻáˇááźáąáŹááˇáşá áááşá¸áááş áĄááŻáśá¸ááźáŻáá°áĄáŹá¸ áĄááźááşá¸áĄááŻáśáá
áşááŻáĄááźá
áş ááźááşáá˝áŹá¸ááąáŹ á
áŹááźáąáŹááşá¸ááᯠáĄáááˇáşáĄáááşááážá ááźááşááŻááşáááşá
ááŽááááŻááááşááᯠrun ááźáŽá¸ argument áĄááźá
áş "A" ááᯠááťáąáŹáşáááŻááşááźááĄáąáŹááşá ááááşáááş áĄáá°á¸á
áááşáááşá
áŹá¸á
ááŹáááŻááşá፠- á
áá
áşáááş ááŹááşááąáŹááş "A" ááᯠáĄááŤáĄáŹá¸ááťáąáŹáşá
á˝áŹ ááźááááˇáş ááááŻááááşáá
áşááŻááᯠáááŻá¸áááŻá¸áážááşá¸áážááşá¸ ááŻááşááąáŹááşáááşá
ááᯠáá°ááŽááąáŹ ááááŻááááşááťáŹá¸á
á˝áŹááᯠááŻááşááąáŹááşááąááąáŹáşáááşá¸ áááŻáááŻáážááşá¸áááşá¸á
áąáááş á
áŹááŻáśá¸áĄááťááŻá¸ááťááŻá¸ááᯠááŻááşááŻááşáááˇáşáĄá፠áá˝áąá¸ááťááşáážáŻááᯠá
ááşá¸ááźááˇáşááźááŤá
ááŻáˇá á¤ááá
ášá
áá˝ááşá ááááşáááşáĄáááşá¸áááşáá˝á˛ááźáŹá¸ááááˇáşáááşá ááťá˝ááşáŻááşáááŻáˇáá˝ááş ááááŻáááşááŹáá
áşááŻáážáááąáŹáşáááşá¸á ááááŻááááşááᯠáá
áşááźááŻááşáááşááŻááşááąáŹááşáááşá áááşáááŻááźá
áşááŹáá˛? ááŤááąáááˇáş ááŹáˇááşáá˛áá˛áˇ á
á˝ááşá¸ááąáŹááşáááŻááşáááşáĄáá°áĄááŽáááŤáᲠáááşáááşáážáŻá
áá
áşáᏠáááşááąáŹááşáááşáážáŹá¸ááźá
áşá
áąáá˛áˇ áĄááŹáá
áşáᯠáááşááŽá¸ááąá¸ááźáąáŹááşá¸ áá˝ááşááąáŤáşááŹááŤáááşá á
áá
áşáá˝ááş ááááŻáááşááŹáĄááťáŹá¸áĄááźáŹá¸áážáá ááŻááşáááŻááşá¸áááŻááşááŹááááŻáááşááŹáá
áşááŻáááşá¸ááᯠááŽáĄááŻááŽáĄá áĄáááˇáşáĄáááşááážáááąáŹ áĄááąáĄáá˝ááşáĄááźá
áş ááźáąáŹááşá¸áá˛áᏠáá
áşááźááŻááşáááşááŻáááşáááąáŹ ááááŻááááşááťáŹá¸ááᯠááŻááşááąáŹááşáááŻááşá
áąáááşáᯠáááşááąáŹááşáááşáážáŹá¸ááźá
áşá
áąáááşá ááŤááᯠááášááŹááááŻáˇ ááąáŤáşáááşá CPU virtualization.
á¤ááŻáśáá˝ááş ááááŻááááşááťáŹá¸á
á˝áŹááᯠáá
áşááźááŻááşáááşáááşá¸ ááŻááşááąáŹááşáááŻááŤáá áááşáááˇáşáĄááŹááᯠá
áááşááŻááşááąáŹááşáááşáááşá¸á OS á "áá°ááŤáááťáŹá¸" áááş á¤ááąá¸áá˝ááşá¸áĄáá˝ááş ááŹáááşáážáááŤáááşá áá°ááŤáááťáŹá¸ááᯠOS áážá ááąááŹááťáŹá¸á
á˝áŹáá˝ááş áĄááŻáśá¸ááźáŻááźáŽá¸ á¤áá˛áˇáááŻáˇááąáŹ ááąá¸áá˝ááşá¸ááťáŹá¸ááᯠááźáąááąá¸áᏠOS áĄááąáŹááşáĄáááşááąáŹáşáááˇáş áĄááźáąááś ááášáááŹá¸ááťáŹá¸ááźá
áşáááşá áááŻáˇááźáąáŹááˇáş OS á áĄáááşá¸ááášááááş áĄáááşá¸áĄááźá
áşáááşááąááťáŹáĄááźá
áş áážááááşá
Memory virtualization
áᲠMemory áááŻááźááˇáşááĄáąáŹááşá ááąááşááŽá
áá
áşááťáŹá¸áá˝ááş memory áááŻááşáááŻááşá¸áááŻááşááŹááŻáśá
áśááᯠbytes á array áá
áşááŻáĄááźá
áşáááŻááşá
áŹá¸ááźáŻáááşá. Memory áážáááşáááşá áááşáááşáážááşáááşáááŻáĄááşáááşá áá˛ááşááááşá
áŹáááşááąáŹááşáááşá ááąááŹááᯠááąá¸áááş áááŻáˇáááŻááş áĄááşááááşááŻááşáááşá áááşá¸ááᯠááąá¸ááááˇáşááąááŹáá˝ááş áá˛ááşá ááąááŹáážááˇáş ááááşá
áŹáááŻáááşá¸ áááş áááşáážááşáááŤáááşá
ááááŻááááşááŻááşááąáŹááşááąá
ááşáĄáá˝ááşá¸ Memory áááş áĄáááşáááźááşáááşááąáŹááşááąááŤáááşá ááááŻááááşáá
áşááŻáááş áááşá¸áááąááŹáá˝á˛áˇá
ááşá¸ááŻáśáá
áşááŻááŻáśá¸ááᯠmemory áá˝ááşááááşá¸áááşá¸ááźáŽá¸ áá˝ážááşááźáŹá¸ááťááşáĄááťááŻá¸ááťááŻá¸áááŻááŻááşááąáŹááşááźááşá¸ááźááˇáş áááşá¸áááŻáááşááąáŹááşááźááˇáşáážáŻáááşá áá˝ážááşááźáŹá¸ááťááşááťáŹá¸ááᯠMemory áá˛áá˝ááşáááşá¸ ááááşá¸áááşá¸ááŹá¸ááąáŹááźáąáŹááˇáş ááąáŹááşáá˝ážááşááźáŹá¸ááťááşáĄáá˝ááş ááąáŹááşá¸áááŻáážáŻáá
áşááŻá
áŽáĄáá˝ááş áááşá¸ááᯠáááşááąáŹááşááźááˇáşáážáŻáááŻááşáááşááźá
áşáááşá
malloc() ááąáŤáşáááşá
ááąáŤáşáááŻáážáŻááᯠáĄááŻáśá¸ááźáŻá áááşáááŻááŽá á§ááááŹááᯠáá˝á˛ááąááąá¸áááˇáş áĄáąáŹááşááŤááááŻááááşááᯠááŻáśá¸áááşááźááˇáşááŤá malloc () (https://youtu.be/jnlKRnoT1m0):
ááááŻááááşáááş áĄááŹááťáŹá¸á
á˝áŹááᯠááŻááşááąáŹááşáááşá ááááŚá¸á
á˝áŹá áááşá¸áááş áááşáááŻááŽáĄááťááŻáˇ (áááŻááşá¸ 7) ááᯠáá˝á˛ááąááąá¸áááşá áááŻáˇááąáŹááş áá˝á˛ááąááťááŹá¸ááąá¸áááˇáşáá˛ááş (áááŻááşá¸ 9) áááááşá
áŹááᯠááááˇáşááŻááşááŹá áá˝á˛ááąááťááŹá¸ááąá¸ááąáŹ áááşáááŻááŽá ááááĄáááŻááşáááŻáˇ ááŻáááŻááąá¸áááşá áááŻáˇááąáŹááşá ááááŻááááşáááş âpâ variable áážá ááááşá
áŹáá˝ááş áážááşááŹááşáá˝ááş ááááşá¸áááşá¸ááŹá¸ááąáŹ áááşáááŻá¸ááᯠáááŻá¸ááąá¸áááˇáş áá˝ááşá¸áááşáá
áşááŻáááŻáˇ áááşááąáŹááşáááşá áááşá¸áááş áááşá¸áááŻááşáááŻááşá ááŻááşáááşá¸á
ááş ID ááᯠááááˇáşááŻááşáááşá ááŻááşáááşá¸á
ááş ID áááş ááŻááşááąáŹááşááąáááˇáş ááŻááşáááşá¸á
ááşáá
áşááŻá
áŽáĄáá˝ááş ááŽá¸áááˇáşááźá
áşáááşá. áááášáá°ááťáŹá¸á
á˝áŹááᯠááŻááşáá˝ážááşáááŻááşááźááşá¸ááźááˇáş ááťá˝ááşáŻááşáááŻáˇáááş á
áááşáááşá
áŹá¸á
ááŹááąáŹááşá¸ááąáŹ ááááşááᯠáĄáśááŻááááááˇáşáááş- áááááá
ášá
áá˝ááşá áááşáááş ááŹáážáááŻááşáᲠáááášáá°ááťáŹá¸á
á˝áŹááᯠáá˝ááˇáşáááŻááşááťážááş ááááşá
áŹááťáŹá¸áááş áá˝á˛ááźáŹá¸áá˝áŹá¸ááŤáááşá ááŤááąáááˇáş ááŤá ááťá˝ááşááąáŹáşáááŻáˇáá˛áˇ ááŽáĄááŻááŽáĄáąáŹááşáážáŹ áááťááŤáá°á¸á ááąááşááŽááźááˇáşááąáážáŻááťáŹá¸áá˝ááş ááŻáśáážááşáĄáŹá¸ááźááˇáş áááşáááŻááŽááťáááşá¸ááŻááşááąáŹááşááźááşá¸ááᯠáá˝ááˇáşááŹá¸ááąáŹááźáąáŹááˇáş áážááşááŤáááşá áááşá¸ááᯠááááşááŤá ááťá˝ááşáŻááşáááŻáˇ ááťážáąáŹáşáááˇáşááŹá¸áááˇáş ááááşááᯠááážááááş - áá
áşááźááŻááşáááş ááŻááşááąáŹááşááąáááˇáş ááááŻááááşáážá
áşááŻá áážááşááŹááşááááşá
áŹááťáŹá¸áááş áá°ááŽáááşááźá
áşáááşá
ááááşáĄááąáážááˇáşá áá˝ááşáááşááąáŹááááŻááááşáážá
áşááŻáááş áááşá¸áááŻáˇááááŻááşáááŻááşááááşá
áŹááąááŹááťáŹá¸áážááˇáşáĄáá° áĄááŻááşááŻááşááźáąáŹááşá¸á áááşá¸áááş áááşá¸ááᯠááŻááşáááŻááşá¸áááŻááşááŹáážááşááŹááşáá˝ááş áááşáááşáážáŻá
áá
áşááźááˇáş ááŻáśááąáŹáşááŹá¸áááşá. áááŻáˇááźáąáŹááˇáş ááááŻááááşáá
áşááŻáĄáá˝ááşá¸áážá memory ááááşá
áŹááťáŹá¸áááŻáĄááŻáśá¸ááźáŻááźááşá¸áááş áĄááźáŹá¸áááşáááˇáşáááşá¸ááźááˇáşááťáž áááááŻááşáááşáááŻááşááźáąáŹááşá¸á ááááŻááááşáá
áşááŻá
áŽáá˝ááş áááşá¸ááááŻááşáááŻááşáážááşááŹááşáĄáááŻááşá¸ááᯠááŻáśá¸ááŻáśá¸ááťáŹá¸ááťáŹá¸ááąá¸ááŹá¸ááŻáśááááşá áááŻáˇááąáŹáş áááşáá˝áąáˇáá˝ááş ááŻááşáááŻááşá¸áááŻááşááŹáážááşááŹááşáááş áááşáááşáážáŻá
áá
áşááž á
áŽááśáááˇáşáá˝á˛áááˇáş ááťážááąáĄáááşá¸áĄááźá
áşáá
áşááŻááźá
áşáááşá
áážáąáˇááąáŹááşááŽáá˝ááşáážáŻ
áááşáááşáážáŻá áá áşááťáŹá¸áĄáá˝ááşá¸ áĄááąá¸ááŤááąáŹ áĄááźáąáŹááşá¸áĄááŹááťáŹá¸áĄáááş ááąáŹááşáá áşááŻáážáŹ - ááŽáá˝ááşáážáŻ. á¤áĄááŻáśá¸áĄáážáŻááşá¸áááş áá°ááŽááąáŹááááŻááááşáá áşááŻáĄáá˝ááşá¸ áĄááŹááťáŹá¸á á˝áŹááᯠáááźááŻááşáááşáááşá¸ ááŻááşááąáŹááşáááˇáşáĄááŤáá˝ááş ááźá áşááąáŤáşáááŻááşááąáŹ á áá áşáážá ááźáżááŹááťáŹá¸áĄááźáąáŹááşá¸ ááźáąáŹááąáŹáĄááŤáá˝ááş á¤áĄááŻáśá¸áĄáážáŻááşá¸ááᯠáĄááŻáśá¸ááźáŻáááşá áááşáááşáážáŻá áá áşáĄáá˝ááşá¸ááááş ááŽáá˝ááşáážáŻááźáżááŹááťáŹá¸ ááąáŤáşááąáŤááşááŹáááşá ááááş memory áážááˇáş processor virtualization áĽáááŹááťáŹá¸áá˝ááşá OS áááş áĄááŹááťáŹá¸á á˝áŹááᯠáá áşááźááŻááşáááşáááşá¸ á áŽááśáááˇáşáá˝á˛ááźáąáŹááşá¸ ááťá˝ááşáŻááşáááŻáˇ áááąáŹááąáŤááşáááş - áááşá¸áááş áááááŻááşáááşá¸á ááşááᯠá áááşáááşá áááŻáˇááąáŹááş ááŻáááá á áááşááźááˇáşá áá˝ááşááąáŤáşááŹáááˇáşáĄáááŻááşá¸ á¤áĄááźáŻáĄáá°áááş ááźáżááŹáĄááťááŻáˇááᯠáŚá¸áááşáá˝áŹá¸á áąáááŻááşáááşá áááŻáˇááźáąáŹááˇáş áĽáááŹáĄáŹá¸ááźááˇáş ááąááşááŽááąáŹ ááźááŻá¸ááťááŻá¸á áŻáś ááááŻááááşááťáŹá¸áááş áááŻáá˛áˇáááŻáˇááąáŹ áĄáááşáĄáá˛ááťáŹá¸ááᯠáá˝áąáˇááźáŻáśááśá áŹá¸ááááşá
áĄáąáŹááşááŤáĄá áŽáĄá ááşááᯠá ááşá¸á áŹá¸ááŤá
áááşáááŻááşááąáŹááşááťááşáážá ááááŻááááşáááş ááąáŤáşáááŻáážáŻááᯠáĄááŻáśá¸ááźáŻá á
áŹáá˝á˛áážá
áşááŻááᯠáááşááŽá¸áááşá pthread_create(). á¤áĽáááŹáá˝ááşá thread áá
áşááŻáĄáŹá¸ áĄááźáŹá¸ááŻááşááąáŹááşááťááşááťáŹá¸áážááˇáşáĄáá° áá°ááŽááąáŹ memory space áá˝ááş ááŻááşááąáŹááşááąáááˇáş function áá
áşááŻáĄááźá
áş áá°ááááŻááşááźáŽá¸á áá
áşááťáááşáááşá¸áá˝ááş function áá
áşááŻáááşáááŻá ááŻááşááąáŹááşááąááŤáááşá á¤áĽáááŹáá˝ááşá thread áá
áşááŻá
áŽáááş ááŻááşááąáŹááşááťááşááᯠá
áááşááźáŽá¸ ááŻááşááąáŹááşáááşá worker() áááş variable áááŻáááŻá¸áážááşá¸á
á˝áŹáááŻá¸á
áąáááşá,.
áĄááźááşá¸áĄááŻáś 1000 ááźááˇáş á¤ááááŻááááşááᯠrun ááźááŤá ááŻáˇá áááş áááˇáşáážááşá¸ááŹá¸áááˇáşáĄáááŻááşá¸á ááźááŻá¸áá áşááŻá áŽáááş ááááşá¸áážááşááᯠáĄááźáááş 2000 áááŻá¸ááŹá¸ááąáŹááźáąáŹááˇáş ááááşáááş 1000 ááźá áşáááˇáşáááşá áááŻáˇááąáŹáşá áĄááŹáĄáŹá¸ááŻáśá¸áááş á¤ááťážááąáŹááşááááŻá¸áážááşá¸ááŤá áááşááŤáááşá፠áááşááŤáááşá፠ááźááşá¸áĄáŹá¸áĄá áŽáĄá áĽáşááźááˇáş ááááŻááááşááᯠrun ááźááŤá ááŻáˇá
áĽáááŹá 100000 ááᯠááááşá¸áá
áşááŻáááˇáşáá˝ááşá¸ááźááşá¸ááźááˇáşá áĄáá˝ááşááᯠááśááŤááş 200000 áĄááźá
áşááźááşááááşáᯠááťá˝ááşáŻááşáááŻáˇ ááťážáąáŹáşáááˇáşááŤáááşá áááŻáˇááąáŹáşá ááťá˝ááşáŻááşáááŻáˇáááş ááśááŤááş 100000 ááᯠáĄááźáááşááťáŹá¸á
á˝áŹ run ááŤá áĄááźáąáážááşááᯠááźááşááŻáśáááşáááᲠáĄááťááŻá¸ááťááŻá¸ááąáŹ áážáŹá¸áá˝ááşá¸ááąáŹ áĄááźáąááťáŹá¸áááŻáááşá¸ ááážááááşááźá
áşáááşá ááááşá¸ááááşá¸ááᯠáááŻá¸ááźážááˇáşáááşáĄáá˝ááş ááŻááşááąáŹááşááťááşááŻáśá¸ááťááŻá¸ áááŻáĄááşáááş - áážááşááŹááşááž ááśááŤááşááᯠááŻááşáá°ááźááşá¸á áááŻá¸ááźááşá¸áážááˇáş ááśááŤááşááᯠááźááşááąá¸ááźááşá¸ á
áááˇáşáĄááťááşáá˝ááş áĄááźáąáážáŹ áĄááťáŻáśá¸áááşááŤáááşá á¤áá˝ážááşááźáŹá¸ááťááşáĄáŹá¸ááŻáśá¸ááᯠáĄááşáááşáááşá¸áĄá (áĄáŹá¸ááŻáśá¸áá
áşááźááŻááşáááşáááşá¸) ááŻááşááąáŹááşááźááşá¸áááŻááşááąáŹááźáąáŹááˇáşá á¤áá˛áˇáááŻáˇááąáŹ áá°á¸áááşá¸áááˇáşáĄááŹááťáŹá¸ ááźá
áşáá˝áŹá¸áááŻááşáááşá á¤ááźáżááŹááᯠprogramming ááŻááąáŤáşáááşá ááźááŻááşáá˝á˛áĄááźáąáĄááą. áááááąáŹáĄáááŻááşáĄáááˇáşáá˝ááş áĄááťááŻá¸áĄáááşáááááąáŹ áááşáá˝á˛áˇááťáŹá¸áááş áááşá ááŻááşááąáŹááşááťááşáá
áşááŻááŻá á
á˝ááşá¸ááąáŹááşáááşááᯠáááááŻááşá
áąáááŻááşáááşá
source: www.habr.com