LinuxÄÚºËÈëÃÅ£¨Èý£©—— CÓïÑÔ»ù±¾¹¦
linuxÊÇÒ»¸ö¸´ÔÓµÄÈí¼þϵͳ£¬ÆäÄÚºËÔ´´úÂëÍùÍù»áÓõ½Ò»Ð©ÔÚÓ¦ÓóÌÐòÉè¼ÆÖв¿³£¼ûÓïÑԳɷֺͱà³Ì¼¼ÇÉ£¬ÕâЩ¶¼ÊÇ·ÖÎöÄÚºËÔ´´úÂëµÄ»ù±¾¹¦£¬Ï£Íû´ó¼ÒÄÜÖØµãÕÆÎÕ¡£
Ê×ÏÈ£¬gcc±àÒëÆ÷´ÓÓïÑÔÀïÎüÊÕÁË“inline”ºÍ“const”¡£inlineº¯ÊýµÄ´óÁ¿Ê¹Óã¬ÓÐÀûÓÚÌá¸ßÔËÐÐЧÂÊ£¬ÓÉ´ËÏ൱һ²¿·Ö´úÂë´Ó.cÎļþÒÆÈëÁË.hÎļþ¡£
gccÔö¼ÓÁËÒ»ÖÖеĻù±¾Êý¾ÝÀàÐÍ“long
long int”ÓÃÓÚÖ§³Ö64λCPU½á¹¹¡£
Ðí¶àCÓïÑÔ¶¼Ö§³ÖһЩ“ÊôÐÔÃèÊö·û”£¬Èç“aligned”£¬“packed”µÈ¡£Ï൱ÓÚһЩеı£Áô×Ö¡£µ«ÊÇ£¬ÔÚÔÀ´µÄCÓïÑÔÕâЩ´Ê²¢·Ç±£Áô×Ö£¬¶øÊÇÒ»
ЩÆÕͨµÄ±äÁ¿£¬ÕâÑù¾Í»á²úÉúһЩ³åÍ»¡£ÀýÈ磺inlineÔÚÀϵĴúÂëÖÐÒѾÊÇ×÷Ϊ±äÁ¿ÔÚʹÓÃÁË£¬ÎªÁ˽â¾öÕâ¸öÎÊÌ⣬gcc½«×÷Ϊ±£Áô×ֵēinline”
Éè¼Æ³É__inline__£¬ÕâÑù¾Í²»»á³åÍ»ÁË¡£
gcc»¹Ö§³ÖÒ»¸ö±£Áô×Ö“attribute”£¬ÓÃÀ´×÷ÊôÐÔÃèÊö¡£È磺attribute__
<<packed>>£¬ÕâÑùpacked¾Í³ÉΪÊôÐÔÃèÊö·û£¨Ò»ÖÖÌØÊâ±£Áô×Ö£©¶ø·Ç±äÁ¿ÁË¡£
gccÖÐÓдóÁ¿¶Ôºê²Ù×÷µÄʹÓ㬴ó¼Ò¿Ï¶¨»á¶ÔÄں˴úÂëÖеÄһЩºê²Ù×÷µÄ¶¨Ò巽ʽ¸Ðµ½²»½â£¬È磺
#define DUMP_WRITE(addr, nr) do{ memcpy(bufp,addr,nr);
bufp+=nr;}while(0)
ÕâÊDZØÐëµÄ£¬ÊÇΪÁË·ÀÖ¹ÔÚIF-ELSEÓï¾äÖÐʹÓøú궨Òåʱ·¢Éú´íÎó¡£
linuxÄں˴úÂëÖдóÁ¿Ê¹ÓÃÁ´±í£¬µ«ÆäʹÓ÷½·¨ÓëÎÒÃÇÔÚ¡¶Êý¾Ý½á¹¹¡·ÖÐѧµ½µÄ²»´óÒ»Ñù£¬´ó¼Ò¿ÉÒԻعËÒ»ÏÂÎÒÃÇÔÚ¿ÎÌÃÉÏѧϰÁ´±íµÄʱºò£¬Í¨³£³ýÁË¶ÔÆäÊý¾Ý
½á¹¹½øÐÐÁ˶¨Ò壬»¹¶¨ÒåÁËÈô¸É¶Ô¸Ã½á¹¹µÄ²Ù×÷¡£µ«¶ÔÓÚ´óÁ¿Ê¹ÓÃÁ´±íµÄlinuxÄÚºËÀ´Ëµ£¬Èç¹û¶¨ÒåÁËÒ»¸ö½á¹¹¾ÍÒª¶¨ÒåÆäÏà¹ØµÄ²Ù×÷µÄ»°£¬ÏÔÈ»´úÂëÁ¿²»Ð¡¡£
ΪÁËÌá¸ßЧÂÊ£¬Äں˲ÉÓÃÁËÒ»Ì×ͨÓõģ¬Ò»°ãµÄ£¬¿ÉÒÔÓõ½¸÷ÖÖ²»Í¬Êý¾Ý½á¹¹µÄ¶ÓÁвÙ×÷¡£ÔÚinclude/linux/ list.hÖУ¬ÓÐÈçÏÂÉêÃ÷£º
st
Ïà¹ØÎĵµ£º
/ ¸ùĿ¼
/bin ³£ÓõÄÃüÁî binary file µÄÄ¿錄
/boot ´æ·ÅϵͳÆô¶¯Ê±±ØÐë¶ÁÈ¡µÄµµ°¸£¬°üÀ¨ºËÐÄ (kernel) ÔÚÄÚ
/boot/grub/menu.lst GRUB ......
Ò»¡¢´î½¨Ê±¼äͬ²½·þÎñÆ÷
1¡¢±àÒë°²×°ntp server
wget http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2.4p4.tar.gz
tar zxvf ntp-4.2.4p4.tar.gz
cd ntp-4.2.4p4
./configure --prefix=/usr/local/ntp --enable-all-clocks --enable-parse-clocks
make && make install
×¢£ºÈçÒÔÉÏÏÂÔØµØÖ·ÎÞ·¨·ÃÎÊ£¬ ......
ÓÉÓÚÓû§ÔÚUNIXϾ³£»áÓöµ½SUID¡¢SGIDµÄ¸ÅÄ¶øÇÒSUIDºÍSGIDÉæ¼°µ½ÏµÍ³°²È«£¬ËùÒÔÓû§Ò²±È½Ï¹ØÐÄÕâ¸öÎÊÌâ¡£
Ò»¡¢ UNIXϹØÓÚÎļþȨÏ޵ıíʾ·½·¨ºÍ½âÎö
SUID ÊÇ Set User ID, SGID ÊÇ Set Group IDµÄÒâ˼¡£
UNIXÏ¿ÉÒÔÓÃls -l ÃüÁîÀ´¿´µ½ÎļþµÄȨÏÞ¡£ÓÃlsÃüÁîËùµÃµ½µÄ±íʾ·¨µÄ¸ñʽÊÇÀàËÆÕâÑùµÄ£º-rwxr-xr-x ¡£ÏÂÃæ ......
ÔÚLinuxÖÐÓÐ7ÖÖÆô¶¯¼¶±ð£¬Ä¬ÈÏÊÇX-Window£¬ÏñÊÇWindowsµÄ´°¿Úģʽ£¬¶øLinuxµÄ²Ù×÷ºÍÅäÖÃÒ»°ãÎÒÃǶ¼²ÉÓÃÊäÈëÃüÁîµÄ·½Ê½À´Íê³É£¬ÏñDOS²Ù×÷ϵͳһÑù£¬ÈçºÎÈÃLinuxÒ»Æô¶¯¾Í½øÈëÕâÖÖÄ£Ê½ÄØ£¿
ÒÔ¹ÜÀíÔ±Éí·Ý½øÈëLinux£¬ÐÞ¸ÄÎļþ£º/etc/inittabÎļþ
ÕÒµ½¡°id:5:initdefault:¡±£¬ÆäÖ ......
Ò»¡¢ÎļþºÍĿ¼ȨÏÞ¸ÅÊö
ÔÚlinuxÖеÄÿһ¸öÎļþ»òĿ¼¶¼°üº¬ÓзÃÎÊȨÏÞ£¬ÕâЩ·ÃÎÊȨÏÞ¾ö¶¨ÁËËÄÜ·ÃÎʺÍÈçºÎ·ÃÎÊÕâЩÎļþºÍĿ¼¡£
ͨ¹ýÉ趨ȨÏÞ¿ÉÒÔ´ÓÒÔÏÂÈýÖÖ·ÃÎÊ·½Ê½ÏÞÖÆ·ÃÎÊȨÏÞ£ºÖ»ÔÊÐíÓû§×Ô¼º·ÃÎÊ£»ÔÊÐíÒ»¸öÔ¤ÏÈÖ¸¶¨µÄÓû§×éÖеÄÓû§·ÃÎÊ£»ÔÊÐíϵͳÖеÄÈκÎÓû§·ÃÎÊ¡£Í¬Ê±£¬Óû§ÄÜ
¹»¿ØÖÆÒ»¸ö¸ø¶¨µÄÎļþ»òĿ¼µÄ·ÃÎ ......