Éî¶È½éÉÜLinuxÄÚºËÊÇÈçºÎ¹¤×÷µÄ
Å£½ò×ÖµäÖжÔ"kernel"Ò»´ÊµÄ¶¨ÒåÊÇ£º"½ÏÈíµÄ¡¢Í¨³£ÊÇÒ»¸ö¼á¹û¿ÉʳÓõIJ¿·Ö¡£"µ±È»»¹ÓеڶþÖÖ¶¨Ò壺"ij¸ö¶«Î÷ºËÐÄ»òÕß×îÖØÒªµÄ²¿·Ö¡£"¶ÔLinuxÀ´Ëµ£¬ËüµÄKernelÎÞÒÉÊôÓÚµÚ¶þÖÖ½âÊÍ¡£ÈÃÎÒÃÇÀ´¿´¿´Õâ¸öÖØÒªµÄ¶«Î÷ÊÇÈçºÎ¹¤×÷µÄ£¬ÏÈ´ÓÒ»µãÀíÂÛ˵Æð¡£
¹ãÒ嵨À´Ëµkernel¾ÍÊÇÒ»¸öÈí¼þ£¬ËüÔÚÓ²¼þºÍÔËÐÐÔÚ¼ÆËã»úÉϵÄÓ¦ÓóÌÐòÖ®¼äÌṩÁËÒ»¸ö²ã¡£Ñϸñµã´Ó¼ÆËã»ú¿ÆÑ§µÄ½Ç¶ÈÀ´Ëµ£¬LinuxÖеÄKernelÖ¸µÄÊÇLinus TorvaldsÔÚ90Äê´ú³õÆÚдµÄÄǵã´úÂë¡£
ËùÓеÄÄãÔÚLinux¸÷°æ±¾Öп´µ½µÄÆäËû¶«Î÷--Bash shell¡¢KDE´°¿Ú¹ÜÀíÆ÷¡¢webä¯ÀÀÆ÷¡¢X·þÎñÆ÷¡¢Tux
RacerÒÔ¼°ËùÓÐµÄÆäËû£¬¶¼²»¹ýÊÇÔËÐÐÔÚLinuxÉϵÄÓ¦ÓöøÒÑ£¬¶ø²»ÊDzÙ×÷ϵͳ×ÔÉíµÄÒ»²¿·Ö¡£ÎªÁ˸ø´ó¼ÒÒ»¸ö¸ü¼ÓÖ±¹ÛµÄ¸Ð¾õ£¬ÎÒÀ´¾Ù¸öÀý×Ó£¬±ÈÈç
RHEL5µÄ°²×°´ó¸ÅÒªÕ¼¾Ý2.5GBµÄÓ²Å̿ռ䣨¾ßÌå¶à´óµ±È»ÊÓÄãµÄÑ¡Ôñ°²×°À´¶¨£©£¬ÔÚÕâÆäÖУ¬kernelÒÔ¼°ËüµÄ¸÷¸öÄ£¿é×é¼þ£¬Ö»ÓÐ47MB£¬ËùÕ¼
±ÈÀýԼΪ2%¡£
ÔÚkernelÄÚ²¿
ÄÇôkernelµ½µ×ÊÇÈçºÎ¹¤×÷µÄÄØ?ÈçÏÂÃæµÄͼ±í¡£Kernelͨ¹ýÐí¶àµÄ½øÈë¶Ë¿ÚÒ²¾ÍÊÇÎÒÃÇ´Ó¼¼Êõ½Ç¶ÈËù˵µÄϵͳµ÷Óã¬À´Ê¹µÃÔËÐÐÔÚËüÉÏÃæµÄÓ¦ÓóÌÐò¿ÉÓá£KernelʹÓõÄϵͳµ÷ÓñÈÈç"¶Á"ºÍ"д"À´ÌṩÄãÓ²¼þµÄ³éÏó£¨abstraction£©¡£
´Ó³ÌÐòÔ±µÄÊÓ½ÇÀ´¿´£¬ÕâЩ¿´ÆðÀ´Ö»ÊÇÆÕͨµÄ¹¦Äܵ÷Óã¬È»¶øÊµ¼ÊÉÏϵͳµ÷ÓÃÔÚ´¦ÀíÆ÷µÄ²Ù×÷ģʽÉÏ£¬´ÓÓû§¿Õ¼äµ½Kernel¿Õ¼äÓÐÒ»¸öÃ÷ÏÔµÄÇл»¡£Í¬Ê±£¬ÏµÍ³µ÷ÓÃÌṩÁËÒ»¸ö"LinuxÐéÄâ»ú"£¬¿ÉÒÔ±»ÈÏΪÊǶÔÓ²¼þµÄ³éÏó¡£
KernelÌṩµÄ¸üÃ÷ÏԵijéÏóÖ®Ò»ÊÇÎļþϵͳ¡£¾ÙÀýÀ´Ëµ£¬ÕâÀïÓÐÒ»¶Î¶ÌµÄ³ÌÐòÊÇÓÃCдµÄ£¬Ëü´ò¿ªÁËÒ»¸öÎļþ²¢½«ÄÚÈÝ¿½±´µ½±ê×¼µÄÊä³ö£º
#include <fcntl.h>
int main()
{
int fd, count; char buf[1000];
fd=open("mydata", O_RDONLY);
count = read(fd, buf, 1000);
write(1, buf, count);
close(fd);
}
ÔÚÕâÀÄã¿ÉÒÔ¿´µ½Ëĸöϵͳµ÷ÓõÄÀý×Ó£º´ò¿ª¡¢¶Á¡¢Ð´ºÍ¹Ø±Õ¡£²»Ì¸Õâ¶Î³ÌÐòÓï·¨µÄϸ½Ú£¬ÖصãÊÇ£ºÍ¨¹ýÕâЩϵͳµ÷ÓÃLinux
KernelÌṩÁËÒ»¸öÎļþµÄ"´í¾õ"£¬¶øÊµ¼ÊÉÏËü²»¹ýÊÇÒ»¶ÑÊý¾ÝÓÐÁ˸öÃû×Ö£¬ÕâÑùÒ»À´Äã¾Í²»±ØÈ¥ÓëÓ²¼þµ×²ãµÄ¶ÑÕ»¡¢·ÖÇø¡¢Í·ºÍÖ¸Õë¡¢·ÖÇøµÈ½»ÉæÁË£¬¶øÊÇ
Ö±½ÓÒÔÀý×ÓÖеķ½Ê½ÓëÓ²¼þ"½»Á÷"£¬ÕâÒ²¾ÍÊÇÎÒÃÇËù˵
Ïà¹ØÎĵµ£º
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈÐÒé ......
Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......
1. ѧ»áд¼òµ¥µÄmakefile
2. ±àһЩӦÓÃ
³ÌÐò
£¬¿ÉÒÔÓÃmakefileÅÜÆðÀ´
3. ѧ»áдÇý¶¯
µÄmakefile
4. дһ¼òµ¥charÇý¶¯£¬makefile±àÒëͨ¹ý£¬¿ÉÒÔinsmod£¬ lsmod£¬ rmmod. ÔÚÇý¶¯µÄinitº¯ÊýÀï´òÓ¡hello world£¬insmodºóÓ¦¸ÃÄܹ»Í¨¹ýdmesg¿´µ½Êä³ö
¡£
5. дһÍêÕûÇý¶¯£¬ ¼ÓÉÏread£¬ write£¬ ioctl£¬ pollingµÈ¸ ......
ת×Ô£º http://www.diybl.com/course/6_system/linux/Linuxxl/20081124/152557.html
ºÃºÃѧϰ£¬ÌìÌìÏòÉÏ
ÒýÑÔ
¡¡¡¡ Ị̈߳¨thread£©¼¼ÊõÔçÔÚ60Äê´ú¾Í±»Ìá³ö£¬µ«ÕæÕýÓ¦ÓöàÏ̵߳½²Ù×÷ϵͳÖÐÈ¥£¬ÊÇÔÚ80Äê´úÖÐÆÚ£¬ solarisÊÇÕâ·½ÃæµÄٮٮÕß¡£´«Í³µÄUnixÒ²Ö§³ÖÏ̵߳ĸÅÄµ«ÊÇÔÚÒ»¸ö½ø³Ì£¨process£©ÖÐÖ»ÔÊÐíÓÐÒ»¸öỊ̈߳¬ÕâÑù ......