LINUX ×ÔÆô¶¯¹ÜÀí
Ç°ÑÔ
linuxÓÐ×Ô¼ºÒ»Ì×ÍêÕûµÄÆô¶¯Ìåϵ£¬×¥×¡ÁËlinuxÆô¶¯µÄÂöÂ磬linuxµÄÆô¶¯¹ý³Ì½«²»ÔÙÉñÃØ¡£
ÔĶÁ֮ǰ½¨ÒéÏÈ¿´Ò»Ï¸½Í¼¡£
±¾ÎÄÖмÙÉèinittabÖÐÉèÖõÄinit treeΪ£º
/etc/rc.d/rc0.d
/etc/rc.d/rc1.d
/etc/rc.d/rc2.d
/etc/rc.d/rc3.d
/etc/rc.d/rc4.d
/etc/rc.d/rc5.d
/etc/rc.d/rc6.d
/etc/rc.d/init.d
Ŀ¼
1. ¹ØÓÚlinuxµÄÆô¶¯
2. ¹ØÓÚrc.d
3. Æô¶¯½Å±¾Ê¾Àý
4. ¹ØÓÚrc.local
5. ¹ØÓÚbashÆô¶¯½Å±¾
6. ¹ØÓÚ¿ª»ú³ÌÐòµÄ×Ô¶¯Æô¶¯
1. ¹ØÓÚlinuxµÄÆô¶¯
initÊÇËùÓнø³ÌµÄ¶¥²ã
init¶ÁÈ¡/etc/inittab£¬Ö´ÐÐrc.sysinit½Å±¾
(×¢ÒâÎļþÃûÊDz»Ò»¶¨µÄ,ÓÐЩunixÉõÖÁ»á½«Óï¾äÖ±½ÓдÔÚinittabÖÐ)
rc.sysinit½Å±¾×÷Á˺ܶ๤×÷:
init $PATH
config network
start swap function
set hostname
check root file system, repair if needed
check root space
....
rc.sysinit¸ù¾ÝinittabÖ´ÐÐrc?.d½Å±¾
linuxÊǶàÓû§ÏµÍ³£¬gettyÊǶàÓû§Óëµ¥Óû§µÄ·ÖË®Áë
ÔÚgetty֮ǰÔËÐеÄÊÇϵͳ½Å±¾
2. ¹ØÓÚrc.d
ËùÓÐÆô¶¯½Å±¾·ÅÖÃÔÚ /etc/rc.d/init.dÏÂ
rc?.dÖзÅÖõÄÊÇinit.dÖнű¾µÄÁ´½Ó£¬ÃüÃû¸ñʽÊÇ£º
S{number}{name}
K{number}{name}
S¿ªÊ¼µÄÎļþÏò½Å±¾´«µÝstart²ÎÊý
K¿ªÊ¼µÄÎļþÏò½Å±¾´«µÝstop²ÎÊý
number¾ö¶¨Ö´ÐеÄ˳Ðò
3. Æô¶¯½Å±¾Ê¾Àý
ÕâÊÇÒ»¸öÓÃÀ´Æô¶¯httpdµÄ /etc/rc.d/init.d/apache ½Å±¾£º
´úÂë:
#!/bin/bash
......
¿ÉÒÔ¿´³öËû½ÓÊÜstart,stop,restart,status²ÎÊý
È»ºó¿ÉÒÔÕâÑù½¨Á¢rc?.dµÄÁ´½Ó£º
´úÂë:
cd /etc/rc.d/init.d &&
ln -sf ../init.d/apache ../rc0.d/K28apache &&
ln -sf ../init.d/apache ../rc1.d/K28apache &&
ln -sf ../init.d/apache ../rc2.d/K28apache &&
ln -sf ../init.d/apache ../rc3.d/S32ap
Ïà¹ØÎĵµ£º
//»ñÈ¡±¾»úMACµØÖ·º¯ÊýQString GetLocalMac()
{
int sock_mac;
struct ifreq ifr_mac;
char mac_addr[30];
sock_mac = socket( AF_INET, SOCK_STREAM, 0 );
if( sock_mac == -1)
{
perror("create socket falise...mac\n");
return "";
}
memset(&ifr_mac,0,sizeof(ifr_mac));
......
µ±ÎÒÃǵijÌÐò±ÀÀ£Ê±£¬ÄÚºËÓпÉÄܰѸóÌÐòµ±Ç°ÄÚ´æÓ³Éäµ½coreÎļþÀ·½±ã³ÌÐòÔ±ÕÒµ½³ÌÐò³öÏÖÎÊÌâµÄµØ·½¡£×î³£³öÏֵģ¬¼¸ºõËùÓÐC³ÌÐòÔ±¶¼³öÏÖ¹ýµÄ´íÎó¾ÍÊÇ“¶Î´íÎó”ÁË¡£Ò²ÊÇ×îÄѲé³öÎÊÌâÔÒòµÄÒ»¸ö´íÎó¡£ÏÂÃæÎÒÃǾÍÕë¶Ô“¶Î´íÎó”À´·ÖÎöcoreÎļþµÄ²úÉú¡¢ÒÔ¼°ÎÒÃÇÈçºÎÀûÓÃcoreÎļþÕÒµ½³öÏÖ±ÀÀ£µÄµØ·½¡ ......
ÔÚLinuxÀïÉèÖû·¾³±äÁ¿µÄ·½·¨£¨export PATH£©Ò»°ãÀ´Ëµ£¬ÅäÖý»²æ±àÒ빤¾ßÁ´µÄʱºòÐèÒªÖ¸¶¨±àÒ빤¾ßµÄ·¾¶£¬´Ëʱ¾ÍÐèÒªÉèÖû·¾³±äÁ¿¡£ÀýÈçÎÒµÄmips-linux-gcc±àÒëÆ÷ÔÚ“/opt/au1200_rm/build_tools/bin”Ŀ¼Ï£¬build_tools¾ÍÊÇÎҵıàÒ빤¾ß£¬ÔòÓÐÈçÏÂÈýÖÖ·½·¨À´ÉèÖû·¾³±äÁ¿£º
1¡¢Ö±½ÓÓÃexportÃüÁ
#expor ......
1¡¢±äÁ¿ºÍÔËËã (×¢£º´ÓÉÏÍùÏÂÒ»²½Ò»²½Ö´ÐÐ)
1.±¾µØ±äÁ¿ÔÚÓû§ÏÖÔÚµÄshellÉúÃüÆڵĽű¾ÖÐʹÓÃ
variable-name=value ÀýÈ磺test="test"
2.setÏÔʾ±¾µØËùÓеıäÁ¿
3.Éè³ÉÖ»¶Á±äÁ¿£ºreadonly variable-name ÀýÈ磺test="cynric" »á ......
ŪÇå³þ»ï°éϵͳËã·¨µÄÔÀíÒÔºó£¬ÎÒÃǾͿÉÒÔ¿ª¿ªÐÄÐĵش¦ÀíÒ³¿òÁË¡£
ÎÒÃÇ¿ÉÒÔͨ¹ý6¸öÉÔÓвî±ðµÄº¯ÊýºÍºêÇëÇóÒ³¿ò¡£Ò»°ãÇé¿öÏ£¬ËûÃǶ¼·µ»ØµÚÒ»¸öËù·ÖÅäÒ³µÄÏßÐÔµØÖ·£¬»òÕß·ÖÅäʧ°ÜÔò·µ»ØNULL¡£
alloc_pages(gfp_mask, order)£ºÓÃÕâ¸öº¯ÊýÇëÇó2order ¸öÁ¬ÐøµÄÒ³¿ò¡£Ëû·µ»ØµÚÒ»¸öËù·ÖÅäÒ³¿òÃèÊö·ûµÄµØÖ·£¬»òÕßÈç¹ûʧ°Ü£¬Ôò·µ ......