LinuxϵͳÆô¶¯Á÷³Ì
À´Ô´: ChinaUnix²©¿Í ¡¡ÈÕÆÚ£º 2009.05.12 07:02¡¡(¹²ÓÐ0ÌõÆÀÂÛ) ÎÒÒªÆÀÂÛ
LinuxϵͳÆô¶¯Á÷³Ì
¿ªÊ¼-à³õʼ»¯BIOS-àÖ´ÐÐÆô¶¯¼ÓÔØÆ÷--àÔØÈëÄÚºË--àÆô¶¯init·þÎñ-à½áÊø
¿ªÊ¼£º
Á÷³Ì·ÖÎö£º
Ò»£º³õʼ»¯BIOS
1£º¼ì²âËùÓÐÍⲿÉ豸
2£ºÑ°ÕÒÆô¶¯´ÅÅÌ
¶þ£ºÖ´ÐÐÆô¶¯¼ÓÔØÆ÷
1£ºBIOSÕÒµ½Æô¶¯´ÅÅÌÖ®ºó£¬½ÓÏÂÀ´¾ÍÒªÆô¶¯´ÅÅÌÀïÃæµÄ²Ù×÷ϵͳ£º
£¨1£©£ºÑ°ÕÒÓ²Å̵ĵÚÒ»¸öÉÈÇø£¬¼´Ö÷ÒªÒýµ¼ÉÈÇøMBR¡£
£¨2£©£ºÈç¹ûMBRÀïÃæûÓвÙ×÷ϵͳ£¬ÔòÑ°ÕÒ´ÅÅÌÖбê×¢Æô¶¯·ÖÇøµÄµÚÒ»¸öÉÈÇøµÄ²Ù×÷ϵͳ¡£
˵Ã÷£º²»¹ÜÊÇÖ÷ÒªÆô¶¯¼Ç¼ÉÈÇø£¬»¹ÊÇÆô¶¯·ÖÇøµÄµÚÒ»¸öÉÈÇø£¬´æ´¢²Ù×÷ϵͳµÄ¿Õ¼äÖ»ÓÐ446¸ö×Ö½Ú£¬Ä¿Ç°ÎªÖ¹£¬»¹Ã»ÓвÙ×÷ϵͳÄܹ»´æ´¢ÔÚ446¸ö×Ö½ÚÀïÃæ¡£
ÈçºÎÈÃBIOS˳ÀûÆô¶¯´æ´¢ÓÚÆäËûλÖõIJÙ×÷ϵͳ£¬ÏµÍ³¿ª·¢ÈËÔ±¿ª·¢ÁËÒ»¸öС³ÌÐò£¬¼´Æô¶¯¼ÓÔØÆ÷£¨Boot Loader£©¡£°ÑËü´æ´¢µ½ÁËÆô¶¯ÉÈÇøµÄÇ°446¸ö×Ö½ÚÀïÃæ¡£µ±BIOSÊÔͼȥ´ÅÅ̵ÄÆô¶¯ÉÈÇøÈ¥Æô¶¯²Ù×÷ϵͳʱºò£¬¾Í¿ÉÒÔÖ´ÐÐÕâ¸ö³ÌÐò¡£
È»ºóÔÙÓÉÕâ¸öС³ÌÐòÀ´¼ÓÔØ´æ´¢ÔÚÆäËû´ÅÅ̵IJÙ×÷ϵͳÁË¡£
Èý£ºÔØÈëÄÚºË
µ±BIOS˳ÀûÖ´ÐÐÆô¶¯¼ÓÔØÆ÷ºó£¬Æô¶¯¼ÓÔØÆ÷»áÑ°ÕÒ´æ´¢ÓÚÆäËûÉÈÇøµÄ²Ù×÷ϵͳ¡£È»ºóÆô¶¯Õâ¸ö²Ù×÷ϵͳ¡£
ÄÚºËÆô¶¯ºó£¬»áÖ´ÐÐÈçϲÙ×÷£º
1£ºlinuxÄں˴ÓBIOSÄÇÀï½Ó¹ÜϵͳËùÓеÄÓ²¼þÐÅÏ¢¡£ÒÔ±ãÌṩ¸øϵͳʹÓá£
2£ºÇý¶¯Ó²¼þÉ豸
ÄÚºËÒªÇý¶¯ÕâЩӲ¼þÉ豸£¬¾Í±ØÐë¼ÓÔØÓ²¼þµÄÇý¶¯³ÌÐò¡£
£¨1£©£ºlinuxµÄÇý¶¯³ÌÐò·ÖΪ±àÒëÔÚÄں˾µÏñÎļþÖеľ²Ì¬Çý¶¯³ÌÐòºÍÄÚºËÄ£¿éµÄ¶¯Ì¬Çý¶¯³ÌÐò¡£ÆäÖÐÄÚºËÄ£¿éµÄ¶¯Ì¬Çý¶¯³ÌÐòÈ«²¿´æ·ÅÔÚ¸ùÎļþϵͳÀï¡£ÓÉÓÚ´Ëʱlinux»¹Î´¹ÒÔظùÎļþϵͳ£¬Òò¶øÎÞ·¨Ê¹Óô洢ÔÚ¸ùÎļþϵͳµÄÄÚºËÄ£¿é¡£Òò´ËÔÚlinuxÄں˽׶ÎÖ»»áʹÓþ²Ì¬µÄÇý¶¯³ÌÐò£¬Çý¶¯ÏµÍ³±ØÐëµÄÓ²¼þÉ豸¡£µ«ÊÇΪÁËÒÔ·ÀÍòÒ»¶øµ¼ÖÂÎÞ·¨¹ÒÔظùÎļþϵͳ£¬linuxϵͳÔÚÆô¶¯Ê±ºòÀûÓÃinitrdÕâ¸ö³õʼ»¯ÄÚ´æ´ÅÅ̵ĻúÖÆÀ´Æô¶¯Ò»Ð©±ØÒªµÄÄ£¿é¡£´Ó¶ø¼ÓÔØһЩÌØÊâµÄÓ²¼þÉ豸¡£
£¨2£©£ºinitrd£¨³õʼ»¯ÄÚ´æ´ÅÅÌ£©
ϵͳÔÊÐí°Ñ¸ùÎļþϵͳµÄ²¿·ÖÄÚºËÄ£¿éÓ³Éä³É“³õʼ»¯ÄÚ´æ´ÅÅÌ£¨Initial RAM Disk, initrd£©”µÄ¾µÏñÎļþ£¬Æô¶¯ÄÚºËʱºò£¬ÔÙ°Ñinitrd¾µÏñÎļþ¼ÓÔص½Äںˣ¬Äں˱ã¿ÉÒÔ´Óinitrd¾µÏñÎļþ¼ÓÔØÍâÉ豸µÄÄ£¿é£¬ÔÙÈ¥Çý¶¯ÕâЩÌØÊâµÄÓ²¼þÉ豸ÁË¡£ÕâÑùϵͳ¾Í¿ÉÒÔ˳Àû¹ÒÔظùÎļþϵͳ²¢Õý³£Æô¶¯ÁË¡£
3£ºÒÔÖ»¶ÁµÄ·½Ê½¹ÒÔظùÎļþϵͳ¡£
½Ó×ÅÄں˻᳢ÊÔÈ¥¹ÒÔ
Ïà¹ØÎĵµ£º
ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......
ת×Ôhttp://blog.163.com/ericxia_gnikam/blog/static/969208792008102545614453/
ÔÚLinux kernelµÄÔ´´úÂëÖУ¬¾³£Äܼûµ½if(likely(x))»òif(unlikely(x))Ö®ÀàµÄÓ÷¨£¬ÆäÈ·Çк¬ÒåÐèҪ˵Ã÷һϣ¬ÒÔ±ã¸üºÃµÄÀí½âkernelµÄÔ´´úÂë¡£
likelyÓëunlikelyÕâÁ½¸öºêÔÚlinux/compiler.hÖеĶ¨ÒåÈçÏ£º
#define likely ......
Ê×ÏÈ°²×°±ØÐèµÄ¿ª·¢
°ü
sudo apt-get install gcc g++ libgcc1 libg++ make gdb
°²×°MYSQLµÄCÓïÑÔ¿ª·¢°ü
sudo apt-get install libmysql++-dev libmysql++2c2a libmysqlclient15-dev libmysqlclient15off
°ÑlibÎļþ¿½±´µ½¹«ÓÃ
sudo cp /usr/lib/mysql/* /usr/lib/
½¨Á¢Ò»¸öÐÂÎļþtest.cpp
vim test.cpp
ÊäÈëÄÚÈÝ
......
×÷Õߣºsixth
Ò»¡¢LinuxµÄÆô¶¯Á÷³Ì
1. ´ÓBIOSµ½KERNEL
BIOS×Ô¼ì£>MBR(GRUB)£>KERNEL£>KERNEL×Ô½âѹ£>Äں˳õʼ»¯£>ÄÚºËÆô¶¯
2. ÄÚºËÆô¶¯£º´´½¨1££½ø³Ì²¢Ö´ÐУ¬ÓÉËü´´½¨Èô¸ÉÄÚºËỊ̈߳¨kernel thread£©£¬È»ºó×°Èë²¢Ö´ÐгÌÐò/sbin/init£¨±ä³ÉÒ»¸öÓû§½ø³Ì£©¡£´Ëºó£¬init¸ù¾Ý/etc/initt ......
Ò»¡¢ ʲôÊÇϵͳµ÷ÓÃ
ÔÚLinuxµÄÊÀ½çÀÎÒÃǾ³£»áÓöµ½ÏµÍ³µ÷ÓÃÕâÒ»ÊõÓËùνϵͳµ÷Ó㬾ÍÊÇÄÚºËÌṩµÄ¡¢¹¦ÄÜÊ®·ÖÇ¿´óµÄһϵÁеĺ¯Êý¡£ÕâЩϵͳµ÷ÓÃÊÇÔÚÄÚºËÖÐʵÏֵģ¬ÔÙͨ¹ýÒ»¶¨µÄ·½Ê½°Ñϵͳµ÷ÓøøÓû§£¬Ò»°ã¶¼Í¨¹ýÃÅ(gate)ÏÝÈë(trap)ʵÏÖ¡£ÏµÍ³µ÷ÓÃÊÇÓû§³ÌÐòºÍÄں˽»»¥µÄ½Ó¿Ú¡£
¶þ¡¢ ϵͳµ÷ÓõÄ×÷Ó ......