????1.1 Linux????????
??????????????????????????????????效??????????????????????????效?????小?
????Linux??????????UNIX????????????????????????????卸???????????????????????????谢????????????????????
??????????校??????????Linux????????????????????????????????????Linux?????未????????????????????
????1.1.1 ????????
??????????????????????????????????????????y??????Linux????????????魏?????????????????
??????????????Linux???????械???????task_struct????????y????????????????????????????????????????薪??????械?????????????????????????????????????????????????y???????????????????????泻?????????????????????1-2????????????????????????


?????1-2 task_struct????

????1.1.2 ?????????????
?????????????????????????????绱�???????小??????????????些??位????????????????????????巍?????????????????????????????????????????


?????1-3????????????????????

????????????????????渭????????????????????????????? ???fork()?????谩???fork()????????????????????鈥�?????????????????????????????????渭????id?????????????????????????????????小?????????????????????????斜???????????????????????????
????exec()??????????渭?????????????????????????????????写??????渭??????????????????????????????????锟�?????????渭?????????????????
??????????????????写????????????????????????????????????????????????????????????????????????????????????????????????????????????效????渭?????????????????????????????????
????????????????????????????????exit()???????????exit()?????????????????????????????????????涓�??????????????????????????????????????????page 7??“Zombie processes”????
??????????????????????涓�??????????????????wait()???????????????????????????????????????????????????????????????????????
????1.1.3 ???
??????????????????????????????????械???????????????????械????????????????小?????????????????????????????妤�???????????????????????????????????????????????????????????????Light Weight Process??LWP???????????????????????????????????????????????????????????????????????谢????????????????巍?
????????????????????????????????????????????????????????????????????????????妫�???????????????????????????????????????????????????


????
?1-4 ????????

???????????Linux????校???????UNIX????????????????POSIX?????????Linux?????????屑?????????????????????????????
????LinuxThreads
????LinuxThreads???Linux???2.0?????????????????????LinuxThreads???些??????????POSIX?????Native POSIX Thread Library??NPTL?????????LinuxThreads??LinuxThreads???????Linux??????邪??薪?????????
????Native POSIX Thread Libary??NPTL??
????NPTL??????????????????NPTL??POSIX???????????Linux???2.6????????????纾�?渭?clone()?????谩???????????????????斜?LinuxThreads?????????????????
????NPTL??LinuxThreads???些????????????????LinuxThreads?????????????NPTL????泄?????
????Next Generation POSIX Thread??NGPT??
????NGPT?????IBM??????POSIX????????????????尾?????未?????锌????????
???????LD_ASSUME_KERNEL?????????????????????????????????????
????1.1.4 ???????????nice?
????????????????????????????????????????????????????????????CPU?????????????懈??????????????????懈?????????????????????
????????????????????????????????????????????????????????????????????????????y????nice?????渚�?????????????懈????????????????????懈???????????????????????????卸??????
????Linux????19?????????????-20?????????????nice????????0????????nice??????????????????????????????????root??????????su??????root?????小?
????1.1.5 ???????谢?
????????????泄????校??????????????????????????????????????????小???????械??????????????械??????????????????????谢???????????薪????????????????妫�???????????薪??????????????????????????小??????????????????????????????????????????????谢?????????????谢???????????????谢??????????????????????味???????????????????妫�??渭?????????????????????????????
?????1-5 ????????????谢???喂?????


?????1-5 ???????谢?

????1.1.6 ?卸????
?????卸???????????????????????卸??????I/O?璞�??????????????????????????????????????????????????卸????????????????????????纾�???????????????????????????????卸???????校???????????????卸?????????些?璞�??????????????????????????????????卸??????????????????谢??????????????渭??卸????????????味???卸??????????????谢????????????卸??????????????????
??????Linux??????校?????????????卸????卸???????????????璞�???????????I/O?卸?????????????卸???????卸??????卸???????卸????????????????????TCP/IP??????SCSI协??????????????????/proc/interrupts????胁???卸??????????
?????????????????校??卸????????????????????卸?????????????????????????????????????????????4.4.2??“CPU???卸?????????”??
????1.1.7 ??????
?????????????????????????????????????????????
??????????????????????????????些??????????锟�?
????TASK_RUNNING
??????????锟�????????????CPU?????谢???????械?????校????卸??校???
????TASK_STOPPED
??????????渭??????些??????SIGINT??SIGSTOP???????????????????????????????校?????SIGCONT??
????TASK_INTERRUPTIBLE
??????????锟�??????????????????些????????????????????????TASK_INTERRUPTIBLE???????????????????????????????????卸??????????????TASK_INTERRUPTIBLE????????????????????????????卸??
????TASK_UNINTERRUPTIBLE
??????TASK_INTERRUPTIBLE??????????????????TASK_UNINTERRUPTIBLE????????卸??????TASK_UNINTERRUPTIBLE??????????????????????魏尾????????TASK_UNINTERRUPTIBLE?????????????????????I/O??????