Éî¶È½éÉÜ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ÌṩÁËÒ»¸öÎļþµÄ"´í¾õ"£¬¶øÊµ¼ÊÉÏËü²»¹ýÊÇÒ»¶ÑÊý¾ÝÓÐÁ˸öÃû×Ö£¬ÕâÑùÒ»À´Äã¾Í²»±ØÈ¥ÓëÓ²¼þµ×²ãµÄ¶ÑÕ»¡¢·ÖÇø¡¢Í·ºÍÖ¸Õë¡¢·ÖÇøµÈ½»ÉæÁË£¬¶øÊÇ Ö±½ÓÒÔÀý×ÓÖеķ½Ê½ÓëÓ²¼þ"½»Á÷"£¬ÕâÒ²¾ÍÊÇÎÒÃÇËù˵µÄ³éÏó£¨abstraction£©£¬½«µ×²ãµÄ¶«Î÷ÒÔ¸üÒ×¶®µÄ·½Ê½±í´ï³öÀ´¡£
̨ǰĻºó
ϵ
Ïà¹ØÎĵµ£º
½üÈÕÔÚcentosÏÂÓÃcд¶«Î÷£¬Õâ¸ö³ÌÐòµÄ·þÎñ¶ËÔËÐÐÔÚ64λµÄcentosÏ£¬¿Í»§¶ËÓпÉÄÜÊÇ32»ú£¬Ò²ÓпÉÄÜÊÇ64λµÄ¡£
ΪÁ˱£Ö¤Êý¾Ý´«ÊäµÄÒ»ÖÂÐÔÖÆ¶¨ÁËÒ»Ì×ÐÒ飬ÓÃstructʵÏÖ¡£ÎªÁ˱£Ö¤Êä³ö¹ý³ÌÖУ¬Êý¾ÝµÄÍêÕûÐÔ£¬ÌرðÕë¶ÔϵͳµÄ²»Í¬¶ÔstructÀï±äÁ¿µÄÀàÐͽøÐÐÁËÓÅ»¯¡£ÎªÁ˱£Ö¤ÄÚ´æ¶ÔÆë·½Ê½µÄÒ»ÖºÍÊý¾Ý´æ´¢¿Õ¼äµÄ½ô´Õ£¬¶¼Óà #pragm ......
LinuxϵͳÐÔÄÜÖ¸±ê½éÉÜ
ת×ÔAndrew(http://andrew913.javaeye.com/blog/431259)
ÔÚ
ÎÒÃǽéÉÜLinuxϵͳµÄ¸÷ÖÖµ÷ÓŲÎÊýºÍÐÔÄܼà²â¹¤¾ß֮ǰ£¬ÐèÒªÏÈÌÖÂÛһЩ¹ØÓÚÐÔÄܵ÷ÓŵIJÎÊý¡£ÒòΪLinuxÊÇÒ»¸ö¿ªÔ´²Ù×÷ϵͳ£¬ËùÒÔÓÖ´óÁ¿¿ÉÓõÄÐÔÄÜ
¼à²â¹¤¾ß¡£¶ÔÕâЩ¹¤¾ßµÄÑ¡ÔñÈ¡¾öÓÚÄãµÄ¸öÈËϲºÃºÍ¶ÔÊý¾Ýϸ½ÚµÄÒªÇó¡£Ë ......
Éú³É¾²Ì¬¿â£º
¡¡¡¡¼ÙÈçÓÐÎļþ¡¡¡¡main.c¡¢1.c¡¢2.c ½«1.cºÍ2.cÉú³ÉÒ»¸ö¾²Ì¬¿âµÄ·½·¨Îª£¬±àдMakefile£º
¡¡¡¡¡¡mylib.a:1.c 2.c
¡¡¡¡ ¡¡¡¡¡¡¡¡$(CC) -c $<¡¡¡¡¡¡¡¡# $<±íʾËùÓÐ×îеÄÒÀÀµÏÈôûÓоɵÄÔòÊÇÈ«²¿ÒÀÀµÏî
¡¡¡¡¡¡¡¡¡¡¡¡ ar crv libmy.a 1.o 2.o¡¡¡¡¡¡# 1.o 2.oΪ1.cºÍ2. ......
linuxѹËõ(½âѹËõ)ÃüÁîÏê½â
http://blog.csdn.net/hbcui1984/archive/2007/04/25/1583796.aspx
Ò».tarÃüÁî
tar¿ÉÒÔΪÎļþºÍĿ¼´´½¨µµ°¸¡£ÀûÓÃtar£¬Óû§¿ÉÒÔÎªÄ³Ò»ÌØ¶¨Îļþ´´½¨µµ°¸£¨±¸·ÝÎļþ£©£¬Ò²¿ÉÒÔÔÚµµ°¸ÖиıäÎļþ£¬»òÕßÏòµµ°¸ÖмÓÈëеÄÎļþ¡£tar ×î³õ±»ÓÃÀ´ÔÚ ......
linuxÖ÷Ҫϵͳ·þÎñ½éÉÜ
--------------------------------------------------------------------------------
apmd££apmdÓÃÀ´¼àÊÓϵͳÓõç״̬£¬²¢½«Ïà¹ØÐÅϢͨ¹ýsyslogdдÈëÈÕÖ¾¡£Ò²¿ÉÒÔÓÃÀ´ÔÚµçÔ´²»×ãʱ¹Ø»ú
arpwatch££ÓÃÀ´Î¬»¤ÒÔÌ«ÍøÎïÀíµØÖ·ºÍipµØÖ·µÄ¶ÔÓ¦¹ØÏµ
atd££ÔËÐÐÓû§ÓÃatÃüÁîµ÷¶ÈµÄÈÎÎñ¡£Ò²ÔÚϵͳ ......