¼«Ð¡µÄLinux·¢Ðаæ
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
A:link { so-language: zxx }
-->
Ò»¸ö
Linux
·¢Ðа棬Ìå»ýºÜС£¬Óô¦·´¶øºÜ´ó¡£´Ë»°µ±Õ棿
Ò»°ã¶øÑÔ£¬ÀÏʽ¼ÆËã»úÄڴ涼²»´ó£¬
CPU
´¦ÀíËٶȲ»¹»¿ì¡£ÒªÊÇ°ÑÕû¸ö
Linux
ϵͳ·ÅÈëÄÚ´æÖÐÔËÐУ¬Ò»¶¨ÊǸöºÃ·½·¨¡£
2005
Ä꣬ÔÚÒ»´Î¡¶
Linux
ÊÀ½ç¡·´ó»áÉÏ£¬
Robert
Shingledecker
Ó뼸λºÃÓѽ»Á÷ÁËÕâ¸öÏë·¨¡£ËûÃǼ¸ÈË£¬Ò»Åļ´ºÏ£¬ÓÚÊÇ£¬¾Í¶¯ÊÖ¸ÉÆðÀ´ÁË£¬Õâ¸öÏîÄ¿¾ÍÈ¡ÃûΪ“
Tiny
Core
Linux”(“
¼«Ð¡ºËÐÄ
Linux”)
¡£Êµ¼ÊÉÏ£¬ÕâÊÇÒ»¸ö¼«Ð¡µÄ
Linux
·¢Ðа棨׼ȷµØ˵£¬ÊǼ«Ð¡µÄËùν“
Live
·¢Ðа攣©£¬´úÂëÌå»ý½öÓÐ
10MB
£¬ÉõÖÁ¸üµÍÖ»ÓÐ
7
¸ö
MB
¡£ËüµÄ×î´óÌصãÊÇ£¬Õû¸öϵͳÔËÐÐÔÚÄÚ´æÖУ¬¶øÇÒ£¬ÔÊÐíÓû§Ìí¼Ó×Ô¼ºµÄÓ¦ÓóÌÐò¡£½ñÄê
11
ÔÂ
6
ÈÕ£¬
Tiny
Core 2.5
°æ±¾Õýʽ·¢²¼£¬ÕâÊÇÒ»¸ö·Ç³£»îÔ¾µÄÉçÇø°æ±¾¡£
´ó¼ÒÖªµÀ£¬ÔÚ
Linux
ÊÀ½çÖÐÓÐÐí¶àСÍæÒâ¶ù£¬ÓÐЩ¶«Î÷ÄãÒ²Ðí¸ù±¾²»ÖªµÀ¡£
Tiny
Core
»ùÓÚ
Linux
2.6
Äںˣ¬
BusyBox
£¬
Tiny
X
£¬
FLTK
ͼÐÎÓû§½Ó¿ÚºÍ
JWM
´°¿Ú¹ÜÀíÆ÷¡£Ëü²¢²»ÊÇÒ»¸öÍêÕûµÄ×ÀÃæ»·¾³£¬Ò²²»ÊÇʲôӲ¼þ¶¼¼æÈÝ£¬Ö»ÊÇÄÜ°ÑÒ»¸ö¼«Ð¡µÄ
X
´°¿Ú×ÀÃ漤»îÆðÀ´¶øÒÑ£¬¾ßÌåÓ¦ÓÃÒªÓÉÓû§×Ô¼ºÌí¼Ó¡£
ʵ¼ÊÉÏ£¬Õâ¸ö¼«Ð¡µÄ
Linux
·¢Ðа棬¿Éν“ÈËСÉñͨ´ó”£¬»ùÓÚËü£¬¿ÉÒÔ¿ª·¢³öÐí¶àС¹¤¾ß¡¢Ð¡Ó¦Óá£Ëü¸Ä±äÁËÈËÃǶÔ
Linux
×ÀÃæµÄ´«Í³¿´·¨ºÍ¹ÛÄî¡£ËüÔËÐм«¿ì£¬ÏµÍ³Îȶ¨£¬¸É¸É¾»¾»ºÍ·Ç³£ÓÐȤ¡£»ùÓÚËü£¬¸ãÒ»¸öºúÂÒÉÏÍø³åÀ˵Ä×ÔÆô¶¯
U
ÅÌ£¬Õæ¹ýñ«£¡²»Å²¡¶¾£¬Ã»ÓÐľÂí£¬¼ÆËã»úÒ»¹Ø£¬Ò»ÇбãºÁÎÞ×ÙÓ°¡£
ÈËÃǶÔ
Linux
·¢ÐаæµÄ´«Í³¹ÛÄîÐèÒª¸Ä±ä¡£
Linux
·¢Ðа棬²»±ØÏñ
Win
7
£¬¿É´ó¿ÉС£¬Éñ³ö¹íû£¬Áé»î¶à±ä¡£
XP
Óû§ÈÔÈ»ÊÇ
XP
Óû§£¬Í¬Ê±£¬Ò²ÊÇ
Linux
µÄ·ÛË¿£¬ÕâÓÖÓкηÁ£¿¹Ø¼üµÄÎÊÌâÔÚÓÚ£ºÕâÖÖÁÕÀÅÂúÄ¿µÄ
Linux
·¢Ðа棨һ°ã¶¼ÊÇСÍæÒâ¶ù£©±ØÐëÖÆ×÷¾«ÃÀ£¬Íâ¹ÛƯÁÁ£¬È˼ûÈË°®¡£Ë˵
Linux
ÒªÌæ´ú
Windows
£¿ÎÒ¿´£¬
Linux
×ÀÃæËæÉí´ø£¬
Windows
×ÀÃæɵ´ô´ô£¨±ØÐëÒª¼¤
Ïà¹ØÎĵµ£º
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌṩÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
ÀýÒ»£º·¢ËÍ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 ......
LinuxµÄÒ»¸öÎüÒýÈ˵ÄÌØÐÔ¾ÍÊÇÓû§¿ÉÒÔ×ÔÐж¨ÖÆÕû¸öϵͳ£¬Äã¿ÉÊÇÔËÐÐÒ»¸öÖ»ÓÐ1MµÄ“ÃÔÄã”Linux£¬Ò²¿ÉÒÔÔËÐÐÒ»¸ö¼¸GµÄÇ¿´óLinux¡£¶øÎÞÂÛÄãÔËÐÐÔõÑùµÄLinux£¬Ä㶼ÊÇÏÈ´ÓÒýµ¼³ÌÐò¿ªÊ¼ÔËÐеġ£¶ÔÓÚÆÕͨÓû§£¬´ó¶à¶¼ÊÇÔÚ¸öÈ˵çÄÔÉÏÔËÐÐLinuxµÄ¡£
¡¡¡¡¸öÈ˵çÄÔ£¬ÓÖ½ÐPC»ú£¬ÊÇÎÒÃdz£¼ûµÄʹÓÃIntel»òAMDµÄоƬµÄµç ......
¾Å£º¼¸µã²¹³ä£º
1: SlabÖÐʹÓõÄÒ³Ã涼»á¼ÓÉÏ“PG_slab”±êÖ¾£¬ÒÔ¸úÒ»°ãµÄÒ³ÃæÇø±ð¡£ÁíÍ⣬ÔÚÊÍ·ÅÄÚ´æµÄʱºò£¬¾³£ÐèÒªÓõ½´ÓÒ³Ãæµ½slabµÄ¶ÔӦת»»¹Øϵ¡£ÄÇÊÇÔõÑù±êʶµÄÄØ£¿
¹ØÓÚ±êÖ¾£º
×¢ÒâÓÐÒÔÏ´úÂ룺
static void *kmem_getpages(kmem_cache_t *cachep, int flags, int nodeid)
{
&n ......
/*
kmalloc can apply 128KB memory only. This func support any continous memory allocate more than 2MB.
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kallsyms.h>
#define KMEM_PAGES &nb ......