×ªÔØ linux 2.6Äں˽ø³Ì¹ÜÀí
linux 2.6Äں˽ø³Ì¹ÜÀí
linuxÿ¸ö½ø³Ì¶ÔÓ¦Ò»¸ötask_structÀàÐͽṹ¡£¸Ã½á¹¹°üº¬½ø³ÌÏà¹ØµÄËùÓÐÐÅÏ¢¡£linux½ø³Ìͨ¹ýlist_head×é֯˫ÏòÁ´±í£¬Ã¿Ò»¸ö½áµã¾ÍÊÇÒ»¸ö½ø³ÌÃèÊö·û¡£½ø³ÌÃèÊö·ûÀïÃæ°üº¬Á˽ø³ÌËùÓеÄÐÅÏ¢£º½ø³ÌËù´ò¿ªµÄÎļþ¡¢½ø³ÌµÄµØÖ·¿Õ¼ä¡¢¹ÒÆðÐźš¢½ø³Ì״̬ºÍÆäËû¸ü¶àµÄÐÅÏ¢¡£ÒÔÏÂÊǽø³ÌÃèÊö·ûµÄ²¿·Ö¶¨Ò壺
shruct task_struct
{
unsigned long state; //½ø³ÌµÄ״̬£¬ÔÚ2.6.23ÒѾÓÐ9¸ö״̬
unsigned long policy; //ÃèÊö½ø³Ìµ÷¶È²ßÂÔ.ÅжÏÊÇʵʱ½ø³Ì»¹ÊÇ·Çʵʱ½ø³Ì
struct task_struct *parent; //×éÖ¯½ø³ÌµÄ²ã´Î¹ØÏµ£¬Ö¸Ïò¸¸½ø³Ì
struct list_head tasks; //ͨ¹ýlist_head×éÖ¯³ÉË«ÏòÁ´±í
pid_t pid; //ÿ¸ö½ø³ÌΨһµÄ±êºÅ
......
};
½ø³ÌÃèÊö·ûÀïÃæÓÐÒ»¸öpid£¬Ëü¾ÍÊǽø³Ì¼äÇø±ð±êÖ¾¡£Ëüʵ¼ÊÉÏÊÇÒ»¸ö¶ÌÕûÐÍÊý¾Ý£¬Ò²¾ÍÊÇ˵Ëü×î´óֵΪ32767¡£
linuxͨ¹ýslab·ÖÅäÆ÷·ÖÅätask-struct½á¹¹¡£ÕâÑùÄÜ×öµ½¶ÔÏó¸´Ó㬼õÉÙ¶¯Ì¬·ÖÅäºÍÊÍ·Å´øÀ´µÄ×ÊÔ´ÏûºÄ¡£
linux ͨ¹ýcurrentºê²éÕÒµ±Ç°ÕýÔÚÔËÐеĽø³ÌÃèÊö·û¡£²»Í¬µÄÓ²¼þÌåϵ£¬ÓеÄÓ²¼þÄóöרÃŵļĴæÆ÷´æ·Åµ±Ç°½ø³Ì¡£X86ÔÚÄÚºËÕ»µÄβ¶Ë´´½¨thread_info½á¹¹£¬¸Ã½á¹¹ÖÐtaskÓòÖ¸Ïò¸Ã¸ÃÈÎÎñtask_struct¡£Í¨¹ý¼ÆËãÆ«ÒÆ¼ÆËã³öµ±Ç°µÄ½ø³Ì¡£
currentºê²Î¿¼£ºhttp://blog.chinaunix.net/u1/55599/showart_1080763.html
linux½ø³ÌµÄ״̬£º
·ÔËÐУ¨TASK_RUNNING£©:
¾ÍÐ÷״̬(Ö¸½ø³ÌËæÊ±¿ÉÒÔͶÈëÔËÐÐ) ÔËÐÐ״̬(Ö¸½ø³ÌÕýÔÚÔËÐÐ)¡£
×¢£ºlinuxûÓоÍÐ÷¶ÓÁУ¬ÒѾÍÐ÷½ø³ÌºÍµ±Ç°ÕýÔÚÔËÐеĽø³Ìstate¶¼ÎªTASK_RUNNING
·¿ÉÖжϣ¨TASK_INTERUPTIBLE£©:
¸Ã״̬µÄ½ø³ÌÄ
Ïà¹ØÎĵµ£º
Ò»¡¢ÌáǰµÄ»°
¡¡¡¡ÒªËµCÓïÑÔºÍLinuxµÄ¹ØÏµ´ó¼ÒÓ¦¸Ã¶¼²»»áİÉú£¬LinuxϵͳÄں˾ÍÊÇÓÃCÓïÑÔ¿ª·¢µÄ£¬ËùÒÔËùÓеÄLinuxϵͳÏÂÃæ ¶¼»áÓÐCµÄ±àÒëµ÷ÊÔ¹¤¾ß£¬²»¹ýÕâЩ¹¤¾ß¶¼ÊÇÃüÁîʽµÄ£¬Õýʽ¿ª·¢µÄ»°»áºÜ²»·½±ã¡£FedoraÔÚ°²×°µÄʱºò¿ÉÒÔÑ¡Ôñ°²×°Fedora Eclipse£¬Õâ¸öIDEºÜÇ¿´ó£¬C£¬C++£¬Java£¬PythonµÈµÈ¶¼Ö§³Ö£¬¶øÇÒ±àÒ룬µ÷ÊÔºÍ ......
linuxϵͳÎļþ½éÉÜ
Îļþϵͳ·ÖΪÐí¶à²¿·Ö£¬Í¨³£´Ó¸ùÎļþϵͳÓУº /bin , /lib , /etc , /dev ,
¼°Ò»Ð©ÆäËû£» /usr Îļþϵͳ°üº¬³ÌÐòºÍ²»¸Ä±äµÄÊý¾Ý£» /var Îļþϵͳ°üº¬¸Ä±äµÄÊý¾Ý(ÀýÈçlogÎļþ)£» /home
Îļþϵͳ°üº¬Ã¿¸öÓû§µÄ¸öÈËÎļþ¡£
ÿ̨»úÆ÷¶¼ÓиùÎļþϵͳ/
(Ò»°ãÔÚ±¾µØÅÌÖУ¬µ±È»Ò²¿ÉÒÔÔ ......
Ëæ×ÅÒ»¾äfork£¬Ò»¸öнø³ÌßÉßÉÂ䵨£¬µ«ËüÕâʱֻÊÇÀϽø³ÌµÄÒ»¸ö¿Ë¡¡£
È»ºóËæ×Åexec£¬Ð½ø³ÌÍÑÌ¥»»¹Ç£¬Àë¼Ò¶ÀÁ¢£¬¿ªÊ¼ÁËΪÈËÃñ·þÎñµÄÖ°ÒµÉúÑÄ¡£
ÈËÓÐÉúÀϲ¡ËÀ£¬½ø³ÌÒ²Ò»Ñù£¬Ëü¿ÉÒÔÊÇ×ÔÈ»ËÀÍö£¬¼´ÔËÐе½mainº¯ÊýµÄ×îºóÒ»¸ö"}"£¬´ÓÈݵØÀëÎÒÃǶøÈ¥£»Ò²¿ÉÒÔÊÇ×Ôɱ£¬×ÔɱÓÐ2ÖÖ·½
ʽ£¬Ò»ÖÖÊǵ÷ÓÃexitº¯Êý£¬Ò»ÖÖÊÇÔÚma ......
ÎÒÃÇÖªµÀ£¬ÔÚlinuxÏ£¬ÎÒÃÇÓÃerrnoÀ´²é¿´API·µ»ØµÄ´íÎóÂ룬²¢ÓÃstrerror(errno)À´»ñµÃ´íÎóÐÅÏ¢¡£
¶øÔÚwindowsÏÂÒ²ÓÐÕâµÄ´íÎóÂ룬¿ÉÒÔÓÃGetLastError
À´»ñµÃ£¬ÔÚwindowsÏ£¬Òª»ñµÃ´íÎóÂë¶ÔÓ¦µÄÐÅÏ¢¾ÍûÓÐlinuxÏÂÄÇô·½±ãÁË¡£
Æä»ñµÃ·½Ê½¿ÉÒԲο¼¡¶windowsºËÐıà³Ì¡·¡£
µ«ÎÒÃÇÒ²¿ÉÒÔÓÃlinuxϵÄapiÀ´»ñµÃwindowsϵĴíÎóÐ ......
.tar
¡¡¡¡½â°ü£ºtar xvf FileName.tar
¡¡¡¡´ò°ü£ºtar cvf FileName.tar DirName
¡¡¡¡£¨×¢£ºtarÊÇ´ò°ü£¬²»ÊÇѹËõ£¡£©
¡¡¡¡———————————————
¡¡¡¡.gz
¡¡¡¡½âѹ1£ºgunzip FileName.gz
¡¡¡¡½âѹ2£º ......