×ק××× ×Š× ×ַ׀֌עך××××× × ×¡×ס××¢×ס
××× ×××ך! ××× ×××Öž×× ××× ×Š× ××š×¢× ××¢× ×Š× ×××× ××€×עךק××Ö·×ק××Ö·× ×Ö· סעך××¢ ×€×× ââââ×ַך××ק××¢×-×××עך×ע׊×× ××¢× ×€×× ×××× ×ש×ק×Ö·×××¢ ×××עך×Ö·××ך ××× ×××× ×××× ×× × - OSTEP. ×עך ××Ö·×עך××Ö·× ××סק×Ö·×¡× ××Ö·× ×¥ ×××€ÖŒ×× ×× ×ַך××¢× ×€×× ××× ×קס-××× ×֞׀֌עך××××× × ×¡×ס××¢××¢×, × ××××× ×ַך××¢× ××× ×€ÖŒ×š×ַסעס×Ö·×, ×€×ַךש××× ×¡×§×¢××ש××עך×, ××֌ך×× ××× ×× ×עךע ×¢× ××¢× ×§×Ö·××€ÖŒ×Öž×× ×Ö·× ×¥ ×××֞ס ××Ö·×× ×Ö· ××Öž××¢×š× ×ַס. ××ך ×§×¢× ×¢× ××¢× ×× ×֞ך×××× ×¢× ×€×× ×Ö·××¢ ××Ö·×עך××Ö·×ס ××Öž
××Ö·× ×ַך××¢× ××××£ ××¢× ××¢××¢ ×§×¢× ×¢× ×××× ××¢×€Ö¿×× ×¢× ××Öž:
- ×֞ך×××× ×¢×:
pages.cs.wisc.edu/~remzi/OSTEP/Homework/homework.html - ×֞ך×××× ×¢×:
github.com/remzi-arpacidusseau/ostep-code - ×××× ×€ÖŒ×¢×š××¢× ××¢× ×Ö·××Ö·×€ÖŒ×××ש×Ö·×:
github.com/bykvaadm/OS/tree/master/ostep
×× ×עךע ×××××:
××ך ×§×¢× × ×××× ×§×Öž× ×ך×Öž×××š× ×××× ×§×Ö·× ×Ö·× ××××£
××× ×¡ ק×ק ××× ×× ××¢×š×¡× ×€×× ××Ö·××¢× ××Ö·× ×Ö·×ס×ך×ַק׊××¢ ×Ö·× ×× ×ַס ××× ×Š× ×××עך×: ×עך ׀֌ך×֞׊עס. ×× ××¢×€Ö¿×× ×׊××¢ ×€×× ââ××¢× ×€ÖŒ×š×֞׊עס ××× ××Ö·× ×¥ ׀֌ש×× - עס ××× ×€×××¡× ××ק ׀֌ך×Öž×ך×Ö·×. ×עך ׀֌ך×Öž×ך×Ö·× ××× ××× ×Ö· ××××€××ַס ××Ö·× ××××£ ××¢× ××סק - עס ××× ×Ö· ס××× ×€×× ×× ×¡×ך×ַקש×Ö·× × ××× ×¢×€×©×¢×š ×¢×××¢××¢ ס××Ö·××ק ××Ö·×× ×××ך×× ×Š× ×××× ××Öž× ×ש×. עס ××× ×× ×ַס ×××֞ס × ×¢×× ×× ×××עס ××× ××××€× ×××, ×ך×Ö·× ×¡×€×֞ך××× × ×× ×€ÖŒ×š×Öž×ך×Ö·× ××× ×¢×€ÖŒ×¢×¡ × ×׊×ק.
ך××Ö¿ ×Öž×€×, ××××¢×š× ××××× ×Š× ××××€× ×עך ××× ×××× ×€ÖŒ×š×Öž×ך×Ö·× ××× ×עך ××¢×××קעך ׊×××, ××ש×, ××ך ×§×¢× ×¢× ××××€× ×Ö· ×××¢×עךעך, ââש׀֌××, ××¢×××¢ ש׀֌××עך, ××¢×§×¡× ×š×¢××ַק××֞ך ××× ×× ××× ××××£ ×××× ××Ö·×€ÖŒ××Ö·×€ÖŒ. ××× ×€×ַק×, ×Ö· ×××€ÖŒ×ש ס×ס××¢× ×§×¢× ×¢× ××××€× ××¢× ×¡ ×Öž×עך ××× ×עך×עך ×€×× ×€ÖŒ×š×ַסעס×Ö·× ×¡××××Ö·××××× ××ַס××. ×עך ×€×Ö·×§× ×××× ×× ×¡×ס××¢× ×ך×× ×עך ×Š× × ×׊×, ××ך ק××× ××Öž× ××Öž×× ×Š× ××Öž×š× ×Š× ×× ×§×€ÖŒ× ××× ×€×š××, ××ך × ×֞ך ××××€× ×××××.
××֞ס ך××××Ö·× ×× ×€ÖŒ×š×Öž×××¢×: ××× ×Š× ×Š×ש××¢×× ×× ×××××××¢ ×€×× ââ×€×××¢ ק׀֌×ס? ××× ×§×¢× ×¢× ×× ×ַס ××Ö·×× ×× ×××××××¢ ×€×× ââ×Ö· ×ÖŒ××¢× ×× ×€×Ö·× ×Ö·× × ××עך ×€×× ×§×€ÖŒ×ס, ××€××× ×××× ××ך × ×֞ך ××Öž×× ×××× ×ש×××ת ק׀֌×?
×× ×ַס קך××××¥ ××¢× ×××××××¢ ×××š× ×§×€ÖŒ× ×××ך×××Ö·××××Ö·×××Öž×. ×××š× ×¡××ַך××× × ×××× ×€ÖŒ×š×֞׊עס, ××Ö·× ×¡××֞׀֌׀֌×× × ×¢×¡, ×Öž× ×××× ×× ×× ×עך ׀֌ך×֞׊עס, ××× ×Ö·××× ××××£, ×× ×ַס ×§×¢× ×¢× ××Ö·××× ×× ×××××××¢ ×Ö·× ×¢×¡ ××¢× ×¢× ×€×××¢ ×××ך×××Ö·× ×§×€ÖŒ×ס, ×××¢× ××× ×€×Ö·×§× ×¢×¡ ×××¢× ×××× ×××× ×¢×š ×Öž×עך ×עך ×ש×××ת ׀֌ך×ַסעסעך×. ××¢× ××¢×× ×ק ××× ×עך××€× ×Öž×€ÖŒ×××× ×€×× ×§×€ÖŒ× ×š×¢×¡××š×¡× ×××š× ×Š×××. ××¢× ××¢×× ×ק ×Ö·××Ö·×× × ×׊עךס ×Š× ××××€× ××× ×€×××¢ ק×Ö·× ×§×¢×š×Ö·× × ×€ÖŒ×š×ַסעס×Ö·× ××× ××× ×××××. ×עך ׀֌ך××Ö·× ×€×× ××¢× ×××××× × ××× ×€×֞ךש××¢××× × - ××××Ö·× ×××× ×× ×§×€ÖŒ× ××× ×©×¢×š× ×××š× ×¢×××¢××¢ ׀֌ך×ַסעס×Ö·×, ××¢×עך ׀֌ך×֞׊עס ×××¢× ×××× ×€ÖŒ×š×Ö·×¡×¢×¡× ×עך ס××Öž×××.
×Š× ×× ×¡×ך×××¢× × ×§×€ÖŒ× ×××ך×××Ö·××××Ö·×××Öž×, ××× ×¡×€ÖŒ×¢×Š××¢× ×Š× ××Öž× ××֞ס ××¢××× ×, ×× ×ַס ××ַךף ש×××Š× ××××£ × ××עך×ק ××× ×××× ××ך××. × ××עך×ק ××ך×× ×©×××Š× ××× ×עך××€× ×עק×Ö·× ×××Ö·×× ××¢× ×¢× × ××עך×ק-××ך×× ××¢×××Öž×ס ×Öž×עך ׀֌ך×Öž××֞ק×Öž×ס ×××֞ס ×× ×¡×ך×××¢× × ×× ×€×ך××× ×× ×××× ×€×× ×× ×€×Ö·× ×קש×Ö·× ×Ö·××××. ×Ö· ×××ש׀֌×× ×€×× ×Ö·××Ö· ×€×Ö·× ×קש×Ö·× ×Ö·×××× ××× ×§×Öž× ××¢×§×¡× ×¡××××ש×× ×, ×××֞ס ××× ×× ×ַס ×× ×€×××ק××× ×Š× ××Ö·××× ×××× ×€ÖŒ×š×Öž×ך×Ö·× ××× ××××€× ×× ×× ×עך ׀֌ך×Öž×ך×Ö·× ××××£ ×× ×€ÖŒ×š×ַסעסעך. ×× ×Š××× ×Öž×€ÖŒ×××× ××× ×××€ÖŒ××Ö·××¢× ×Ö·× ××× ×Ö·××¢ ××Öž××¢×š× ×֞׀֌עך××××× × ×¡×ס××¢××¢×.
××××£ ש׀֌××¥ ×€×× ×× ×עק×Ö·× ×××Ö·×× ××× ×¢×××¢××¢ ××Öž××ק ××¢×××× ××× ×× ×ַס, ××× ×× ×€×Öž×š×¢× ×€×× "×€ÖŒ×Ö·××ַס××". ×€ÖŒ×Öž××××ק ××× ×Ö· ×××עך ××ַש××ס-×××× ×Ö·××עך×××Ö·× ×€Ö¿×ַך ×× ×֞׀֌עך××××× × ×¡×ס××¢×. ×Ö·××Ö· ×€ÖŒ×Ö·××ַס××, ââ××ש×, ××ַש×××¡× ×××֞ס ׀֌ך×Öž×ך×Ö·× ××Öž× ×××× ××Öž× ××©× (×€Ö¿×× ×Ö· ךש××× ×€×× ×§×Ö·××Ö·× ××) עךש×עך. ×Ö·×××, ×€Ö¿×ַך ×××ַש׀֌××, ××¢× ×€ÖŒ×š×Öž×××¢× ×××¢× ×××× ×¡×Ö·×××× ×××š× ×Ö· ×€ÖŒ×Öž××××ק ×עך××€× ×¡×§×¢××ש××עך (סקע××ש×××× × ×€ÖŒ×Öž××××ק) ××× ×××¢× ×ש×××× × ×Ö· ×××××× ×, עס ×××¢× ×××× ×××××× ×××š× ×Ö·××Ö· ××Ö·×× ×××: ס××ַך××Ö·×€ÖŒ ×עש××××¢ (×××֞ס ׀֌ך×Öž×ך×Ö·× ××× ××Öž× ××©× ×× ××Öž× ××¢×¡× ××× ×× ×ע׊××¢ ××× ××), ×××֞ס ××ַסע ××¢× ×€ÖŒ×š×֞׊עס ק×ַך×× (×××֞ס ×××׀֌ס ×€×× ××××× ××¢× ×¢× ××Öž× ×ש×), ×€×֞ךש××¢××× × ××¢×ך×קס (×Š× ×× ×¡×ס××¢× ××× ×Öž×€ÖŒ××××××¢× ×€Ö¿×ַך ×× ×עך×ַק×××× ×× ×עך×ַקש×Ö·× ×Öž×עך ×€Ö¿×ַך ×ך××€ÖŒ××) ××× ×Ö·××× ××××£.
×Ö·×ס×ך×ַק×××Öž×: ׀֌ך×֞׊עס
×× ×Ö·×ס×ך×ַק׊××¢ ×€×× ââ×Ö· ×€×××¡× ××ק ׀֌ך×Öž×ך×Ö·× ×¢×§×¡×ַק××××Ö·× ×××š× ×× ×֞׀֌עך××××× × ×¡×ס××¢× ××× ×××֞ס ××ך ך××€× ×€ÖŒ×š×֞׊עס. ××× ×עך××× × ×€×š×עך, ×Ö· ׀֌ך×֞׊עס ××× ×€×©×× ×Ö· ×€×××¡× ××ק ׀֌ך×Öž×ך×Ö·×, ××× ×§××× ×× ×¡××Ö·× ××Ö·× ××Ö·× ×Š×××. × ×€ÖŒ×š×Öž×ך×Ö·× ××× ×××֞ס ××ך ×§×¢× ×¢× ××ַק×××¢× ×§×׊עך ××× ×€Ö¿×֞ך××ַ׊××¢ ×€×× ââ×€×ַךש××× ×¡×ס××¢× ×š×¢×¡××š×¡× ×××֞ס ×עך ׀֌ך×Öž×ך×Ö·× ×ַקסעס ×Öž×עך ×ַ׀עקץ ×עש×ַס ×××× ××ך××€×ך×× ×.
×Š× ×€Ö¿×ַךש×××× ×× ×§×Ö·××€ÖŒ×Öž×× ×Ö·× ×¥ ×€×× ××¢× ×€ÖŒ×š×֞׊עס, ××ך ××Ö·×š×€Ö¿× ×Š× ×€Ö¿×ַךש×××× ×× ×©××Ö·× ×€×× ×× ×¡×ס××¢×: ×××֞ס ×× ×€ÖŒ×š×Öž×ך×Ö·× ×§×¢× ×¢× ××××¢× ×¢× ×Öž×עך ××××©× ×עש×ַס ×××Ö·× ×֞׀֌עך×ַ׊××¢. ××× ×§××× ×Š×××, ××ך ××Ö·×š×€Ö¿× ×Š× ×€Ö¿×ַךש×××× ×××֞ס ×ס×××ת ×€×× ×× ×¡×ס××¢× ××¢× ×¢× ××××××ק ×€Ö¿×ַך ×× ××ך××€×ך×× × ×€×× ×× ×€ÖŒ×š×Öž×ך×Ö·×.
×××× ×¢×š ×€×× ×× ×§××֞ך ××× ×עך ××Öž× ×ס×××ת ×€×× ×× ×¡×ס××¢× ×©××Ö·× ×Ö·× ×עך ׀֌ך×֞׊עס ×××× ××× ××֌ך××. ×× ×¡×ך×ַקש×Ö·× × ××¢× ×¢× ×××× ××× ××֌ך××. ×× ××Ö·×× ×××֞ס ×× ×€ÖŒ×š×Öž×ך×Ö·× ××××¢× × ×Öž×עך שך×××× ××× ×××× ×××× ××× ××֌ך××. ××××, ×עך ××֌ך×× ×××֞ס ×Ö· ׀֌ך×֞׊עס ×§×¢× ×¢× ×Ö·×ךעס (×עך××€× ×Ö·×ךעס ×€ÖŒ××Ö·×¥) ××× ×××× ×€×× ××¢× ×€ÖŒ×š×֞׊עס.
×××× ×××× ×€×× ×× ×¡×ס××¢× ×©××Ö·× ××¢× ×¢× ×š×¢××ש×ס×עך×. ×€×××¢ ××× ×¡×ך×ק׊×עס ××¢× ×¢× ×Ö·×××¢× ×Š× ××××©× ×× ×××¢×š× ×€×× ×š×¢××ש×ס××¢×š× ×Öž×עך ××××¢× ×¢× ×××עך ××עך×, ××× ×Ö·××× ×š×¢××ש×ס××¢×š× ×××¢×š× ×××× ×Ö· ××××××ק ×××× ×€×× ×× ×֞׀֌עך×ַ׊××¢ ×€×× ââ××¢× ×€ÖŒ×š×֞׊עס.
עס ××Öž× ×××× ×× ××¢××××× ×Ö·× ×× ××ַש×× ×©××Ö·× ××× ×××× ×עש××€× ×€×× ×¢×××¢××¢ ס׀֌ע׊××¢× ×š×¢××ש×ס×עך×. ××ש×, IP - ×× ×¡×ך×ק×××Öž× ×××Ö·×× - ×Ö· ×××Ö·×× ×Š× ×× ××××¢× ×Ö·× ×עך ׀֌ך×Öž×ך×Ö·× ××× ×עך××××Ö·× ×¢×§×¡×ַק××××× ×. עס ××× ×××× ×Öž× ××××× ×××Ö·×× ××× ×©××Ö·××ת ×Š× ××× ×š×Ö·× ×××Ö·××, ×××֞ס ××¢× ×¢× ××¢× ××Š× ×Š× ×€×ך×: ×€Ö¿×× ×§×Š××¢ ×€ÖŒ×ַך×Ö·××¢×עךס, ××××¢ ××עך××Ö·××Ö·×× ××× ×Š×ך×קק×××¢× ×××¢× ××.
׊×× ×¡××£, ××××× ×Öž×€× ×ַקסעס ROM (××××¢× ×¢×-××××× ××֌ך××). ×× "××× / ×Öž" (×ַך××Ö·× / ךע×××××Ö·×) ××× ×€Ö¿×֞ך××ַ׊××¢ ××Öž× ×ַך××Ö·× × ×¢××¢× ×Ö· ךש××× ×€×× ×עקעס ×××Š× ×¢×€×¢× ×¢× ×××š× ××¢× ×€ÖŒ×š×֞׊עס.
׀֌ך×֞׊עס ×Ö·×€ÖŒ×
××× ×¡×ך ×Š× ×€Ö¿×ַך××¢×¡×¢×š× ××× ××עך ×€×ךש××× × ×€×× ××× ×עך ׀֌ך×֞׊עס ×ַך××¢×, ××Öž××ך ××¢×š× ×¢× ×××ש׀××× ×€×× ×¡×ס××¢× ×š××€× ×××֞ס ××Öž× ×××× ×ַך××Ö·× ×עךע×× × ××× ×§××× ×֞׀֌עך××××× × ×¡×ס××¢× ×Š×××× ×. ×× ×Ö·×€ÖŒ×ס ××¢× ×¢× ×× ×××Š× ××× ×××× ×Öž×עך ×× ××¢×š× ×€×Öž×š×¢× ××××£ ק××× ×ַס.
â ××Ö·×× (ש×Ö·×€×× ×): ×× ×ַס ×××× ×ַך××Ö·× × ×¢××¢× ×¢×××¢××¢ ××¢××Öž× ×××֞ס ×Ö·××Ö·×× ××ך ×Š× ×©×Ö·×€Ö¿× × ××Ö·×¢ ׀֌ך×ַסעס×Ö·×. ×××¢× ××ך ×ַך××Ö·× ×Ö· ××Ö·×€Ö¿×¢× ××× ×× ×××֞ק××Ö·× ×Öž×עך ק×Ö·×עך ×Ö· ×Ö·×€ÖŒ××ַק××ש×Ö·× ×××š× ××Öž×€ÖŒ×-ק××ק×× × ××××£ ×Ö· ×××××, ×Ö· ך××£ ××× ×עש××§× ×Š× ×× ×ַס ×Š× ×©×Ö·×€Ö¿× ×Ö· × ××Ö·×¢ ׀֌ך×֞׊עס ××× ××Ö·× ×§×Ö·×עך ×× ×¡×€ÖŒ×¢×¡××€××¢× ×€ÖŒ×š×Öž×ך×Ö·×.
â ××Ö·×××Ö·××ק×× ×: ××× × ×¢×¡ ××× ×Ö· ׊×××× × ×€Ö¿×ַך קך×××××× × ×Ö· ׀֌ך×֞׊עס, ×× ×ַס ××Öž× ×××× ×Š×ש××¢×× ×× ×€×××ק××× ×Š× ×Š×××× ××¢× ×× ××Ö·×××Ö·××ק×× × ×€×× ×Ö· ׀֌ך×֞׊עס. ך××Ö¿ ××××× ×××¢× ××¢××××× ×××¢× ×Öž× ××××× ××× ×€×Ö·×š×¢× ×××§× ××××£ ×××עך ××××× ×××¢× ××× ××××€×. ×Ö·× ×עךש ×עך ××Ö·× ×׊עך ×××Öž×× ××× ×Š× ×§×¢× ×¢× ×Š× ××××× ××× ××× ×Ö·××× ×Ö· ׊×××× × ×Š× ××Ö·××× ××¢× ×€ÖŒ×š×֞׊עס ×××Öž×× ×××× × ×׊×ק.
â ×××ַך×× (×××ך××): ××× ×¢×¡ ××× × ×׊××¢× ×Š× ×××ַך×× ×€Ö¿×ַך ×Ö· ׀֌ך×֞׊עס ×Š× ×€×Ö·×š×¢× ××ק×, ×Ö·××× ×¢×××¢××¢ ×× ×עך׀××ס×× ××¢× ×¢× ×Š××עש××¢×× ×××֞ס ׊×ש××¢×× ×× ×€×××ק××× ×Š× ×××ַך××.
â Misc Control (×€×ךש××××¢× ×¢ ק×Öž× ×ך×Öž×): ××× ×Ö·××ש×Ö·× ×Š× ××Öž×š× ××× ×××ך×× ×€Ö¿×ַך ××¢× ×€ÖŒ×š×֞׊עס, עס ××¢× ×¢× ×××× ×× ×עךע ×€×ַךש××× ×§×Öž× ×ך×Öž× ××¢×××Öž×ס. ×€Ö¿×ַך ×××ַש׀֌××, ך××Ö¿ ×֞׀֌עך××××× × ×¡×ס××¢××¢× ×Š×ש××¢×× ×× ×€×××ק××× ×Š× ×€×š××š× ×Ö· ׀֌ך×֞׊עס (××Ö·××× ×××× ××ך××€×ך×× × ×€Ö¿×ַך ×Ö· ×××עך ׊×××) ××× ××¢×š× ×Öž× × ×¢××¢× ××× ××××עך (×€×֞ך××¢×Š× ××ך××€×ך×× ×)
â ××ַ׊ע×× (ש××Ö·×): עס ××¢× ×¢× ×€×ַךש××× ×× ×עך׀××ס×× ×Š× ××ַק×××¢× ×¢×××¢××¢ ××× ×€Ö¿×֞ך××ַ׊××¢ ×××¢×× ××¢× ×¡××Ö·××ס ×€×× ×Ö· ׀֌ך×֞׊עס, ×Ö·××Ö· ××× ××× ××Ö·× × ×¢×¡ ××× ×€×××¡× ××ק ×Öž×עך ××× ×××֞ס ש××Ö·× ×¢×¡ ××× ××׊×.
׀֌ך×֞׊עס קךע×Ö·×××Öž×: ××¢××Ö·××ס
×××× ×¢×š ×€×× ×× ×ש×ק×Ö·×××¢ ×××× ××× ××× ×€ÖŒ×× ×§× ××××× ××¢× ×¢× ×€×ך×××× ×××¢× ××× ×€ÖŒ×š×ַסעס×Ö·×. ס׀֌ע׊××¢× ××× ×× ×ַס ×€ÖŒ×קס ×ַך×××£ ××× ××××€× ×× ×€ÖŒ×š×Öž×ך×Ö·×. ××× ×€ÖŒ×× ×§× ×עך ׀֌ך×֞׊עס ××× ××ש××€×.
עךש×עך ×€×× ×Ö·××¢, ×× ×ַס ×××× ××Öž×× ×× ×€ÖŒ×š×Öž×ך×Ö·× ×§×Öž× ××× ×¡××Ö·××ק ××Ö·×× ××× ××֌ך×× (××× ×עך ׀֌ך×֞׊עס ×Ö·×ךעס ×€ÖŒ××Ö·×¥). ××××× ××¢× ×¢× ×××ש×Ö·×××Ö·×× ×××× ××××£ ×Ö· ××סק ×Öž×עך ××ַך×-ש××Ö·× ×€×֞ך ××× ×¢×××¢××¢ עקסעק×××Ö·×××¢ ×€Ö¿×֞ך××Ö·×. ×עך ׀֌ך×֞׊עס ×€×× ××Öž×××× × ×€ÖŒ×š×Öž×ך×Ö·× ××× ×¡××Ö·××ק ××Ö·×× ××× ××֌ך×× ×š×ק×××××¢×š× ×Ö·× ×× ×ַס ××× ×××××ת ×Š× ××××¢× ×¢× ×× ×××עס ×€Ö¿×× ××סק ××× ×©××¢×× ××× ×¢×š××¢×¥ ××× ××֌ך××.
××× ×€×š× ×֞׀֌עך××××× × ×¡×ס××¢××¢×, ×× ××Öž×××× × ×€ÖŒ×š×֞׊עס ××× ××¢×××¢× ××עך×× ××ך××עק×Öž××, ×××֞ס ×××× ×Ö·× ×× ××× ×Š×¢ ק×Öž× ××× ××Öž×××× ××× ××֌ך×× ××××עך ×× ×€ÖŒ×š×Öž×ך×Ö·× ××× ××Öž× ×ש×. ××Öž××¢×š× ×֞׀֌עך××××× × ×¡×ס××¢××¢× ××Öž× ××¢× ×€×××, ××֞ס ×××, ××Öž×××× × ×§×Öž× ×Öž×עך ××Ö·×× ××××× ×××¢× ×× ×€ÖŒ×š×Öž×ך×Ö·× ×š×ק×××××¢×š× ××× ×עש×ַס ×××Ö·× ××ך××€×ך×× ×.
×Ö·××Öž× ×× ×§×Öž× ××× ×¡××Ö·××ק ××Ö·×× ××¢× ×¢× ××Öž×××× ××× ×ַס ××֌ך××, עס ××¢× ×¢× ×Ö· ×××¡× ×עך ××× ×× ×Š× ××Öž× ××××עך ×עך ׀֌ך×֞׊עס ×§×¢× ×¢× ××××€×. ×¢×××¢××¢ ××ק×Öž×š× ×××× ×××× ×Ö·××ַק××××× ×€Ö¿×ַך ××¢× ×Öž× ×××××. ××××× × ××Š× ××¢× ×Öž× ××××× ×€Ö¿×ַך ××××¢ ××עך××Ö·××Ö·××, ×€Ö¿×× ×§×Š××¢ ×€ÖŒ×ַך×Ö·××¢×עךס, ××× ×Š×ך×קק×××¢× ×××¢× ××. ×× ×ַס ×Ö·××ַק×××¥ ××¢× ××֌ך×× ××× ××× ×¢×¡ ×Š× ××¢× ×€ÖŒ×š×֞׊עס. ×עך ×Öž× ××××× ×§×¢× ×¢× ×××× ×××× ×Ö·××ַק××××× ××× ×¢×××¢××¢ ×ַך××××¢× ××, ס׀֌×ַס××€×ק×× ×¢×¡ ×€××× ×× ×€ÖŒ×ַך×Ö·××¢×עךס ×€×× ×× ××××€ÖŒ× () ×€Ö¿×× ×§×Š××¢, ×€Ö¿×ַך ×××ַש׀֌×× ××× ×Ö· ××¢× ××¢ ×€×× ââargc ××× argv.
×× ×֞׀֌עך××××× × ×¡×ס××¢× ×§×¢× ×××× ×Ö·××ַק××× ×¢×××¢××¢ ××֌ך×× ×Š× ×× ×€ÖŒ×š×Öž×ך×Ö·× ×§×׀֌ע. ×עך ק×׀֌ע ××× ××¢× ××Š× ×××š× ××××× ×Š× ××€×ך×ש ××¢×× ××× ×Ö·××ק×Ö·××× ×Ö·××ַק××××× ××Ö·××. ××××× ××¢×× ××¢× ×€ÖŒ××Ö·×¥ ×××š× ×š××€× ×× ×€Ö¿×× ×§×Š××¢ malloc () ××× ×§×××š× ×¢×¡ ××€×ך×ש ×××š× ×š××€× ×× ×€Ö¿×× ×§×Š××¢ ׀ך××Ö·(). ×עך ק×׀֌ע ××× ××ךף ×€Ö¿×ַך ××Ö·×× ×¡×ך×ַק××©×¢×š× ×Ö·××Ö· ××× ××× ××§× ×©××¥, ××ַש ××ש×, ××××עך ××× ×× ×עךע. ××× ×¢×š×©×עך, ×Ö· ק×××× ×¡×××¢ ×€×× ââââ××ק×Öž×š× ××× ×Ö·××ַק××××× ×Š× ×× ×§×׀֌ע, ×Öž×עך ××× ×Š×××, ××× ×× ×€ÖŒ×š×Öž×ך×Ö·× ××××€×, ×× ×§×׀֌ע ×§×¢× ×¢× ××¢×× ×עך ××֌ך×× ×××š× ×× ××××××Öž×עק ×Ö·×€ÖŒ× ×š××€× malloc(). ×× ×֞׀֌עך××××× × ×¡×ס××¢× ××× ×× ×××Ö·×××× ××× ××¢× ×€ÖŒ×š×֞׊עס ×€×× ×Ö·××ַק××××× × ×עך ××֌ך×× ×Š× ××¢××€× ××ַ׀ך××××§× ×× ×š××€×.
×× ×֞׀֌עך××××× × ×¡×ס××¢× ×××¢× ×××× ××ך××€××š× ×× ××××Ö·××××Ö·×××Öž× ××ַסקס, ס׀֌ע׊××¢× ××¢× ×¢ ש××Ö·××ת ×Š× × / ×Öž. ×€Ö¿×ַך ×××ַש׀֌××, ××××£ ××× ×קס ס×ס××¢××¢×, ××¢×עך ׀֌ך×֞׊עס ×××š× ×€×¢××ק××Ö·× ××× 3 ×Öž×€Ö¿× ×עקע ××סקך××€ÖŒ××֞ךס, ×€Ö¿×ַך × ×֞ך××Ö·× ×ַך××Ö·× ×©×š××Ö·×, ךע×××××Ö·× ××× ××¢×ת. ×× ××Ö·× ××Ö·×× ××Öž×× ××××× ×Š× ××××¢× ×¢× ×ַך××Ö·× ×©×š××Ö·× ×€×× ×× ×××֞ק××Ö·× ××× ×ַך××ס××××Ö·×× ××× ×€Ö¿×֞ך××ַ׊××¢ ××××£ ××¢× ×¢×§×š×Ö·×.
××××, ×××š× ××Öž×××× × ×§×Öž× ××× ×¡××Ö·××ק ××Ö·×× ××× ××֌ך××, קך×××××× × ××× ×× ×ש×Ö·××××× × ××¢× ×Öž× ××××× ××× ××× ×× ×עךע ×ַך××¢× ×©××Ö·××ת ×Š× ××ך××€××š× × / ×Öž ××ַסקס, ×× ×ַס ׀֌ך××€ÖŒ×¢×š× ×× ××× ×¢ ×€Ö¿×ַך ××¢× ×€ÖŒ×š×֞׊עס ×Š× ××ס׀×ך×. ׊×× ×¡××£, עס ××× ×××× ×ע׊××¢ ×ַך××¢× ××× ×§×¡: ××××€× ×× ×€ÖŒ×š×Öž×ך×Ö·× ×××š× ×××× ×€ÖŒ×Öž××׊××¢ ×€×× ×, ×עך××€× ×× ××××€ÖŒ× () ×€Ö¿×× ×§×Š××¢. ×××š× ×¢×§×¡×ַק××××× × ×× ××××€ÖŒ× () ×€Ö¿×× ×§×Š××¢, ×× ×ַס ×ך×Ö·× ×¡×€×¢×š×¡ ×§×€ÖŒ× ×§×Öž× ×ך×Öž× ×Š× ×× × ×× ××ש××€× ×€ÖŒ×š×֞׊עס, ×Ö·××× ×× ×€ÖŒ×š×Öž×ך×Ö·× ××××× ×Š× ××ס׀×ך×.
׀֌ך×֞׊עס ש××Ö·×
×××Š× ×Ö·× ××ך ××Öž×× ×¢×××¢××¢ ×€×ךש××× × ×€×× ×××֞ס ×Ö· ׀֌ך×֞׊עס ××× ××× ××× ×¢×¡ ××× ××ש××€×, ××Öž×× ××× ×× ×š×©××× ×× ×€ÖŒ×š×֞׊עס ש××Ö·×× ××× ×××֞ס עס ×§×¢× ××××. ××× ×××× ×¡×××€ÖŒ××Ö·×¡× ×€×֞ךע×, ×Ö· ׀֌ך×֞׊עס ×§×¢× ×¢× ×××× ××× ×××× ×¢×š ×€×× ×× ×©××Ö·××:
â ×€×××¡× ××ק. ×××¢× ×€×××¡× ××ק, ×עך ׀֌ך×֞׊עס ××××€× ××××£ ×× ×€ÖŒ×š×ַסעסעך. ××¢× ×××× ×Ö·× ×× ×¡×ך×ַקש×Ö·× × ××¢× ×¢× ×¢×§×¡×ַק××××Ö·×.
â ×ך×××. ××× ×× ×ך××× ×©××Ö·×, ×עך ׀֌ך×֞׊עס ××× ×ך××× ×Š× ××××€×, ×Öž×עך ×€Ö¿×ַך ×¢×××¢××¢ ס××× ×× ×ַס ××× × ××©× ××ס׀××š× ×¢×¡ ××× ×× ×¡×€ÖŒ×¢×¡××€××¢× ×Š×××.
â ×××ַק×. ××× ×× ××€×עש××¢×× ×©××Ö·×, ×Ö· ׀֌ך×֞׊עס ׀֌עך׀×֞ך×× ×¢×××¢××¢ ×ַ׀֌עך××ש×Ö·× × ×××֞ס ×€×ַך×××Ö·×× ×¢×¡ ×€×× ×××× ×ך××× ×Š× ××ס׀××š× ××× ×¢×××¢××¢ ××¢×©×¢×¢× ×ש ×ַקעך×. ×××× ×€ÖŒ×š×Öž×¡× ×××ש׀֌×× ××× ×××¢× ×Ö· ׀֌ך×֞׊עס ×× ×ש××Ö·×¥ ×Ö·× IO ×֞׀֌עך×ַ׊××¢, עס ×××¢×š× ××€×עש××¢×× ×Ö·××× ×Ö·× ×¢×××¢××¢ ×× ×עךע ׀֌ך×֞׊עס ×§×¢× ×¢× × ××Š× ××¢× ×€ÖŒ×š×ַסעסעך.
××ך ×§×¢× ×¢× ×××Ö·××ש×Ö·× ×× ×©××Ö·×× ××× ×× ×€×Öž×š×¢× ×€×× ×Ö· ×ך×Ö·×€×ק. ××× ××ך ×§×¢× ×¢× ××¢× ××× ×× ××××, ×עך ׀֌ך×֞׊עס ש××Ö·× ×§×¢× ×¢× ××××©× ×Š××××©× RUNNING ××× READY ×××× ×× ××סקךעש×Ö·× ×€×× ×× ×ַס. ×××¢× ×× ×©××Ö·× ×€×× ×Ö· ׀֌ך×֞׊עס ×¢× ×עך×× ××¢× ×€×× READY ×Š× RUNNING, עס ×××× ×Ö·× ×עך ׀֌ך×֞׊עס ××× ×¡×§×¢××ש×××. ××× ×× ×€×Ö·×š×§×¢×š× ×š××××× × - ×Ö·××עק××¢× ×××¢× ×€×× ×× ×××ס××××. ××× ××¢× ××Öž××¢× × ×××¢× ×Ö· ׀֌ך×֞׊עס ×××¢×š× ×××ַק×, ××ש×, ××× ×Öž× ××××× ×Ö·× IO ×֞׀֌עך×ַ׊××¢, ×× ×ַס ×××¢× ××Ö·××× ×¢×¡ ××× ××¢× ×©××Ö·× ××× ×¢×××¢××¢ ××¢×©×¢×¢× ×ש ×ַקעך×, ×××©× ×× ×§×Ö·××€ÖŒ××ש×Ö·× ×€×× IO. ××× ××¢× ××Öž××¢× × ×× ××עך××Ö·× × ×Š× ×× READY ש××Ö·× ××× ×¢×€×©×¢×š ××××× ×Š× ×× RUNNING ש××Ö·× ×××× ×× ×ַס ××ס×××× ×Ö·×××.
××× ×¡ ק×ק ×××Ö· ×Ö· ×××ַש׀֌×× ×€×× ××× ×Š×××× ×€ÖŒ×š×ַסעס×Ö·× ××Ö·× ×××š× ×× ×©××Ö·××. ×Š× ×Öž× ××××× ×××, ××Öž××ך ×××Ö·××ש×Ö·× ×Ö·× ×××××¢ ׀֌ך×ַסעס×Ö·× ××¢× ×¢× ×€×××¡× ××ק, ××× ××¢×עך ××× × ××Š× ××××× ×× ×§×€ÖŒ×. ××× ××¢× ×€×Ö·×, ×××עך ש××Ö·×× ×××¢×× ×§××§× ××× ××֞ס.
××× ×× ×€××××¢× ××¢ ×××ַש׀֌××, ×עך עךש×עך ׀֌ך×֞׊עס, × ×Öž× ×¢×××¢××¢ ××Öž× ×€×××¡× ××ק, ך×ק××עס IO ××× ×××× ×ך××× ×× ×××Öž×§×¢× ×©××Ö·×, ×Ö·××Ö·××× × ×× ×× ×עך ׀֌ך×֞׊עס ×Š× ××××€× (FIG 1.4). ×× ×ַס ××¢× ×Ö·× ×€ÖŒ×š×֞׊עס 0 ××× × ××©× × ××Š× ×× ×§×€ÖŒ× ××× ×¡××ַךץ ׀֌ך×֞׊עס 1. ×שעת ׀֌ך×֞׊עס 1 ××× ×€×××¡× ××ק, ××Öž ××× ××¢×¢× ×××§× ××× ×× ×¡××Ö·××ס ×€×× ×€ÖŒ×š×֞׊עס 0 ×¢× ×עך×× ××¢× ×Š× ×ך×××. ׊×× ×¡××£, ׀֌ך×֞׊עס 1 ××× ××¢×¢× ××ק×, ××× × ×Öž× ×§×Ö·××€ÖŒ××ש×Ö·×, ׀֌ך×֞׊עס 0 ס××ַךץ, עקס×ַק××××Ö·× ××× ×¢× ×××§× ×××× ×ַך××¢×.
××Ö·××Ö· ס×ך×ק××ך
×× ×ַס ××× ××× ×Ö· ׀֌ך×Öž×ך×Ö·×, ××× ×€ÖŒ×× ×§× ××× ×§××× ×× ×עךע ׀֌ך×Öž×ך×Ö·×, עס ××× ×¢×××¢××¢ ש×××¡× ××Ö·×× ×¡×ך×ַק××©×¢×š× ×××֞ס ××Ö·××× ×©×€ÖŒ×ך ×€×× ×€×ַךש××× ××Ö·×××Ö·××ק ××× ×€Ö¿×֞ך××ַ׊××¢. ×Š× ×©×€ÖŒ×ך ×× ×©××Ö·× ×€×× ××¢×עך ׀֌ך×֞׊עס, ×× ×ַס ×××¢× ×©×××Š× ×¢×××¢××¢ ׀֌ך×֞׊עס ךש××× ×€Ö¿×ַך ×Ö·××¢ ׀֌ך×ַסעס×Ö·× ××× ×× READY ש××Ö·× ××× ×¢×××¢××¢ × ×Öž× ××× ×€Ö¿×֞ך××ַ׊××¢ ×Š× ×©×€ÖŒ×ך ׀֌ך×ַסעס×Ö·× ×××֞ס ××¢× ×¢× ×עך××××Ö·× ×€×××¡× ××ק. ××××, ×× ×ַס ××Öž× ××Öž× ×××֞ך ××€×עש××¢×× ×€ÖŒ×š×ַסעס×Ö·×. × ×Öž× IO ××× ××¢×¢× ××ק×, ×× ×ַס ×××× ×××¢×§× ×× ×€×ך××× ×× ×€ÖŒ×š×֞׊עס ××× ×©××¢×× ×¢×¡ ××× ×Ö· ש××Ö·× ×ך××× ×Š× ××××€×.
×€Ö¿×ַך ×××ַש׀֌××, ×× ×ַס ×××× ××€×××× ×× ×©××Ö·× ×€×× ×× ×€ÖŒ×š×ַסעסעך ךע××ש×ס×עך×. ××× ××¢× ××Öž××¢× × ×עך ׀֌ך×֞׊עס ס××ַ׀֌ס, ×× ×©××Ö·× ×€×× ×× ×š×¢××ש×ס××¢×š× ××× ×¡××Öž×š× ××× ×× ×Ö·×ךעס ×€ÖŒ××Ö·×¥ ×€×× ××¢× ×€ÖŒ×š×֞׊עס, ××× ××× ××¢× ××Öž××¢× × ×× ×֞׀֌עך×ַ׊××¢ ××××, ×× ×××Ö·××עס ×€×× ×× ×š×¢××ש×ס××¢×š× ××¢× ×¢× ××¢××× × ××× ×Ö·××× ×€×֞ך××¢×Š× ×× ××ך××€×ך×× × ×€×× ××¢× ×€ÖŒ×š×֞׊עס.
××× ×Ö·××ש×Ö·× ×Š× ×ך×××, ××€×עש××¢××, ×€×××¡× ××ק ש××Ö·××, עס ××¢× ×¢× ×¢×××¢××¢ ×× ×עךע ש××Ö·××. ×××, ××× ×עך ׊××× ×€×× ×©×Ö·×€×× ×, ×Ö· ׀֌ך×֞׊עס ×§×¢× ×××× ××× ×× INIT ש××Ö·×. ׊×× ×¡××£, ×Ö· ׀֌ך×֞׊עס ×§×¢× ×¢× ×××× ×עש××¢×× ××× ×× FINAL ש××Ö·× ×××¢× ×¢×¡ ××× ×©××× ××¢×¢× ××ק×, ×Öž×עך ×××× ××× ×€Ö¿×֞ך××ַ׊××¢ ××× × ×Öž× × ××©× ×§××ך×. ××××£ ××× ×קס ס×ס××¢××¢× ××¢× ×©××Ö·× ××× ×עך××€× ××Ö·××× ×€ÖŒ×š×֞׊עס. ×עך ש××Ö·× ××× × ×׊×ק ×€Ö¿×ַך ק×ַסעס ××× ×Ö· ×€×Öž×עך ׀֌ך×֞׊עס ×××× ×Š× ××××¡× ×× ×Š×ך×קקעך ק×Öž× ×€×× ×Ö· ק×× ×, ×€Ö¿×ַך ×××ַש׀֌××, ×××ש×Ö·×××Ö·×× 0 ס××× ×Ö·×× ×Ö· ×׊××× ××× 1 ×Ö· ××¢×ת, ×Öž×עך ׀֌ך×Öž××ך×Ö·××¢×š× ×§×¢× ×¢× ×ַך××ס××¢×× × ×Öž× ×š×¢×××××Ö·× ×§×Öž××× ×Š× ×¡××× ×Ö·× ×€×ַךש×××¢× ×¢ ׀֌ך×Öž×××¢×ס. ×××¢× ×עך ×€×Öž×עך ׀֌ך×֞׊עס ×עך××Ö·× ×××¥, עס ×××× ×Ö· ××¢×Š× ×¡×ס××¢× ×š××€×, ×Ö·××Ö· ××× ×××ַך×× (), ×Š× ×××ַך×× ×€Ö¿×ַך ×× ×§×× × ×€ÖŒ×š×֞׊עס ×Š× ×€×Ö·×š×¢× ×××§× ××× ×¡××× ×Ö·× ×Š× ×× ×ַס ×Ö·× ×¢×¡ ×§×¢× ×¢× ××ס××¢×§× ×§××× ××Ö·×× ×€Ö¿×ַך××× ×× ××× ×× ×עך××Ö·× ××××× ×€ÖŒ×š×֞׊עס.
ש×××¡× ×€×× ×§×× ×€×× ×עך ×עק׊××¢:
â ׀֌ך×֞׊עס - ×× ××××€ÖŒ× ×Ö·×ס×ך×ַק׊××¢ ×€×× ââ×Ö· ×€×××¡× ××ק ׀֌ך×Öž×ך×Ö·× ××× ×× ×ַס. ××× ×§××× ×Š×××, ×Ö· ׀֌ך×֞׊עס ×§×¢× ×¢× ×××× ××סקך×××× ×××š× ×××× ×©××Ö·×: ×× ××× ××Ö·×× ×€×× ××֌ך×× ××× ×××× ×Ö·×ךעס ×€ÖŒ××Ö·×¥, ×× ××× ××Ö·×× ×€×× ×€ÖŒ×š×ַסעסעך ךע××ש×ס×עך×, ×ַך××Ö·× ×עךע×× × ×× ×¡×ך×ק×××Öž× ×¡ ×××Ö·×× ××× ×Öž× ××××× ×××Ö·××, ××× ××Öž ××× ×€Ö¿×֞ך××ַ׊××¢, ×Ö·××Ö· ××× ××××¢× ×¢× ×Öž×עך ×עשך××× ×¢×€×¢× ×¢× ×עקעס.
â ׀֌ך×֞׊עס ×Ö·×€ÖŒ× ××ש×××× ×€×× ×§×Ö·××ס ×Ö·× ××××× ×§×¢× ×¢× ××Ö·×× ×Š× ×€ÖŒ×š×ַסעס×Ö·×. ×××€ÖŒ×ק×Ö·××× ×× ××¢× ×¢× ×©×Ö·×€Ö¿×, ××ס××¢×§× ×Öž×עך ×× ×עךע ך××€×.
â ×עך ׀֌ך×֞׊עס ××× ××× ×××× ×¢×š ×€×× ×€×××¢ ש××Ö·××, ×ַך××Ö·× ×עךע×× × ×€×××¡× ××ק, ×ך×××, ××€×עש××¢××. ×€×ַךש××× ××¢×©×¢×¢× ××©× ×Ö·××Ö· ××× ×¡×§×¢××ש×××× ×, ××××¡× ×¢××¢× ×€×× ×¡×§×¢××ש×××× × ×Öž×עך ×××××¥ ×§×¢× ×¢× ××××©× ×× ×©××Ö·× ×€×× ×Ö· ׀֌ך×֞׊עס ×€×× ×××× ×Š× ×× ×עך×.
â ׀֌ך×֞׊עס ךש××× ×ÖŒ××× ××× ×€Ö¿×֞ך××ַ׊××¢ ×××¢×× ×Ö·××¢ ׀֌ך×ַסעס×Ö·× ××× ×× ×¡×ס××¢×. ××¢×עך ×€ÖŒ×Öž××׊××¢ ××× ×¢×¡ ××× ×עך××€× ×Ö· ׀֌ך×֞׊עס ק×Öž× ×ך×Öž× ×××֞ק, ×××֞ס ××× ×€×Ö·×§× ××× ×Ö· ס×ך×ק××ך ×××֞ס ×ÖŒ××× ×Ö·××¢ ×× × ××××ק ××× ×€Ö¿×֞ך××ַ׊××¢ ×××¢×× ×Ö· ס׀֌ע׊××€×ש ׀֌ך×֞׊עס.â
×ק×ך: www.habr.com