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
