LINUXÍøÂç±à³ÌµÄ¶ÁÊé±Ê¼Ç
LINUXÍøÂç±à³ÌµÄ¶ÁÊé±Ê¼Ç
µÚÒ»ÕÂÎļþϵͳºÍ½ø³Ìϵͳ
1£®1ÎļþϵͳµÄ×ÜÌå½á¹¹
´ÓÎļþϵͳµÄʵÏֽǶÈÀ´¿´£¬°´²ã´Î¿ÉÒÔ·Ö³ÉÓ¦ÓóÌÐò¡¢ÏµÍ³µ÷Óá¢Îļþ×Óϵͳ¡¢¸ßËÙ»º³å¡¢É豸Çý¶¯ºÍ¾ßÌåµÄ´æ´¢É豸µÈ¼¸¸ö²ã´Î£¬ÈçÏÂͼ£º
Ó¦ÓóÌÐò
ϵͳµ÷ÓýӿÚ
Îļþ×Óϵͳ
Ó²¼þ´æ´¢É豸
É豸Çý¶¯³ÌÐò
¸ßËÙ»º´æ
×Ö·ûÉ豸
¿é
É豸
ÔÚUNIXϵͳÖУ¬³ÌÐò²»¹ÜºËÐİ´ÕÕʲôÑùµÄ¸ñʽÀ´×éÖ¯Îļþ£¬Ö»ÊǰÑÎļþ¿´×÷Ò»¸öÎÞ¸ñʽµÄ×Ö½ÚÁ÷À´¿´´ý¡£¶ÔÎļþµÄ´æÈ¡Óï·¨ÊÇÓÉϵͳ¶¨Òå
µÄ£¬Êý¾ÝµÄÓïÒåÊÇÓɳÌÐò¼ÓÉÏÈ¥µÄ¡£
Ó¦Óýø³Ìͨ¹ýϵͳµ÷ÓÃÀ´·ÃÎÊÎļþϵͳ£¬·ÖÅ䏸ӦÓóÌÐòÒ»¸ö±ê×¼µÄͨÓýӿÚ,
±ãÓÚÆÁ±Î²»Í¬ÎļþϵͳµÄ²îÒì¡£Îļþϵͳ²»ÄÜÖ±½Ó·ÃÎÊÓ²¼þÉ豸£¬Í¨¹ýµ÷ÓÃÉ豸Çý¶¯½ø³ÌÀ´²Ù×÷¾ßÌåÉ豸¡£¶Ô¸ßËÙÉ豸µÄ·ÃÎÊ£¬Í¨³£Í¨¹ý¸ßËÙ»º³å»úÖÆÀ´Ìá¸ßÉ豸ºÍ
ÄÚ´æµÄÊý¾Ý½»»»¡£É豸Çý¶¯½ø³ÌÓÃÀ´ÆÁ±Î²»Í¬ÎïÀíÉ豸µÄ²Ù×÷²îÒì¡£
ÎļþϵͳµÄ×ÜÌå½á¹¹ÊÇ£ºÒýµ¼¿é¡¢³¬¼¶¿é¡¢Ë÷Òý½Úµã±í£¬Êý¾ÝÇø¡£
·
Òýµ¼¿éÔÚÎļþϵͳµÄ×îÇ°Ãæ£¬ËüºÍ²Ù×÷ϵͳÒýµ¼Óйء£ÓÐÇÒÖ»ÓÐÒ»¸öÒýµ¼¿éÓÐЧ¡£
·³¬¼¶¿éÒ²½Ð¹ÜÀí¿é£¬´æ·ÅÎļþϵͳµÄ¹ÜÀíÐÅÏ¢£¬ÈçÎļþϵͳ´óС¡¢¿ÕÏÐ
¿é´óС¡¢¿ÕÏпéÁ´±í½ÚµãÍ·µÈÐÅÏ¢¡£
·Ë÷Òý½Úµã±í£¬Ã¿¸öÎļþ¶¼¶ÔÓ¦×ÅÒ»¸öË÷Òý½Úµã£¬ÀïÃæ·´ÕýÓû§µÄ´æÈ¡È¨ÏÞ¡¢ÐÅÏ¢µÈ¡£Í¨¹ý·¾¶·ÃÎÊÎļþ£¬Äں˰ÑÎļþ
·¾¶¾¹ýת»»Ó³Éäµ½Ë÷Òý½Úµã±íÖжÔÓ¦½ÚµãÈ¥¡£
·Êý¾ÝÇø¡£Îļþϵͳʵ¼Ê´æ·ÅÊý¾ÝµÄ´ÅÅ̿ռ䡣
·¿ÕÏÐÊý¾Ý¿é±í¡£³¬¼¶¿éÖпռäºÜС£¬ËùÒÔ°Ñ¿ÕÏÐ
Êý¾Ý¿éµÄÐÅϢдÔÚÊý¾ÝÇøÖС£
VFS(Virtual Filesystem Switch)
LINUXͨ¹ýÐéÄâÎļþϵͳת»»À´
ʵÏÖ¶àÎļþϵͳµÄÖ§³Ö¡£LINUX°Ñ¶ÔÎļþ²Ù×÷µÄϵͳµ÷ÓÃתΪ¶Ô²»Í¨¹ýÎļþϵͳ²Ù×÷µÄ×Ó³ÌÐòµ÷Óã¬ÕâЩ×Ó³ÌÐò¶¼Õë¶Ô¾ßÌåÎļþϵͳ¶ø±àд¡£ÐéÄâÎļþϵͳ²»ÊÇ
ÕæÕýµÄÎļþϵͳ£¬¶øÊÇÒ»ÖÖÓ³Éä»úÖÆÀ´ÆÁ±ÎϲãµÄ²îÒìΪÉϲãÌṩ·½±ã¡£
1£®2 Îļþ½á¹¹ºÍĿ¼½á¹¹
LINUXÖеÄÿ¸ö
Îļþ¶¼¶ÔÓ¦ÐéÄâÎļþϵͳµÄÒ»¸öË÷Òý½Úµã£¬ÀïÃæ´æ·ÅÓÐÖ±½Ó»ò¶à¼¶Ö¸ÕëÄܹ»¼Ç¼ÎļþµÄÊý¾Ý£¬ÕâÑùÉè¼ÆÊÇΪÁË´æÈ¡´óÎļþ¡£
Ŀ¼ҲÄܳéÏó³ÉÎÄ
¼þ£¬Ò²Í¨¹ýË÷Òý½Úµã±íÀ´ÃèÊö£¬²¢ÇÒ°ÑĿ¼±íÖеÄĿ¼Ïî´æ·ÅÔÚÊý¾ÝÇøÖС£Ä¿Â¼±íµÄ»ù±¾¹¹³Éµ¥Î»ÊÇĿ¼ÏÓГÎļþÃû£Ë÷Òý½ÚµãºÅ”¹¹³É¡£Îļþ½ÚµãË÷Òý±íÖв¢
²»°üº¬Îļ
Ïà¹ØÎĵµ£º
2009 Äê 4 ÔÂ 23 ÈÕ
±¾ÎÄÖÐÎÒÃÇÕë¶Ô Linux É϶àÏ̱߳à³ÌµÄÖ÷ÒªÌØÐÔ×ܽá³ö 5 Ìõ¾Ñ飬ÓÃÒÔ¸ÄÉÆ Linux ¶àÏ̱߳à³ÌµÄϰ¹ßºÍ±ÜÃâÆäÖеĿª·¢ÏÝÚå¡£ÔÚ±¾ÎÄÖУ¬ÎÒÃÇ´©²åһЩ Windows µÄ±à³ÌÓÃÀýÓÃÒÔ¶Ô±È Linux ÌØÐÔ£¬ÒÔ¼ÓÉî¶ÁÕßÓ¡Ïó¡£
±³¾°
Linux ƽ̨ÉϵĶàÏ̳߳ÌÐò¿ª·¢Ïà¶ÔÓ¦ÆäËûƽ̨£¨±ÈÈç Windows£©µÄ¶àÏß³Ì API ÓÐһЩϸ΢ ......
do_exit() Function
-----------------------------------------------------------------------
kernel/exit.c
707 NORET_TYPE void do_exit(long code)
708 {
709 struct task_struct *tsk = current;
710
711 if (unlikely(in_interrupt()))
712 panic("Aiee, killing interrupt handler!");
713 if ......
M. Tim Jones, ¹ËÎʹ¤³Ìʦ, Emulex Corp.
2009 Äê 4 ÔÂ 07 ÈÕ
Linux® ÄÚºËʹÓà GNU Compiler Collection (GCC) Ì×¼þµÄ¼¸¸öÌØÊ⹦ÄÜ¡£ÕâЩ¹¦ÄܰüÀ¨Ìṩ¿ì½Ý·½Ê½ºÍ¼ò»¯ÒÔ¼°Ïò±àÒëÆ÷ÌṩÓÅ»¯ÌáʾµÈµÈ¡£Á˽âÕâÐ©ÌØÊâµÄ GCC ÌØÐÔ£¬Ñ§Ï°ÈçºÎÔÚ Linux ÄÚºËÖÐʹÓÃËüÃÇ¡£
GCC ºÍ Linux ÊdzöÉ«µÄ×éºÏ¡£¾¡¹ÜËüÃÇÊǶÀÁ¢µÄÈí¼þ ......
½ÓÏÂÀ´£¬ÎÒÃǽøÈësysfs²¿·Ö¡£¿´¿´
kobject_add()->create_dir()->sysfs_create_dir()
bus create file->sysfs create file()
. . .
ÕâЩsysfsº¯ÊýµÄÄÚÄ»¡£
˵°×ÁË£¬sysfs¾ÍÊÇÀûÓÃVFSµÄ½Ó¿ÚÈ¥¶ÁдkobjectµÄ²ã´Î½á¹¹£¬½¨Á¢ÆðÀ´µÄÎļþϵͳ¡£¹ØÓÚsysfsµÄÄÚÈݾÍÔÚfs/sysfs/Ï¡£&nbs ......
±¾½ÚºÍ´ó¼ÒÒ»ÆðѧϰһÏÂÔÚlinuxÏÂʹÓÃapache+svn+sslÅäÖð²È«°æ±¾¿ØÖÆÆ½Ì¨ÎÊÌ⣬¿´Íê±¾ÎÄÄã¿Ï¶¨Óв»ÉÙÊÕ»ñ£¬Ï£Íû±¾ÎÄÄ̻ܽáÄã¸ü¶à¶«Î÷¡£Ê×ÏȽéÉÜÒ»ÏÂlinuxÏÂapache+svn+sslÅäÖõĻ·¾³¡£
»·¾³£º
centos5.4_x64
apache2.2.14
subversion-1.4.2(µ£Ðİü¹ØÁªÐÔÎÊÌ⣬¾ÍûÓп¼ÂÇ×îа汾£©
°²×°¹ý³Ì£º
1£¬apache°²×°
#./co ......