Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

LinuxϵĽø³Ì¿ØÖƿ飨PCB£©


½ø³ÌÔÚ²Ù×÷ϵͳÖж¼ÓÐÒ»¸ö»§¿Ú£¬ÓÃÓÚ±íʾÕâ¸ö½ø³Ì¡£Õâ¸ö»§¿Ú²Ù×÷ϵͳ±»³ÆÎªPCB£¨½ø³Ì¿ØÖƿ飩£¬ÔÚlinuxÖоßÌåʵÏÖÊÇ
task_structÊý¾Ý½á¹¹£¬Ëü¼Ç¼ÁËһϼ¸¸öÀàÐ͵ÄÐÅÏ¢£º
1.״̬ÐÅÏ¢£¬ÀýÈçÕâ¸ö½ø³Ì´¦ÓÚ¿ÉÖ´ÐÐ״̬£¬ÐÝÃߣ¬¹ÒÆðµÈ¡£
2.ÐÔÖÊ£¬ÓÉÓÚunixÓкܶà±äÖÖ£¬½ø³ÌÓÐ×Ô¼º¶ÀÌØµÄÐÔÖÊ¡£
3.×ÊÔ´£¬×ÊÔ´µÄÁ´½Ó±ÈÈçÄڴ棬»¹ÓÐ×ÊÔ´µÄÏÞÖÆºÍȨÏ޵ȡ£
4.×éÖ¯£¬ÀýÈç°´ÕÕ¼Ò×å¹ØÏµ½¨Á¢ÆðÀ´µÄÊ÷£¨¸¸½ø³Ì£¬×Ó½ø³ÌµÈ£©¡£
ÏÂÃæÊÇÕâÒ»¸öÊý¾Ý½á¹¹
struct task_struct {
    /*
     * offsets of these are hardcoded elsewhere - touch with care
     */
    volatile long state;    /* -1 unrunnable, 0 runnable, >0 stopped
*/ //½ø³Ìµ±Ç°µÄ״̬
    unsigned long flags;    /* per process flags, defined below */   
//·´Ó¦½ø³Ì״̬µÄÐÅÏ¢£¬µ«²»ÊÇÔËÐÐ״̬£¬¶¨Òå¼ûÏÂ
    int sigpending; //½ø³ÌÊÕµ½ÁËÐźţ¬µ«ÉÐδ´¦Àí
    mm_segment_t addr_limit;    /* thread address space: //Ðé´æµØÖ·ÉÏÏÞ
                         0-0xBFFFFFFF for user-thead
                        0-0xFFFFFFFF for kernel-thread
                     */
    struct exec_domain *exec_domain;
    volatile long need_resched;    //Óë½ø³Ìµ÷¶ÈÓйرíʾÓû§´Óϵͳ¿Õ¼ä°´·µ»ØÓû§¿Õ¼äÒªÖ´ÐеÄÒ»´Îµ÷¶È
    unsigned long ptrace;
    int lock_depth;        /* Lock depth */
/*
 * offset 32 begins here on 32-bit platforms. We keep
 * all fields in a single cacheline that are needed for
 * the goodness() loop in schedule().
 */
    long counter; //Óë½ø³Ìµ÷¶ÈÏà¹Ø
    long ni


Ïà¹ØÎĵµ£º

linuxÌí¼Ó´¥ÃþÆÁС¼Ç

ÕâÁ½ÌìÔÚ¸ø×Ô¼ºµÄlinuxϵͳÌí¼Ó´¥ÃþÆÁ£¬ÊìÁ·ÒÔºóÔÙÏë°ì·¨ÒÆÖ²¡£ÒòΪÒÔǰ´ÓÀ´Ã»ÓнӴ¥¹ýÕâ·½ÃæÖ»ÊÇ£¬Ö»ÊÇÔÚÒøÐУ¬³¬ÊУ¬Òƶ¯Óùý¶øÒÑ£¬¼¸ºõ¶Ô¿ª·¢Ã»ÓÐÈκΰïÖú¡£ÓÚÊÇÎÒÔÚwindowsÖа²×°Ê¹Óã¬È·¶¨Ã»ÓÐÎÊÌâ¡£
1.´Ó¹Ù·½ÍøÕ¾ÏÂÕ¾windowsXPÇý¶¯£¬WWW.touchkit.com¡£
2.ÏÂÔØºóÍêÎļþ¼ÐÀïÓиösetup£¬°²×°Èí¼þ¡£
3.ÔÚ²»¶Ï°´&ldquo ......

½«Linux´úÂëÒÆÖ²µ½WindowsµÄ¼òµ¥·½·¨(1)

Ò»£®Ç°ÑÔ
¡¡¡¡LinuxÓµÓзḻ¸÷ÖÖÔ´´úÂë×ÊÔ´,µ«ÊǴ󲿷ִúÂëÔÚWindowsƽ̨Çé¿öÊÇÎÞ·¨Õý³£±àÒëµÄ¡£Windowsƽ̨¸ù±¾ÎÞ·¨Ö±½ÓÀûÓÃÕâЩԴ´úÂë×ÊÔ´¡£Èç¹ûÏëҪʹÓÃÍêÕûµÄ´úÂ룬¾ÍÒª×öÒÆÖ²¹¤×÷¡£ÒòΪC/C++ LibraryµÄ²»Í¬ºÍÆäËûµÄһЩԭÒò£¬ÒÆÖ²C/C++´úÂëÊÇÒ»ÏîÀ§ÄѵŤ×÷¡£±¾ÎĽ«ÒÔÒ»¸öʵ¼ÊµÄÀý×Ó£¨Tar£©À´ËµÃ÷ÈçºÎ°ÑLinux´úÂëÒÆÖ² ......

Linux»»ÐÐÎÊÌâ

WindowsÓëLinuxÖеĻ»ÐÐÊDz»Ò»ÑùµÄ£¬ÒѾ­Óöµ½¹ýºÃ¼¸´ÎÎÊÌâÁË¡«ÅúÁ¿Ð½¨Óû§µÄʱºò£¬ÐÂÓû§²»ÄܵǼ£¬ÒòΪÎÒµÄÎı¾ÊÇÔÚWindowsÏÂÉú³ÉµÄ£¬»»ÐÐÊÇWindows¸ñʽ£¬¶øLinuxÖÐʹÓÃnewusersÃüÁîµ¼Èëµ½passwdÎļþ£¬ÊÇÖ±½Ó¸´ÖƹýÈ¥µÄ¡«²»ÄÜÒ»ÐÐÒ»Ðеĸİ¡¡«ºÇºÇ£¬¸Õ¸Õѧµ½ÁËÒ»ÕС£
×Ö·ûÎļþÔÚÁ½¸öϵͳ֮¼ä¿½±´Ö®ºó£¬¿ÉÒÔʹÓÃdos2unix» ......

linux¶àÏ̺߳ÃÎÄÕÂ


1
¡¢Ï̵߳Ĵ´½¨¡¢ÖÕÖ¹¼°¿ØÖÆ£º
      
Èκνø³ÌÔÚÆô¶¯Ê±¾ÍÒÑÓÐÁËÒ»¸öÖ÷Ị̈߳¬Èç¹ûÐèÒªÔÙÉú³ÉÏß³ÌÔòʹÓÃ
pthread_create
º¯Êý£¬Ôڸú¯ÊýÖпÉÒÔÖ¸¶¨Ï̵߳ÄÊôÐÔ¡¢Ïß³ÌÀý³Ì¡¢´«¸øÏß³ÌÀý³ÌµÄ²ÎÊý¡£Ïß³ÌÀý³ÌÊÇÒ»¸öÓû§×Ô¶¨ÒåµÄº¯Êý£¬¼°Ïß³ÌÖ´ÐеĴúÂë¡£µ±Ïß³ÌÀý³Ì·µ»ØÊ±£¬Ïß³ÌÔò½áÊøÔËÐУ¬ ......

linux socketµÄselectº¯ÊýÀý×Ó

ʹÓÃselectº¯Êý¿ÉÒÔÒÔ·Ç×èÈûµÄ·½Ê½ºÍ¶à¸ösocketͨÐÅ¡£³ÌÐòÖ»ÊÇÑÝʾselectº¯ÊýµÄʹÓ㬹¦Äܷdz£¼òµ¥£¬¼´Ê¹Ä³¸öÁ¬½Ó¹Ø±ÕÒÔºóÒ²²»»áÐ޸ĵ±Ç°Á¬½ÓÊý£¬Á¬½ÓÊý´ïµ½×î´óÖµºó»áÖÕÖ¹³ÌÐò¡£
1. ³ÌÐòʹÓÃÁËÒ»¸öÊý×éfd_A£¬Í¨ÐÅ¿ªÊ¼ºó°ÑÐèҪͨÐŵĶà¸ösocketÃèÊö·û¶¼·ÅÈë´ËÊý×é¡£
2. Ê×ÏÈÉú³ÉÒ»¸ö½Ðsock_fdµÄsocketÃèÊö·û£¬ÓÃÓÚ¼àÌý¶Ë¿ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ