ืืืื ืืืขืจืืืช ืืคืขืื
ืืื ืืืจ! ืืจืฆืื ื ืืืืื ืืืืืขืชืื ืกืืจืช ืืืืจืื-ืชืจืืื ืฉื ืกืคืจืืช ืืขื ืืื ืช ืืืช ืืืขืชื - 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 (ืืืืจืื ืืงืจืืื ืืืื). ืืืืข "I/O" (ืงืื/ืคืื) ืื ืฆืจืื ืืืืื ืจืฉืืื ืฉื ืงืืฆืื ืฉื ืคืชืืื ืืขืช ืืชืืืื.
ืชืืืื API
ืขื ืื ืช ืืฉืคืจ ืืช ืืืื ื ืฉืื ื ืืืฆื ืืชืืืื ืขืืื, ืืืื ื ืืื ืืืืืืืช ืืงืจืืืืช ืืขืจืืช ืฉืืืืจืืช ืืืืืื ืืื ืืืฉืง ืืขืจืืช ืืคืขืื. ืืืฉืงื API ืืื ืืืื ืื ืืฆืืจื ืืื ืื ืืืจืช ืืื ืืขืจืืช ืืคืขืื.
โ ืฆืืจ (ืืฆืืจื): ืืขืจืืช ืืืคืขืื ืืืืืช ืืืืื ืฉืืื ืืืฉืื ืืืืคืฉืจืช ืื ืืืฆืืจ ืชืืืืืื ืืืฉืื. ืืืฉืจ ืืชื ืืืื ืคืงืืื ืืืกืืฃ ืื ืืคืขืื ืืืฉืื ืขื ืืื ืืืืฆื ืืคืืื ืขื ืกืื, ื ืฉืืืช ืงืจืืื ืืืขืจืืช ืืืคืขืื ืืื ืืืฆืืจ ืชืืืื ืืืฉ ืืืืืจ ืืื ืืืคืขืื ืืช ืืชืืื ืืช ืฉืฆืืื ื.
โ ืืืืงื: ืืืืืื ืฉืืฉ ืืืฉืง ืืืฆืืจืช ืชืืืื, ืืขืจืืช ืืืคืขืื ืฆืจืืื ืืกืคืง ืื ืืช ืืืืืืช ืืืคืืช ืืกืจื ืฉื ืชืืืื. ืจืื ืืชืืื ืืืช ืืืืคื ืืืขื ืืชืืืื ืืืกืชืืืื ืืขืฆืื ืชืื ืืื ืืคืขืืชื. ืืืจืช ืืืฉืชืืฉ ืืื ืจืืฆื ืืืืืช ืืกืืื ืืืจืื ืืืชื ืืื ืืืฉืง ืืขืฆืืจ ืืช ืืชืืืื ืืืื ืฉืืืืฉื.
โ ืืื (ืืืชืื): ืืคืขืืื ืืืื ืืืืชืื ืืกืืื ืชืืืื, ืืืื ืืกืืคืงืื ืืืฉืงืื ืืกืืืืื ืืืกืคืงืื ืืช ืืืืืืช ืืืืชืื.
โ ืืงืจืช ืฉืื ืืช (ืืงืจืืช ืฉืื ืืช): ืื ืืกืฃ ืืืจื ืืืืชื ื ืืชืืืื, ืืฉื ื ืื ืฉืืืืช ืืงืจื ืฉืื ืืช. ืืืืืื, ืจืื ืืขืจืืืช ืืืคืขืื ืืกืคืงืืช ืืช ืืืืืืช ืืืงืคืื ืชืืืื (ืืืคืกืืง ืืช ืืืฆืืขื ืืชืงืืคื ืืกืืืืช) ืืืืืจ ืืื ืืืืฉ ืืืชื (ืืืืฉืื ืืืืฆืืข)
โ ืืฆื (ืืฆื): ืืฉื ื ืืืฉืงืื ืฉืื ืื ืืงืืืช ืืืืข ืืกืืื ืขื ืืฆืื ืฉื ืชืืืื, ืืืื ืืื ืืื ืืื ืคืืขื ืื ืืืืื ืืฆื ืืื ื ืืฆื ืืขืช.
ืืฆืืจืช ืชืืืื: ืคืจืืื
ืืื ืืืืจืื ืืืขื ืืื ืื ืืื ืืื ืืืืืง ืชืืื ืืืช ืืืคืืืช ืืชืืืืืื. ืืืืืื ืืื ืืขืจืืช ืืืคืขืื ืงืืืืช ืืืคืขืืื ืืช ืืชืืื ืืช. ืืื ืืืืืง ื ืืฆืจ ืืชืืืื.
ืงืืื ืื, ืืขืจืืช ืืืคืขืื ืืืืืช ืืืขืื ืืช ืงืื ืืชืืื ืืช ืืืช ืื ืชืื ืื ืืกืืืืื ืืืืืจืื (ืืืจืื ืืืชืืืืช ืฉื ืืชืืืื). ืชืืื ืืืช ืืืืงืืืช ืืืจื ืืื ืืืืกืง ืื ืืืื ื ืืฆื ืืืฆืง ืืคืืจืื ืืคืขืื ืืืฉืื. ืืคืืื, ืชืืืื ืืขืื ืช ืชืืื ืืืช ืื ืชืื ืื ืกืืืืื ืืืืืจืื ืืืืื ืืช ืืขืจืืช ืืืคืขืื ืืืืืช ืืกืืืืช ืืงืจืื ืืช ืืืชื ืืชืื ืืืืืกืง ืืืืฆืื ืืืชื ืืืงืื ืืืฉืื ืืืืืจืื.
ืืืขืจืืืช ืืคืขืื ืืืงืืืืช, ืชืืืื ืืืขืื ื ื ืขืฉื ืืฉืงืืงื, ืืืืืจ ืื ืืงืื ื ืืขื ืืืืืจืื ืืคื ื ืืฉืงืช ืืชืืื ืืช. ืืขืจืืืช ืืคืขืื ืืืืจื ืืืช ืขืืฉืืช ืืืช ืืขืฆืืชืืื, ืืืืืจ, ืืืขื ืืช ืคืืกืืช ืงืื ืื ื ืชืื ืื ืจืง ืืืฉืจ ืืชืืื ื ืืืจืฉืช ืืืชื ืืืืื ืืืฆืืขื.
ืืจืืข ืฉืืงืื ืืื ืชืื ืื ืืกืืืืื ื ืืขื ืื ืืืืืจืื ืืขืจืืช ืืืคืขืื, ืืฉ ืขืื ืืื ืืืจืื ืฉืฆืจืื ืืขืฉืืช ืืคื ื ืฉืืชืืืื ืืืื ืืคืขืื. ืืฉ ืืืงืฆืืช ืืืืช ืืกืืืืช ืฉื ืืืืจืื ืขืืืจ ืืืืกื ืืช. ืชืืื ืืืช ืืฉืชืืฉืืช ืืืืกื ืืช ืขืืืจ ืืฉืชื ืื ืืงืืืืื, ืคืจืืืจืื ืฉื ืคืื ืงืฆืืืช ืืืชืืืืช ืืืืจื. ืืขืจืืช ืืืคืขืื ืืงืฆื ืืช ืืืืืจืื ืืื ืืืขื ืืงื ืืืชื ืืชืืืื. ื ืืชื ืืืงืฆืืช ืืช ืืืืกื ืืช ืื ืขื ืืื ืืจืืืื ืืื, ืกืคืฆืืคืืช ืืื ืืืืืช ืืช ืืคืจืืืจืื ืฉื ืืคืื ืงืฆืื main(), ืืืฉื ืขื ืืขืจื ืฉื argc ื-argv.
ืืขืจืืช ืืืคืขืื ืขืฉืืื ืื ืืืงืฆืืช ืืืืจืื ืืขืจืืืช ืืชืืื ืืืช. ืืขืจืืื ืืฉืืฉืช ืชืืื ืืืช ืืื ืืืงืฉ ื ืชืื ืื ืฉืืืงืฆื ืืืืคื ืืื ืื. ืชืืื ืืืช ืืืงืฉืืช ืืช ืืืจืื ืืื ืขื ืืื ืงืจืืื ืืคืื ืงืฆืื malloc () ืืื ืงื ืืืชื ืืืคืืจืฉ ืขื ืืื ืงืจืืื ืืคืื ืงืฆืื ืืื ื(). ืืขืจืืื ื ืืืฆื ืขืืืจ ืืื ื ื ืชืื ืื ืืืื ืืืืืื ืืช ืืงืืฉืจืื, ืืืืืืช ืืืืื, ืขืฆืื ืืืืจืื. ืืืชืืื, ืืืืช ืงืื ื ืฉื ืืืืจืื ืืืงืฆื ืืขืจืื, ืืื ืขื ืืืื, ืืฉืืชืืื ืืช ืคืืขืืช, ืืขืจืืื ืืืืื ืืืงืฉ ืืืชืจ ืืืืจืื ืืจื ื-API ืฉื ืืกืคืจืืื ืืงืจืืื malloc(). ืืขืจืืช ืืืคืขืื ืืขืืจืืช ืืชืืืื ืฉื ืืงืฆืืช ืืืืจืื ื ืืกืฃ ืืื ืืกืืืข ืืกืืคืืง ืืฉืืืืช ืืืื.
ืืขืจืืช ืืืคืขืื ืชืืฆืข ืื ืืฉืืืืช ืืชืืื, ืืืืืื ืืื ืืงืฉืืจืืช ื-I/O. ืืืืืื, ืืืขืจืืืช UNIX, ืืื ืชืืืื ืืืจืืจืช ืืืื ืืฉ 3 ืืชืืจื ืงืืฆืื ืคืชืืืื, ืขืืืจ ืงืื, ืคืื ืืฉืืืื ืกืื ืืจืืืื. ืืืืืช ืืื ืืืคืฉืจืืช ืืชืืื ืืืช ืืงืจืื ืงืื ืืืืกืืฃ ืืื ืืืฆืื ืืืืข ืขื ืืืกื.
ืืคืืื, ืขื ืืื ืืขืื ืช ืงืื ืื ืชืื ืื ืกืืืืื ืืืืืจืื, ืืฆืืจื ืืืชืืื ืฉื ืืืืกื ืืช ืืืืฆืืข ืขืืืื ืืืจืช ืืงืฉืืจื ืืืืฆืืข ืืฉืืืืช I/O, ืืขืจืืช ืืืคืขืื ืืืื ื ืืช ืืฉืื ืืืืฆืืข ืืชืืืื. ืืืกืืฃ, ื ืืชืจื ืืฉืืื ืืืจืื ื: ืืคืขืืช ืืชืืื ืืช ืืจื ื ืงืืืช ืืื ืืกื ืฉืื, ืื ืงืจืืช ืืคืื ืงืฆืื main() . ืขื ืืื ืืืฆืืข ืืคืื ืงืฆืื main(), ืืขืจืืช ืืืคืขืื ืืขืืืจื ืืช ืืงืจืช ื-CPU ืืชืืืื ืืืืฉ ืฉื ืืฆืจ, ืืื ืืชืืื ืืช ืืชืืืื ืืคืขืื.
ืืฆื ืชืืืื
ืืขืช, ืืืืจ ืฉืืฉ ืื ื ืืื ื ืืกืืืืช ืฉื ืื ืื ืชืืืื ืืืืฆื ืืื ื ืืฆืจ, ืืืื ื ืจืฉืื ืืช ืืฆืื ืืชืืืื ืฉืืื ืืื ืืืื ืืืืืช. ืืฆืืจืชื ืืคืฉืืื ืืืืชืจ, ืชืืืื ืืืื ืืืืืช ืืืื ืืืืฆืืื ืืืืื:
โ ืจืืฆื. ืืขืช ืืคืขืื, ืืชืืืื ืคืืขื ืขื ืืืขืื. ืื ืืืืจ ืฉืืืจืืืช ืืืืฆืขืืช.
โ ืืืื. ืืืฆื ืืืื, ืืชืืืื ืืืื ืืืคืขืื, ืื ืืกืืื ืืืฉืื ืืขืจืืช ืืืคืขืื ืืื ื ืืคืขืืื ืืืชื ืืืื ืฉืฆืืื.
โ ืืกืื. ืืืฆื ืืกืื, ืชืืืื ืืืฆืข ืืื ืคืขืืืืช ืฉืืื ืขืืช ืืื ื ืืืืืช ืืืื ืืืืฆืืข ืขื ืืืชืจืืฉืืช ืืืจืืข ืืืฉืื. ืืืืื ื ืคืืฆื ืืืช ืืื ืืืฉืจ ืชืืืื ืืืื ืคืขืืืช IO, ืืื ื ืืกื ืื ืฉืชืืืื ืืืจ ืืืื ืืืฉืชืืฉ ืืืขืื.
ืืชื ืืืื ืืืืืื ืืช ืืืฆืืื ืืืื ืืฆืืจื ืฉื ืืจืฃ. ืืคื ืฉืื ื ืืืืืื ืืจืืืช ืืชืืื ื, ืืฆื ืืชืืืื ืืืื ืืืฉืชื ืืช ืืื RUNNING ืืืื READY ืืคื ืฉืืงืื ืืขืชื ืฉื ืืขืจืืช ืืืคืขืื. ืืืฉืจ ืืืฆื ืฉื ืชืืืื ืืฉืชื ื ื-READY ื-RUNNING, ืื ืืืืจ ืฉืืชืืืื ืชืืื ื. ืืืืืื ืืืคืื - ืืืกืจ ืืืคืจืืกื. ืืจืืข ืฉืชืืืื ืืืคื ื-BLOCKED, ืืืฉื, ืื ื ืืชืืื ืคืขืืืช IO, ืืขืจืืช ืืืคืขืื ืชืฉืืืจ ืืืชื ืืืฆื ืื ืขื ืฉืืชืจืืฉ ืืืจืืข ืืืฉืื, โโืืืฉื ืืฉืืืช IO. ืืจืืข ืื ืืืขืืจ ืืืฆื READY ืืืืื ืืื ืืืฆื RUNNING ืื ืืขืจืืช ืืืคืขืื ืชืืืื ืื.
ืืืื ื ืกืชืื ืขื ืืืืื ืืืืคื ืฉืื ืฉื ื ืชืืืืืื ืขืืืจืื ืืืฆืืื ืืื. ืจืืฉืืช, ืืืื ื ืืืืื ืฉืฉื ื ืืชืืืืืื ืคืืขืืื, ืืื ืืื ืืื ืืฉืชืืฉ ืจืง ืืืขืื. ืืืงืจื ืื, ืืืืื ืืช ืฉืืื ืืืจืื ืื.
ืืืืืื ืืืื, ืืชืืืื ืืจืืฉืื, ืืืืจ ืจืืฆื ืฉื ืืื ืื, ืืืงืฉ IO ืื ืื ืก ืืืฆื ืืกืื, ืื ืฉืืืคืฉืจ ืืชืืืื ืืืจ ืืคืขืื (ืืืืจ 1.4). ืืขืจืืช ืืืคืขืื ืจืืื ืฉืชืืืื 0 ืืื ื ืืฉืชืืฉ ืืืขืื ืืืชืืืื ืชืืืื 1. ืืืื ืฉืชืืืื 1 ืคืืขื, ื-IO ืืืฉืื ืืืกืืืืก ืฉื ืชืืืื 0 ืืฉืชื ื ื-READY. ืืืกืืฃ, ืชืืืื 1 ืืกืชืืื, ืืขื ืืฉืืืชื, ืชืืืื 0 ืืชืืื, ืืืฆืข ืืืกืืื ืืช ืขืืืืชื.
ืืื ื ื ืชืื ืื
ืืขืจืืช ืืืคืขืื ืขืฆืื ืืื ืชืืื ืืช, ืืืืืืง ืืื ืื ืชืืื ื ืืืจืช, ืืฉ ืื ืืื ืืื ื ื ืชืื ืื ืืจืืืืื ืฉืขืืงืืื ืืืจ ืคืืกืืช ืืืืข ืจืืืื ืืืืช ืฉืื ืืช. ืืื ืืขืงืื ืืืจ ืืืฆื ืฉื ืื ืชืืืื, ืืขืจืืช ืืืคืขืื ืชืชืืื ืืืืง ืจืฉืืืช ืชืืืืืื ืขืืืจ ืื ืืชืืืืืื ืืืฆื READY ืืืื ืืืืข ื ืืกืฃ ืืืขืงื ืืืจ ืชืืืืืื ืืคืืขืืื ืืขืช. ืืื ืื, ืืขืจืืช ืืืคืขืื ืฆืจืืื ืืคืงื ืขื ืชืืืืืื ืืกืืืื. ืืืืจ ืืฉืืืช IO, ืืขืจืืช ืืืคืขืื ืืืืืช ืืืขืืจ ืืช ืืชืืืื ืื ืืจืฉ ืืืืื ืืก ืืืชื ืืืฆื ืืืื ืืืคืขืื.
ืืืืืื, ืืขืจืืช ืืืคืขืื ืืืืืช ืืฉืืจ ืืช ืืฆื ืืืืจื ืืืขืื. ืืจืืข ืฉืืชืืืื ื ืขืฆืจ, ืืฆื ืืจืฉืืื ื ืฉืืจ ืืืจืื ืืืชืืืืช ืฉื ืืชืืืื, ืืืจืืข ืฉื ืืฉืืช ืคืขืืืชื, ืืฉืืืืจืื ืขืจืื ืืจืฉืืื ืืื ืืืฉืืืื ืืืืฆืืข ืชืืืื ืื.
ืื ืืกืฃ ืืืฆืืื ืืืื ืื, ืืกืืืื, ืคืืขืืื, ืืฉ ืืื ืืืื ืืช ืืืจืืช. ืืคืขืืื, ืืืื ืืืฆืืจื, ืชืืืื ืขืฉืื ืืืืืช ืืืฆื INIT. ืืืกืืฃ, ื ืืชื ืืืฆืื ืชืืืื ืืืฆื FINAL ืืืฉืจ ืืื ืืืจ ืืืฉืื, ืื ืืืืืข ืฉืื ืขืืืื ืื ื ืืงื. ืืืขืจืืืช UNIX ื ืงืจื ืืฆื ืื ืชืืืื ืืืืืื. ืืฆื ืื ืฉืืืืฉื ืืืงืจืื ืฉืืื ืชืืืื ืืืจื ืจืืฆื ืืืขืช ืืช ืงืื ืืืืืจื ืฉื ืืื, ืืืฉื, ืืืจื ืืื 0 ืืกืื ืืฆืืื ื-1 ืฉืืืื, ืื ืืชืื ืชืื ืืืืืื ืืื ืคืืง ืงืืื ืคืื ื ืืกืคืื ืืื ืืืืชืช ืขื ืืขืืืช ืฉืื ืืช. ืืืฉืจ ืชืืืื ืืื ืืกืชืืื, ืืื ืืืฆืข ืงืจืืืช ืืขืจืืช ืกืืคืืช, ืืืื wait(), ืืื ืืืืชืื ืขื ืฉืชืืืื ืืืื ืืกืชืืื ืืืืืชืช ืืืขืจืืช ืืืคืขืื ืฉืืื ืืืืื ืื ืงืืช ืืช ืื ืื ืชืื ืื ืืงืฉืืจืื ืืชืืืื ืฉืืืคืกืง.
ื ืงืืืืช ืืคืชื ืืืจืฆืื:
โ ืชืืืื - ืืืคืฉืื ืืขืืงืจืืช ืฉื ืชืืื ืืช ืคืืขืืช ืืืขืจืืช ืืืคืขืื. ืืื ืืื ื ืชืื ื ืืชื ืืชืืจ ืชืืืื ืืคื ืืฆืื: ืชืืื ืืืืืจืื ืืืจืื ืืืชืืืืช ืฉืื, ืชืืื ืืืืจื ืืขืื, ืืืื ืืฆืืืข ืคืงืืื ืืืฆืืืข ืืืกื ืืช, ืืืืืข IO, ืืืื ืงืืฆืื ืคืชืืืื ืื ืงืจืืื ืื ืืชืืืื.
โ ืชืืืื API ืืืจืื ืืงืจืืืืช ืฉืชืืื ืืืช ืืืืืืช ืืืฆืข ืืชืืืืืื. ืืืจื ืืื ืืืืืจ ืืฉืืืืช ืืฆืืจื, ืืืืงื ืื ืฉืืืืช ืืืจืืช.
โ ืืชืืืื ื ืืฆื ืืืื ืืืฆืืื ืจืืื, ืืืื ืคืืขื, ืืืื, ืืกืื. ืืืจืืขืื ืฉืื ืื ืืืื ืชืืืื, ืืจืืืื ืืชืืืื ืื ืืืชื ื ืืืืืื ืืฉื ืืช ืืช ืืืฆื ืฉื ืชืืืื ืืืื ืืฉื ื.
โ ืจืฉืืืช ืชืืืืืื ืืืื ืืืืข ืขื ืื ืืชืืืืืื ืืืขืจืืช. ืื ืขืจื ืื ื ืงืจื ืืืืง ืืงืจืช ืชืืืืืื, ืฉืืืฆืืืืช ืืื ืืื ื ืืืืื ืืช ืื ืืืืืข ืืืจืืฉ ืขื ืชืืืื ืกืคืฆืืคื.โ
ืืงืืจ: www.habr.com