Linux¹²Ïí¿â
¹²Ïí¿â
½éÉܹ²Ïí¿â
Linux ϵͳÉÏÓÐÁ½Àà¸ù±¾²»Í¬µÄ Linux ¿ÉÖ´ÐгÌÐò¡£µÚÒ»ÀàÊǾ²Ì¬Á´½ÓµÄ¿ÉÖ´ÐгÌÐò¡£¾²Ì¬¿ÉÖ´ÐгÌÐò°üº¬Ö´ÐÐËùÐèµÄËùÓк¯Êý — »»¾ä»°Ëµ£¬ËüÃÇÊÇ“ÍêÕûµÄ”¡£ÒòΪÕâÒ»ÔÒò£¬¾²Ì¬¿ÉÖ´ÐгÌÐò²»ÒÀÀµÈκÎÍⲿ¿â¾Í¿ÉÒÔÔËÐС£
µÚ¶þÀàÊǶ¯Ì¬Á´½ÓµÄ¿ÉÖ´ÐгÌÐò¡£
¾²Ì¬¿ÉÖ´ÐгÌÐòÓ붯̬¿ÉÖ´ÐгÌÐò±È½Ï
ÎÒÃÇ¿ÉÒÔÓà ldd ÃüÁîÀ´È·¶¨Ä³Ò»Ìض¨¿ÉÖ´ÐгÌÐòÊÇ·ñΪ¾²Ì¬Á´½ÓµÄ£º
# ldd /sbin/sln
not a dynamic executable
“not a dynamic executable”ÊÇ ldd ˵Ã÷ sln ÊǾ²Ì¬Á´½ÓµÄÒ»ÖÖ·½Ê½¡£ÏÖÔÚ£¬ÈÃÎÒÃÇ±È½Ï sln ÓëÆä·Ç¾²Ì¬Í¬Àà ln µÄ´óС£º
# ls -l /bin/ln /sbin/sln
-rwxr-xr-x 1 root root 23000 Jan 14 00:36 /bin/ln
-rwxr-xr-x 1 root root 381072 Jan 14 00:31 /sbin/sln
ÈçÄúËù¼û£¬sln µÄ´óС³¬¹ý ln Ê®±¶¡£ln ±È sln СÕâô¶àÊÇÒòΪËüÊǶ¯Ì¬¿ÉÖ´ÐгÌÐò¡£¶¯Ì¬¿ÉÖ´ÐгÌÐòÊDz»ÍêÕûµÄ³ÌÐò£¬ËüÒÀ¿¿Íⲿ¹²Ïí¿âÀ´ÌṩÔËÐÐËùÐèµÄÐí¶àº¯Êý¡£
¶¯Ì¬Á´½ÓÏà¹ØÐÔ
Òª²é¿´ ln ÒÀÀµµÄËùÓй²Ïí¿âµÄÁÐ±í£¬¿ÉÒÔʹÓà ldd ÃüÁ
# ldd /bin/ln
libc.so.6 => /lib/libc.so.6 (0x40021000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
ÈçÄúËù¼û£¬ln ÒÀÀµÍⲿ¹²Ïí¿â libc.so.6 ºÍ ld-linux.so.2¡£Í¨³££¬¶¯Ì¬Á´½ÓµÄ³ÌÐò±ÈÆä¾²Ì¬Á´½ÓµÄµÈ¼Û³ÌÐòСµÃ¶à¡£²»¹ý£¬¾²Ì¬Á´½ÓµÄ³ÌÐò¿ÉÒÔÔÚijЩµÍ¼¶Î¬»¤ÈÎÎñÖз¢»Ó×÷Óá£ÀýÈ磬sln ÊÇÐÞ¸ÄλÓÚ /lib ÖеIJ»Í¬¿â·ûºÅÁ´½ÓµÄ¼«¼Ñ¹¤¾ß¡£µ«Í¨³£Äú»á·¢ÏÖ¼¸ºõËùÓÐ Linux ϵͳÉϵĿÉÖ´ÐгÌÐò¶¼ÊÇijÖÖ¶¯Ì¬Á´½ÓµÄ±äÌå¡£
¶¯Ì¬×°ÈëÆ÷
ÄÇô£¬Èç¹û¶¯Ì¬¿ÉÖ´ÐгÌÐò²»°üº¬ÔËÐÐËùÐèµÄËùÓк¯Êý£¬Linux µÄÄIJ¿·Ö¸ºÔð½«ÕâЩ³ÌÐòºÍËùÓбØÐèµÄ¹²Ïí¿âÒ»Æð×°È룬ÒÔʹËüÃÇÄÜÕýÈ·Ö´ÐÐÄØ£¿´ð°¸ÊǶ¯Ì¬×°ÈëÆ÷£¨dynamic loader£©£¬Ëüʵ¼ÊÉÏÊÇÄúÔÚ ln µÄ ldd Çåµ¥Öп´µ½µÄ×÷Ϊ¹²Ïí¿âÏà¹ØÐÔÁгöµÄ ld-linux.so.2 ¿â¡£¶¯Ì¬×°ÈëÆ÷¸ºÔð×°È붯̬Á´½ÓµÄ¿ÉÖ´ÐгÌÐòÔËÐÐËùÐèµÄ¹²Ïí¿â¡£ÏÖÔÚ£¬ÈÃÎÒÃÇѸËٲ鿴һ϶¯Ì¬×°ÈëÆ÷ÈçºÎÔÚϵͳÉÏÕÒµ½Êʵ±µÄ¹²Ïí¿â¡£
ld.so.
Ïà¹ØÎĵµ£º
Linux diffÓëpatchµÄÉîÈë·ÖÎö
http://blog.csdn.net/vrix/archive/2009/08/25/4483906.aspx
diffµÄÊä³ö¸ñʽ·ÖΪ´«Í³¸ñʽºÍͳһ¸ñʽ
1)diffµÄ´«Í³¸ñʽÊä³ö.
############################################
cat before.txt
Êä³ö:
This is a line to be deleted
This is a line that will be changed
This is a line ......
ÔÎÄÍøÖ·£ºhttp://group.ednchina.com/1036/21283.aspx
RCU»úÖÆÊÇLinux2.6Ö®ºóÌṩµÄÒ»ÖÖÊý¾ÝÒ»ÖÂÐÔ·ÃÎʵĻúÖÆ£¬´ÓRCU£¨read-copy-update£©µÄÃû³ÆÉÏ¿´£¬ÎÒÃǾÍÄܶÔËûµÄʵÏÖ»úÖÆÓÐÒ»¸ö´ó¸ÅµÄÁ˽⣬ÔÚÐÞ¸ÄÊý¾ÝµÄʱºò£¬Ê×ÏÈÐèÒª¶ÁÈ¡Êý¾Ý£¬È»ºóÉú³ÉÒ»¸ö¸±±¾£¬¶Ô¸±±¾½øÐÐÐ޸ģ¬ÐÞ¸ÄÍê³ÉÖ®ºóÔÙ½«ÀÏÊý¾Ýupdate³ÉеÄÊý¾Ý£¬´ ......
ÔÎÄÍøÖ·£ºhttp://blog.chinaunix.net/u1/51562/showart_1341707.html
Ò»:ǰÑÔ
RCU»úÖÆ³öÏֵıȽÏÔç,Ö»ÊÇÔÚlinux kernelÖÐÒ»Ö±µ½2.5°æ±¾µÄʱºò²Å±»²ÉÓÃ.¹ØÓÚRCU»úÖÆ,ÕâÀï¾Í²»×ö¹ý¶àµÄ½éÉÜÁË,ÍøÉÏÓкܶàÓйØRCU½éÉܺÍʹÓõÄÎĵµ.Çë×ÔÐвéÔÄ.±¾ÎÄÖ÷ÒªÊÇ´Ólinux kernelÔ´´úÂëµÄ½Ç¶È.À´·ÖÎöRCUµÄʵÏÖ.
ÔÚÌÖÂÛRCUµÄʵ ......
#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <sys/stat.h>
#include <sys/sysmacros.h>
#include <time.h>
#include <unistd.h>
#define TIME_STRING_BUF 50
char * timestring(time_t t,char *buf)
{
struct tm *local; ......
ÈçºÎlinuxÏÂ¼à¿Ø½ø³Ì¼°Æä×Ó½ø³ÌÕ¼ÓÃ×ÊÔ´£¿
Â¥Ö÷whzeng£¨à½à½£©2006-01-06 22:45:39 ÔÚ Linux/UnixÉçÇø / ³ÌÐò¿ª·¢Çø ÌáÎÊ
ÈçºÎlinuxÏÂ¼à¿Ø½ø³Ì¼°Æä×Ó½ø³ÌÕ¼ÓÃ×ÊÔ´£¬±ÈÈçÄÚ´æºÍcpuʹÓÃÁ¿¡£ÐèÒª¶¯Ì¬¼à¿ØËùÓÃÄÚ´æµÄ×ÜÁ¿°üÀ¨ÎïÀíÄÚ´æºÍÐéÄâÄڴ棻CPUʹÓÃ×ÜÁ¿µÄ°Ù·ÖÊý.¸ßÊִͽ̣¡ ÎÊÌâµãÊý£º100¡¢»Ø¸´´ÎÊý£º13Top
1 ¥fieryg ......