Linux»ã±àÓï·¨¿ª·¢
»ã±àÓïÑÔµÄÓŵãÊÇËٶȿ죬¿ÉÒÔÖ±½Ó¶ÔÓ²¼þ½øÐвÙ×÷£¬Õâ¶ÔÖîÈçͼÐδ¦ÀíµÈ¹Ø¼üÓ¦ÓÃÊǷdz£ÖØÒªµÄ¡£Linux ÊÇÒ»¸öÓà C ÓïÑÔ¿ª·¢µÄ²Ù×÷ϵͳ£¬ÕâʹµÃºÜ¶à³ÌÐòÔ±¿ªÊ¼Íü¼ÇÔÚ Linux Öл¹¿ÉÒÔÖ±½ÓʹÓûã±àÕâÒ»µ×²ãÓïÑÔÀ´ÓÅ»¯³ÌÐòµÄÐÔÄÜ¡£±¾ÎÄΪÄÇЩÔÚLinux ƽ̨Éϱàд»ã±à´úÂëµÄ³ÌÐòÔ±ÌṩָÄÏ£¬½éÉÜ Linux »ã±àÓïÑÔµÄÓï·¨¸ñʽºÍ¿ª·¢¹¤¾ß£¬²¢¸¨ÒÔ¾ßÌåµÄÀý×Ó½²ÊöÈçºÎ¿ª·¢ÊµÓõÄLinux »ã±à³ÌÐò¡£
Ò»¡¢¼ò½é
×÷Ϊ×î»ù±¾µÄ±à³ÌÓïÑÔÖ®Ò»£¬»ã±àÓïÑÔËäȻӦÓõķ¶Î§²»ËãºÜ¹ã£¬µ«ÖØÒªÐÔÈ´ÎðÓ¹ÖÃÒÉ£¬ÒòΪËüÄܹ»Íê³ÉÐí¶àÆäËüÓïÑÔËùÎÞ·¨Íê³ÉµÄ¹¦ÄÜ¡£¾ÍÄà Linux ÄÚºËÀ´½²£¬ËäÈ»¾ø´ó²¿·Ö´úÂëÊÇÓà C ÓïÑÔ±àдµÄ£¬µ«ÈÔÈ»²»¿É±ÜÃâµØÔÚijЩ¹Ø¼üµØ·½Ê¹ÓÃÁË»ã±à´úÂ룬ÆäÖÐÖ÷ÒªÊÇÔÚ Linux µÄÆô¶¯²¿·Ö¡£ÓÉÓÚÕⲿ·Ö´úÂëÓëÓ²¼þµÄ¹ØÏµ·Ç³£ÃÜÇУ¬¼´Ê¹ÊÇ C ÓïÑÔÒ²»áÓÐЩÁ¦²»´ÓÐÄ£¬¶ø»ã±àÓïÑÔÔòÄܹ»ºÜºÃÑﳤ±Ü¶Ì£¬×î´óÏ޶ȵط¢»ÓÓ²¼þµÄÐÔÄÜ¡£´ó¶àÊýÇé¿öÏ Linux ³ÌÐòÔ±²»ÐèҪʹÓûã±àÓïÑÔ£¬ÒòΪ¼´±ãÊÇÓ²¼þÇý¶¯ÕâÑùµÄµ×²ã³ÌÐòÔÚ Linux ²Ù×÷ϵͳÖÐÒ²¿ÉÒÔÓÃÍêÈ«Óà C ÓïÑÔÀ´ÊµÏÖ£¬ÔÙ¼ÓÉÏ GCC ÕâÒ»ÓÅÐãµÄ±àÒëÆ÷ĿǰÒѾÄܹ»¶Ô×îÖÕÉú³ÉµÄ´úÂë½øÐкܺõÄÓÅ»¯£¬µÄÈ·ÓÐ×ã¹»µÄÀíÓÉÈÃÎÒÃÇ¿ÉÒÔÔÝʱ½«»ã±àÓïÑÔÅ×ÔÚÒ»±ßÁË¡£µ«ÊµÏÖÇé¿öÊÇ Linux ³ÌÐòÔ±ÓÐʱ»¹ÊÇÐèҪʹÓûã±à£¬»òÕß²»µÃ²»Ê¹Óûã±à£¬ÀíÓɺܼòµ¥£º¾«¼ò¡¢¸ßЧºÍ libc ÎÞ¹ØÐÔ¡£¼ÙÉèÒªÒÆÖ² Linuxµ½Ä³Ò»Ìض¨µÄǶÈëʽӲ¼þ»·¾³Ï£¬Ê×ÏȱØÈ»ÃæÁÙÈçºÎ¼õÉÙϵͳ´óС¡¢Ìá¸ßÖ´ÐÐЧÂʵÈÎÊÌ⣬´Ëʱ»òÐíÖ»Óлã±àÓïÑÔÄܰïÉÏæÁË¡£
»ã±àÓïÑÔÖ±½Óͬ¼ÆËã»úµÄµ×²ãÈí¼þÉõÖÁÓ²¼þ½øÐн»»¥£¬Ëü¾ßÓÐÈçÏÂһЩÓŵ㣺
1.Äܹ»Ö±½Ó·ÃÎÊÓëÓ²¼þÏà¹ØµÄ´æ´¢Æ÷»ò I/O ¶Ë¿Ú£»
2.Äܹ»²»ÊܱàÒëÆ÷µÄÏÞÖÆ£¬¶ÔÉú³ÉµÄ¶þ½øÖÆ´úÂë½øÐÐÍêÈ«µÄ¿ØÖÆ£»
3.Äܹ»¶Ô¹Ø¼ü´úÂë½øÐиü׼ȷµÄ¿ØÖÆ£¬±ÜÃâÒòÏ̹߳²Í¬·ÃÎÊ»òÕßÓ²¼þÉ豸¹²ÏíÒýÆðµÄËÀËø£»
4.Äܹ»¸ù¾ÝÌØ¶¨µÄÓ¦ÓöԴúÂë×ö×î¼ÑµÄÓÅ»¯£¬Ìá¸ßÔËÐÐËÙ¶È£»
5.Äܹ»×î´óÏ޶ȵط¢»ÓÓ²¼þµÄ¹¦ÄÜ¡£
ͬʱ»¹Ó¦¸ÃÈÏʶµ½£¬»ã±àÓïÑÔÊÇÒ»ÖÖ²ã´Î·Ç³£µÍµÄÓïÑÔ£¬Ëü½ö½ö¸ßÓÚÖ±½ÓÊÖ¹¤±àд¶þ½øÖƵĻúÆ÷Ö¸ÁîÂ룬Òò´Ë²»¿É±ÜÃâµØ´æÔÚһЩȱµã£º
1.±àдµÄ´úÂë·Ç³£ÄѶ®£¬²»ºÃά»¤£»
2.ºÜÈÝÒײúÉú bug£¬ÄÑÓÚµ÷ÊÔ£»
3.Ö»ÄÜÕë¶ÔÌØ¶¨µÄÌåϵ½á¹¹ºÍ´¦ÀíÆ÷½øÐÐÓÅ»¯£»
4.¿ª·¢Ð§Âʺܵͣ¬Ê±¼ä³¤ÇÒµ¥µ÷¡£
Linux ÏÂÓûã±àÓïÑÔ±àдµÄ´úÂë¾ßÓÐÁ½ÖÖ²»Í¬µÄÐÎʽ¡£
µÚÒ»ÖÖÊÇÍêÈ«µÄ»ã±à´úÂ룬ָµÄÊÇÕû¸ö³ÌÐòÈ«²¿Óûã±àÓïÑÔ±àд¡£¾
Ïà¹ØÎĵµ£º
¸ß¼¶¿É±à³Ì¿ØÖÆÆ÷
Èç¹ûϵͳֻÓÐÒ»¸öcpu£¬Ö÷picÊä³öÏßÒÔÖ±½ØÁ˵±µÄ·½Ê½Á¬½Óµ½cpuµÄintrÒý½Å¡£Èç¹ûϵͳÖаüº¬Á½¸ö»ò¶à¸öcpu,¾ÍÐèÒª¸ü¼Ó¸´ÔÓµÄpic.
intel´Óp3¿ªÊ¼ÒýÈëi/o¸ß¼¶¿É±ä³É¿ØÖÆÆ÷£¨APIC£©×é¼þ¡£80x86΢´¦ÀíÆ÷µ±Ç°ËùÓеÄcpu¶¼º¬ÓÐÒ»¸ö±¾µØapic¡£Ã¿¸ö±¾µØapic¶¼ÓÐ32λ¼Ä´æÆ÷£¬Ò»¸öÄÚ²¿Ê±ÖÓ£¬Ò»¸ö±¾µØ¶¨ÊÇÉ豸ÒÔ¼°Îª±¾µ ......
³õʼ»¯ÖжÏÃèÊö·û±í
ÄÚºËÆôÓÃÖжÏÒÔǰ£¬±ØÐë°Ñidt±íµÄ³õʼµØÖ·×°µ½idtr¼Ä´æÆ÷£¬²¢³õʼ»¯±íÖеÄÿһÏî¡£ÕâÏ×÷ÊÇÔÚ³õʼ»¯ÏµÍ³Ê±Íê³É¡£
intÖ¸ÁîÔÊÐíÓû§Ì¬½ø³Ì·¢³öÒ»¸öÖжÏÐźţ¬ÆäÖµ¿ÉÒÔÊÇ0-255µÄÈÎÒâÒ»¸öÏòÁ¿¡£Òò´Ë¡£ÎªÁË·ÀÖ¹Óû§Í¨¹ýintÖ¸ÁîÄ£Äâ·Ç·¨µÄÖжϺÍÒì³££¬idtµÄ³õʼ»¯±ØÐë·Ç³£Ð¡ÐÄ¡£Õâ¿ÉÒÔͨ¹ý°ÑÖжϻòÕßÏÝÚåà ......
ÿ¸öÖжÏÏòÁ¿¶¼ÓÐ×Ô¼ºµÄirq_desc_tÃèÊö·û£¬ËùÓеÄÕâЩÃèÊö·û×éÖ¯ÔÚÒ»ÆðÐγÉirq_descÊý×é¡£
typedef struct irq_desc {
hw_irq_controller *handler;Ö¸Ïòpic¶ÔÏó£¨hw_irq_controllerÃèÊö·û£©£¬·þÎñÓÚirqÏß
void *handler_data;Ö¸ ......
ÐźÅÖ¸¶¨´¦Àíº¯Êý
void (*signal (int signum,void (*handle)(int)))(int);ÉèÖÃij¸öÐźŵĴ¦Àí·½·¨
int sigaction(int signum,const struct sigaction *act,struct sigaction *oldact);ÓÃÓÚ¼ì²é»ò¸Ä±ä½ø³ÌÔÚ½Óµ½ÐźÅʱµÄ¶¯×÷
Ðźż¯²Ù×÷º¯Êý
static inline void sigaddset(sigset_t *set,int _sig);
static inline voi ......
Today is the last day in 2009, I have no idea what should I do but just want to pray that my family, relatives and bosom friends would have a sweet life in the next year. Linux is a 2nd OS in my life, there are always something new can make me feel awesome, so I think that with continuou ......