Éî¶È½éÉÜ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. ѧ»áд¼òµ¥µÄmakefile
2. ±àһЩӦÓÃ
³ÌÐò
£¬¿ÉÒÔÓÃmakefileÅÜÆðÀ´
3. ѧ»áдÇý¶¯
µÄmakefile
4. дһ¼òµ¥charÇý¶¯£¬makefile±àÒëͨ¹ý£¬¿ÉÒÔinsmod£¬ lsmod£¬ rmmod. ÔÚÇý¶¯µÄinitº¯ÊýÀï´òÓ¡hello world£¬insmodºóÓ¦¸ÃÄܹ»Í¨¹ýdmesg¿´µ½Êä³ö
¡£
5. дһÍêÕûÇý¶¯£¬ ¼ÓÉÏread£¬ write£¬ ioctl£¬ pollingµÈ¸ ......
Ò»¡¢°²×°
´´½¨°²×°Ä¿Â¼£¬ÔÚ/usr/local/javaϽ¨Á¢°²×°Â·¾¶£¬²¢½«Îļþ¿¼µ½¸Ã·¾¶Ï£º
# mkdir /usr/local/java
1¡¢jdk-6u11-linux-i586.bin
Õâ¸öÊÇ×Ô½âѹµÄÎļþ£¬ÔÚlinuxÉϰ²×°ÈçÏ£º
# chmod 755 jdk-6u11-linux-i586.bin
# ./jdk-6u11-linux-i586.bin
ÔÚ°´ÌáʾÊäÈëyesºó£¬jdk±»½âѹ¡£
......
ÐéÄ⻯¼¼ÊõµÄ·½·¨, ¼Ü¹¹ºÍʵÏÖ¸ÅÀÀ
¼¶±ð: Öм¶
M. Tim Jones [mtj@mtjones.com], ¹ËÎʹ¤³Ìʦ, Emulex
ÔÎÄ: Virtual Linux
Òë: ÕÔçæ cn.zhaoke.com
http://blog.zhaoke.com/45.html
2006Äê12ÔÂ29ÈÕ
ÐéÄ⻯¼¼ÊõµÄÓ¦ÓÃÊ®·Ö¹ã·º. µ±Ç°ÐéÄ⻯¼¼ÊõÖ÷Òª¹Ø×¢ÓÚ·þÎñÆ÷µÄÐéÄ⻯, »òÔÚµ¥¸öÖ÷»úÉϼĴæ¶à¸ö¶ÀÁ¢µÄ²Ù×÷ϵͳ. ±¾Î ......
1. ²é¿´Äں˰汾ÃüÁ
¡¡¡¡1) [root@q1test01 ~]# cat /proc/version
¡¡¡¡ Linux version 2.6.9-22.ELsmp (bhcompile@crowe.devel.redhat.com) (gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)) #1 SMP Mon Sep 19 18:00:54 EDT 2005
¡¡¡¡2) [root@q1test01 ~]# uname -a
¡¡¡¡Linux q1test0 ......
´ÓUbuntu 8.04µ½9.10£¬ÎÒµÄAcer Aspire 4920±¾×ÓµÄýÌå´¥Ãþ¿ØÖƼüʼÖÕ²»ÄÜÕý³£¹¤×÷¡£×î½üÕÒµ½ÁË´ËÎÊÌâµÄ½â¾ö·½·¨£¬¹©Ê¹ÓÃLinux²Ù×÷ϵͳ¼°ÓµÓÐAcer±Ê¼Ç±¾µÄÓû§²Î¿¼¡£ ÔÚUbuntu 9.10Ï£¬ÎÒµÄýÌå¿ØÖÆ¼ü±»Ê¶±ðΪÁíÒ»¿éSynaptics´¥Ãþ°å£¬²¢ÇÒËĸö¼ü·Ö±ð±»Ê¶±ðΪÉÏ¡¢Ï¡¢×ó¡¢ÓÒ·Ò³¼ü£¬µ¼ÖÂÎÞ·¨Õý³£¹¤×÷¡£ÐèҪͨ¹ýÐ޸İ´¼üÓ³Éä ......