linux 2.6Ô´´úÂëÇé¾°·ÖÎö±Ê¼ÇÖ®ÖжÏÓëÒì³£2
¸ß¼¶¿É±à³Ì¿ØÖÆÆ÷
Èç¹ûϵͳֻÓÐÒ»¸öcpu£¬Ö÷picÊä³öÏßÒÔÖ±½ØÁ˵±µÄ·½Ê½Á¬½Óµ½cpuµÄintrÒý½Å¡£Èç¹ûϵͳÖаüº¬Á½¸ö»ò¶à¸öcpu,¾ÍÐèÒª¸ü¼Ó¸´ÔÓµÄpic.
intel´Óp3¿ªÊ¼ÒýÈëi/o¸ß¼¶¿É±ä³É¿ØÖÆÆ÷£¨APIC£©×é¼þ¡£80x86΢´¦ÀíÆ÷µ±Ç°ËùÓеÄcpu¶¼º¬ÓÐÒ»¸ö±¾µØapic¡£Ã¿¸ö±¾µØapic¶¼ÓÐ32λ¼Ä´æÆ÷£¬Ò»¸öÄÚ²¿Ê±ÖÓ£¬Ò»¸ö±¾µØ¶¨ÊÇÉ豸ÒÔ¼°Îª±¾µØapicÖжϱ£ÁôµÄÁ½Ìõ¶îÍâµÄirqÏßlint0ºÍlint1¡£ËùÓб¾µØapic¶¼Á¬½Óµ½Ò»¸öÍⲿi/o apic£¬ÐγÉÒ»¸ö¶àapicϵͳ¡£
i/o apicµÄ×é³É£ºÒ»×é24ÌõirqÏߣ¬Ò»ÕÅ24ÏîµÄÖж϶¨Ïò±í£¨interrupt redirection table£©£¬¿É±à³Ì¼Ä´æÆ÷£¬ÒÔ¼°Í¨¹ýapic×ÜÏß·¢ËͺͽÓÊÕapicÐÅÏ¢µÄÒ»¸öÐÅÏ¢µ¥Ôª£¬ÖжÏÓÅÏȼ¶²¢²»ÓëÒý½ÅºÅÏà¹ØÁª£ºÖжÏÖØ¶¨Ïò±íÖеÄÿһÏî¶¼¿ÉÒÔ±»µ¥¶À±ä³ÉÒÔÖ¸Ã÷ÖжÏÏòÁ¿ºÍÓÅÏȼ¶£¬Ä¿±ê´¦ÀíÆ÷ÒÔ¼°Ñ¡Ôñ´¦ÀíÆ÷µÄ·½Ê½¡£Öض¨Ïò±íÖеÄÐÅÏ¢ÓÃÓÚ°Ñÿ¸öÍⲿirq ÐźÅת»»ÎªÒ»ÌõÏûÏ¢£¬Í¨¹ýapic×ÜÏß°ÑÏûÏ¢·¢Ë͸øÒ»¸ö»òÕß¶à¸ö±¾µØapicµ¥Ôª¡£
À´×ÔÍⲿӲ¼þÉ豸µÄÖжÏÇëÇóÒÔÁ½ÖÖ·½Ê½ÔÚ¿ÉÓÃcpuÖ®¼ä·Ö·¢£º
1¾²Ì¬·Ö·¢£ºirqÐźŴ«µÝ¸øÖض¨Ïò±íÏàÓ¦ÏîÖÐËùÁгöµÄ±¾µØapic¡£ÖжÏÁ¢¼´´«µÝ¸øÒ»¸öÌØ¶¨µÄcpu£¬»òÕßÒ»×écpu,»òÕßËùÓÐcpu.
2¶¯Ì¬·Ö·¢£ºÈç¹û´¦ÀíÆ÷ÕýÔÚÖ´ÐÐ×îµÍÓÅÏȼ¶µÄ½ø³Ì£¬irqÐźžʹ«µÝ¸øÕâÖÖ´¦ÀíÆ÷µÄ±¾µØapic.
ÿ¸ö±¾µØapic¶¼ÓÐÒ»¸ö¿É±à³ÌÈÎÎñÓÅÏȼ¶¼Ä´æÆ÷£¨task priority register£©trrÓÃÀ´¼ÆË㵱ǰÔËÐнø³ÌµÄÓÅÏȼ¶¡£intelÏ£ÍûÔÚ²Ù×÷ϵͳÄÚºËÖÐͨ¹ýÿ´Î½ø³ÌÇл»¶ÔÕâ¸ö¼Ä´æÆ÷½øÐÐÐ޸ġ£
Èç¹ûÁ½¸ö»òÕß¶à¸öcpu¹²Ïí×îµÍÓÅÏȼ¶£¬¾ÍÀûÓÃÖٲü¼ÊõÔÚÕâЩcpuÖ®¼ä·ÖÅ为ºÉ¡£ÔÚ±¾µØapicµÄÖÙ²ÃÓÅÏȼ¶¼Ä´æÆ÷ÖУ¬¸øÃ¿¸öcpu¶¼·ÖÅäÒ»¸ö0£15·¶Î§ÄÚµÄÊýÖµ¡£
ÿµ±Öжϴ«µÝ¸øÒ»¸öcpuʱ£¬ÆäÏàÓ¦µÄÖÙ²ÃÓÅÏȼ¶¾Í×Ô¶¯ÉèÖÃΪ0£¬¶øÆäËûÿ¸öcpuµÄÖÙ²ÃÓÅÏȼ¶¶¼Ôö¼Ó1.µ±ÖÙ²ÃÓÅÏȼ¶¼Ä´æÆ÷´óÓÚ15ʱ£¬¾Í°ÑËüÉèÖÃΪ»ñʤcpuµÄǰһ¸öÖÙ²ÃÓÅÏȼ¶¼Ó1.Òò´Ë£¬ÖжÏÒÔÂÖת·½Ê½ÔÚcpuÖ®¼ä·Ö·¢£¬ÇÒ¾ßÓÐÏàͬµÄÈÎÎñÓÅÏȼ¶¡£
³ýÁËÔÚ´¦ÀíÆ÷Ö®¼ä·Ö·¢ÖжÏÍ⣬¶àapicϵͳ»¹ÔÊÐícpu²úÉú´¦ÀíÆ÷¼äÖжϡ£µ±Ò»¸öcpuÏ£Íû°ÑÖжϷ¢¸øÁíÒ»¸öcpuʱ£¬¾ÍÔÚ×Ô¼º±¾µØapicµÄÖжÏÖ¸Áî¼Ä´æÆ÷£¨interrupt command register,ICR£©Öдæ·ÅÕâ¸öÖжÏÏòÁ¿ºÍÄ¿±ê±¾µØ APIC±êʶ·û¡£È»ºóͨ¹ýapic×ÜÏßÏòÄ¿±ê±¾µØapic·¢ËÍÒ»ÌõÏûÏ¢£¬´Ó¶øÏò×Ô¼ºµÄcpu·¢³öÒ»¸öÏàÓ¦µÄÖжϡ£
Òì³££º80x86΢´¦ÀíÆ÷·¢²¼ÁË´óÔ¼20ÖÖ²»Í¬µÄÒì³£¡£Äں˱ØÐëΪÿÖÖÒì³£Ìṩһ¸öרÃŵÄÒì³£´¦Àí³ÌÐò¡£
ÖжÏÏòÁ¿±í£¨interrupt descriptor table IDT£©ÊÇÒ»¸ö
Ïà¹ØÎĵµ£º
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
ǰÑÔ£¬Linux/Unix ÉçÇøµÄ°æ¿é²»ÈÈÄÖ£¬ÐÂÊÖÌ«¶à£¬¸ßÊÖ̫棬ż°Ñ×Ô¼ºÕ⼸ÄêµÄLinuxѧϰµÄ¹ý³Ì½²½²£¬Ï£ÍûÄܸø´ó¼ÒÓеã°ïÖú£¬
Òýµ¼³õѧÕßѧϰµÄ·½Ïò£¬ÉÙ×ßÍä·£¬Ê°빦±¶£¬Í¬Ê±Ò²ÊÇÅ×שÒýÓñ£¬Çë¹ýÀ´ÈËÈÈÁÒ·¢ÑÔ¡£
1. Ê×ÏÈÊìϤ Linux
½¨ÒéÔÚ Windows Éϰ²×° VMware Workstation 6.5.0(ÒÔϼò³ÆVM£©, ÏÂÔØÖÖ×ÓÔÚ ......
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define err(msg) perror(msg)
static void mkdirs(const char *dir)
{
char tmp[1024];
char *p;
&nbs ......
±¾ÎÄÖ÷Òª½éÉÜÈçºÎÓÃLinux×öÒ»¸ö¹¦ÄÜÍ걸µÄ·ÓÉÆ÷£¬ÕâÀォÖ÷Òª½éÉܾ²Ì¬Â·ÓÉÆ÷ºÍ¶¯Ì¬Â·ÓÉÆ÷µÄÅäÖ㬵«²»°üÀ¨IPαװ»òÕß˵¹«ÓÃÒ»¸öIPµØÖ··ÃÎÊÍâÃæÍøÂçµÈÎÊÌâ¡£ÆäÒѾ²»ÊôÓÚ±¾Ö÷ÌâÌÖÂ۵ķ¶Î§£¬Çë²Î¿¼ÆäËûÈç·À»ðǽµÄÅäÖõȵÄÄÚÈÝ¡£
LRP(Linux Router Project)ÒѾ³ÉÁ¢ÁËÓкü¸ÄêµÄʱ¼äÁË¡£Õâ¸ö¼Æ»®µÄÄ¿µÄÊÇÀûÓÃLinux²Ù×÷ϵͳ½«À ......
¶ÔÐí¶àÓû§À´Ëµ£¬ÔÚDOSºÍWindows»·¾³ÏÂÀûÓù¤¾ßÈí¼þARJ¡¢WinzipµÈ£¬Ñ¹Ëõ»ò½âѹÎļþÊDZȽÏÈÝÒ×µÄÊ¡£µ«ÊÇ£¬ÔÚLinuxÖÐÈçºÎ¶ÔÎļþ½øÐÐѹËõÓë½âÑ¹ÄØ£¿±¾ÎÄ»ùÓÚRed Hat 6.0£¬½éÉÜÁËѹËõÓë½âѹÎļþµÄ¼¸ÖÖ·½·¨Óë¼¼ÇÉ£¬Ï£Íû¶Ô¶ÁÕßÓÐÒ»¶¨µÄ°ïÖú¡£
ÃüÁ
compress
¸ñʽ£º
compress Ñ¡Ïî ÎļþÁбí
¹¦ÄÜ£º
ÓÃLempel-zivѹËõ·½·¨ ......