LinuxϵĽø³ÌͨÐÅÊֶλù±¾ÉÏÊÇ´ÓUnixƽ̨ÉϵĽø³ÌͨÐÅÊֶμ̳жøÀ´µÄ¡£¶ø¶ÔUnix·¢Õ¹×ö³öÖØ´ó¹±Ï×µÄÁ½´óÖ÷Á¦AT&TµÄ±´¶ûʵÑéÊÒ¼°BSD£¨¼ÓÖÝ´óѧ²®¿ËÀû·ÖУµÄ²®¿ËÀûÈí¼þ·¢²¼ÖÐÐÄ£©ÔÚ½ø³Ì¼äͨÐÅ·½ÃæµÄ²àÖØµãÓÐËù²»Í¬¡£Ç°Õß¶ÔUnixÔçÆÚµÄ½ø³Ì¼äͨÐÅÊֶνøÐÐÁËϵͳµÄ¸Ä½øºÍÀ©³ä£¬ÐγÉÁË“system V IPC”£¬Í¨ÐŽø³Ì¾ÖÏÞÔÚµ¥¸ö¼ÆËã»úÄÚ£»ºóÕßÔòÌø¹ýÁ˸ÃÏÞÖÆ£¬ÐγÉÁË»ùÓÚÌ×½Ó¿Ú£¨socket£©µÄ½ø³Ì¼äͨÐÅ»úÖÆ¡£
ÆäÖУ¬×î³õUnix IPC°üÀ¨£º¹ÜµÀ¡¢FIFO¡¢Ðźţ»System V IPC°üÀ¨£ºSystem VÏûÏ¢¶ÓÁС¢System VÐźŵơ¢System V¹²ÏíÄÚ´æÇø£»Posix IPC°üÀ¨£ºPosixÏûÏ¢¶ÓÁС¢PosixÐźŵơ¢Posix¹²ÏíÄÚ´æÇø¡£ÓÐÁ½µãÐèÒª¼òµ¥ËµÃ÷һϣº1£©ÓÉÓÚUnix°æ±¾µÄ¶àÑùÐÔ£¬µç×ÓµçÆø¹¤³ÌлᣨIEEE£©¿ª·¢ÁËÒ»¸ö¶ÀÁ¢µÄUnix±ê×¼£¬Õâ¸öеÄANSI Unix±ê×¼±»³ÆÎª¼ÆËã»ú»·¾³µÄ¿ÉÒÆÖ²ÐÔ²Ù×÷ϵͳ½çÃæ£¨PSOIX£©¡£ÏÖÓд󲿷ÖUnixºÍÁ÷Ðа汾¶¼ÊÇ×ñÑPOSIX±ê×¼µÄ£¬¶øLinux´ÓÒ»¿ªÊ¼¾Í×ñÑPOSIX±ê×¼£»2£©BSD²¢²»ÊÇûÓÐÉæ×ãµ¥»úÄڵĽø³Ì¼äͨÐÅ£¨socket±¾Éí¾Í¿ÉÒÔÓÃÓÚµ¥»úÄڵĽø³Ì¼äͨÐÅ£©¡£
LinuxϽø³Ì¼äͨÐŵļ¸ÖÖÖ÷ÒªÊֶμò½é£º
1.¹Üµ ......
RPM ÊÇ RedHat Package Manager µÄËõд£¬Èí¼þ°ü¹ÜÀí¹¤¾ß¡£
RPMÎļþÔÚLINUXϵͳÖеݲװ×îΪ¼ò±ã¡£
LinuxÈí¼þ°ü£¬³£¼ûµÄ¸ñʽ°üÀ¨ÓÐrpm,deb,tar,gz,tgz,zip,bz2µÈµÈ¡£¼¸ºõÿ¸ölinuxÈí¼þ¶¼»áÌṩtarµÄ¸ñʽµÄÈí¼þ°ü£¬
ÒòΪÕâÖÖ¸ñʽµÄÈí¼þ°üÈκΰ汾µÄlinux¶¼Ö§³Ö£¬ËùÒÔÖÁÉÙÒªÁ˽âtarºÍrpmµÃʹÓ÷½·¨¡£
rpm¿ÉνÊÇRedhat¹«Ë¾µÄÒ»¸ö¹±Ï×£¬ËüʹlinuxµÄÈí¼þ°²×°¹¤×÷±äµÃ¸ü¼Ó¼òµ¥ÈÝÒס£
1. °²×°£º
¡¡¡¡ÎÒÖ»Ðè¼òµ¥µÄÒ»¾ä»°£¬¾Í¿ÉÒÔ˵Íê¡£Ö´ÐУº
¡¡¡¡ rpm –ivh rpmÈí¼þ°üÃû
¡¡¡¡¸ü¸ß¼¶µÄ£¬Çë¼ûÏÂ±í£º
¡¡¡¡rpm²ÎÊý¡¡¡¡¡¡¡¡¡¡¡¡²Î¡¡Êý¡¡Ëµ¡¡Ã÷
¡¡¡¡¡¡-i¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡°²×°Èí¼þ
¡¡¡¡¡¡-t¡¡¡¡¡¡¡¡¡¡¡¡²âÊÔ°²×°£¬²»ÊÇÕæµÄ°²×°
¡¡¡¡¡¡-p¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÔʾ°²×°½ø¶È
¡¡¡¡¡¡-f¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ºöÂÔÈκδíÎó
¡¡¡¡¡¡-U¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Éý¼¶°²×°
¡¡¡¡¡¡-v¡¡¡¡¡¡¡¡¡¡¡¡¼ì²âÌ×¼þÊÇ· ......
nmÃüÁî
[
ÔÚGNU CÓïÑÔ¿âÌṩµÄÄÚÈÝÖУ¬ÓнӿڿÉÒÔÓÃÀ´×öÕâ¼þÊ¡£ÓÃÏÂÃæµÄÃüÁî²é¿´£º
nm -D /lib/libc.so.6 | grep log
]
nmÃüÁÊDZȽϼòµ¥¶øÇÒÇ¿´óµÄ¡£ËüÓÃÀ´ÁгöÒ»¸öÄ¿±êÎļþÖеĸ÷ÖÖ·ûºÅ¡£·ûºÅµÄÖÖÀàºÜ¶à£¬ÒÔÏÂÊÇһЩ³£¼ûµÄ·ûºÅÀàÐÍ
nmÊä³ö×Ö·û
º¬Òå
R
Read only symbol. ±ÈÈçÔÚ´úÂëÖÐÓÐÒ»¸öconst MAXDATA = 3095; ÔòMAXDATA¾ÍÊÇÒ»¸öRead only symbol
N
ÕâÊÇÒ»¸öµ÷ÊÔ·ûºÅ
D
ÕâÊÇÒ»¸öÒѾ³õʼ»¯µÄ±äÁ¿µÄ·ûºÅ¡£±ÈÈç´úÂëÖÐint i = 1ºÍchar *str = "Hello"ÔòiºÍstr¶¼ÊÇÕâÖÖÀàÐ͵ķûºÅ
T
Text¶ÎµÄ·ûºÅ¡£×Ó³ÌÐò¶¼ÊÇÕâÖÖ·ûºÅ£¬±ÈÈçÎļþÖÐʵÏÖÁËÒ»¸öº¯Êýfunction£¬Ôòfunction¾ÍÊÇÕâÖÖ·ûºÅ
U
䶨ÒåµÄ·ûºÅ¡£Èç¹ûÎļþÖÐÒýÓÃÁ˲»´æÔڵĺ¯Êý£¬ÔòÕâЩ䶨ÒåµÄº¯Êý·ûºÅ¾ÍÊÇÕâÖÖÀàÐÍ
S
δ³õʼ»¯µÄ·ûºÅ£¬±ÈÈçÈ«¾Ö±äÁ¿int s;ÔòsµÄ·ûºÅ¾ÍÊÇ´ËÀàÐÍ
nmÃüÁîµÄÏêϸÓ÷¨ÒÔ¼°Àý×Ó¼ûÕýÎÄ¡£
ÏÈÀ´Àý×Ó£¬ÒÔÏÂÊÇa.cµÄÄÚÈÝ£º
#include <stdio.h>
static int s_global;
int i = 1;
char *str = "hello, world";
const ID = 10;
extern int e_global;
void function()
{
printf("Hello ......
½ø³ÌÔÚ²Ù×÷ϵͳÖж¼ÓÐÒ»¸ö»§¿Ú£¬ÓÃÓÚ±íʾÕâ¸ö½ø³Ì¡£Õâ¸ö»§¿Ú²Ù×÷ϵͳ±»³ÆÎªPCB£¨½ø³Ì¿ØÖƿ飩£¬ÔÚlinuxÖоßÌåʵÏÖÊÇ
task_structÊý¾Ý½á¹¹£¬Ëü¼Ç¼ÁËһϼ¸¸öÀàÐ͵ÄÐÅÏ¢£º
1.״̬ÐÅÏ¢£¬ÀýÈçÕâ¸ö½ø³Ì´¦ÓÚ¿ÉÖ´ÐÐ״̬£¬ÐÝÃߣ¬¹ÒÆðµÈ¡£
2.ÐÔÖÊ£¬ÓÉÓÚunixÓкܶà±äÖÖ£¬½ø³ÌÓÐ×Ô¼º¶ÀÌØµÄÐÔÖÊ¡£
3.×ÊÔ´£¬×ÊÔ´µÄÁ´½Ó±ÈÈçÄڴ棬»¹ÓÐ×ÊÔ´µÄÏÞÖÆºÍȨÏ޵ȡ£
4.×éÖ¯£¬ÀýÈç°´ÕÕ¼Ò×å¹ØÏµ½¨Á¢ÆðÀ´µÄÊ÷£¨¸¸½ø³Ì£¬×Ó½ø³ÌµÈ£©¡£
ÏÂÃæÊÇÕâÒ»¸öÊý¾Ý½á¹¹
struct task_struct {
/*
* offsets of these are hardcoded elsewhere - touch with care
*/
volatile long state; /* -1 unrunnable, 0 runnable, >0 stopped
*/ //½ø³Ìµ±Ç°µÄ״̬
unsigned long flags; /* per process flags, defined below */
//·´Ó¦½ø³Ì״̬µÄÐÅÏ¢£¬µ«²»ÊÇÔËÐÐ״̬£¬¶¨Òå¼ûÏÂ
int sigpending; //½ø³ÌÊÕµ½ÁËÐźţ¬µ«ÉÐδ´¦Àí
mm_segment_t addr_limit; /* thread addr ......
linux ³£ÓÃÃüÁî×ܽá:
Ò»¡£ ͨÓÃÃüÁî:
1. date £ºprint or set the system date and time
2. stty -a: ¿ÉÒԲ鿴»òÕß´òÓ¡¿ØÖÆ×Ö·û(Ctrl-C, Ctrl-D, Ctrl-ZµÈ)
3. passwd: print or set the system date and time (ÓÃpasswd -h²é¿´)
4. logout, login: µÇ¼shellµÄµÇ¼ºÍ×¢ÏúÃüÁî
5. pwd: print or set the system date and time
6. more, less, head tail: ÏÔʾ»ò²¿·ÖÏÔʾÎļþÄÚÈÝ.
7. lp/lpstat/cancel, lpr/lpq/lprm: ´òÓ¡Îļþ.
8. ¸ü¸ÄÎļþȨÏÞ£º chmod u+x...
9. ɾ³ý·Ç¿ÕĿ¼£ºrm -fr dir
10.¿½±´Ä¿Â¼£º cp -R dir
11. fg jobid :¿ÉÒÔ½«Ò»¸öºǫ́½ø³Ì·Åµ½Ç°Ì¨¡£
Ctrl-z ¿ÉÒÔ½«Ç°Ì¨½ø³Ì¹ÒÆð(suspend), È»ºó¿ÉÒÔÓÃbg jobid ÈÃÆäµ½ºǫ́ÔËÐС£
job & ¿ÉÒÔÖ±½ÓÈÃjobÖ±½ÓÔÚºǫ́ÔËÐС£
12. kill µÄ×÷ÓÃ: send a signal to a process. eg: kill -9 ·¢Ë͵ÄÊÇSIG_KILLÐźš£¡£¡£ ¾ßÌå·¢ËÍʲôÐźŠ¿ÉÒÔͨ¹ý man kill ²é¿´¡£
13. ps µÄÓ÷¨£¬ ps -e »ò ps -o pid,ppid,session,tpgid, comm (ÆäÖÐsessionÏÔʾµÄsessionid, tpgidÏÔʾǰ̨½ø³Ì×éid, commÏÔʾÃüÁîÃû³Æ¡£)
¶þ .ubuntu³£ÓÃÃüÁî:
1. dpkg: package ma ......
slab·ÖÅäÆ÷ÐÎÏóµØËµ¾ÍÊÇÏÈÓÉ»ï°é»úÖÆÉêÇë¿ÕÏÐÄÚ´æ¿Õ¼ä£¬È»ºóslab·ÖÅäÆ÷ÔÙ°ÑÕâ¸öÄÚ´æ¿Õ¼ä½øÐзָ°´Í¬Ñù´óСÀ´½øÐзָ×îºóÔÙÓÃһЩÊý¾Ý½á¹¹À´½øÐйÜÀí¡£ÉÏÃæÖ»ÊÇÐÎÏóµØËµ·¨¡£ÎÒÃÇÆ½Ê±°ÑÓÉslab½øÐзָîºóµÄÄÚ´æÎÒÃdzÆÖ®Îª¸ßËÙ»º´æÄÚ´æ¡£ÕâÑù¿´À´¾ÍÖªµÀËùνµÄ¸ßËÙ¾ÍÊÇ˵²»ÊÇÿ´Î·ÖÅäºÍÊÍ·ÅÄÚ´æ¶¼ÒªÕÒ»ï°é»úÖÆ£¬¿ÉÒÔÏÈ·ÃÎÊÕâЩ¸ßËÙÄÚ´æµÄ£¬ºÍÎÒÃÇÇ°ÃæÎÄÕÂÖÐÌáµ½µÄÀäÈÈÇøÊÇÒ»¸ö×÷Óõġ£ÎÒÃǻᷢÏÖÎÒÃÇÔÀ´ËµµÄÀäÈÈÇøºÍ»ï°é»úÖÆ£¬¶¼ÊÇÒÔҳΪµ¥Î»½øÐзÖÅäµÄ¡£Õâ¾ÍÓеãÏÞÖÆÁË£¬ÎªÊ²Ã´ÎÒ²»¿ÉÒÔÔÙ°´Ð¡µãµÄÄÚ´æÈ¥·ÖÅäÄØ£¿ËùÒԾͲúÉúÁËslab·ÖÅäÆ÷ÁË¡£
µ±ÎÒÃÇ´Ó¸ßËÙ»º´æÄÚ´æÖзÖÅä¶ÔÏóʱ£¨ÕâÀïÎÒÃDz»ÔÙ˵ÄÚ´æÒ³ÁË£¬ÎÒÃǸÃΪ¶ÔÏ󣬼´ÄÚ´æ¶ÔÏ󣩣¬Ê×Ïȼì²é¶ÔÓ¦´¦ÀíÆ÷µÄ¸ßËÙ»º´æÄÚ´æÕóÁÐÖÐÊÇ·ñÓÐδʹÓõÄÄÚ´æ¶ÔÏó¡£Ê²Ã´ÊÇ´¦ÀíÆ÷µÄ¸ßËÙ»º´æÄÚ´æÕóÁУ¿--kmem_cache_t½á¹¹ÀïÃæÒ²ÎªÃ¿¸ö´¦ÀíÆ÷Ô¤ÁôÒ»¸ö¸ßËÙ»º³åÄÚ´æÕóÁУ¨struct array_cache£©£¬ÎÒÃǶ¼ÊÇÓÃÆä³ÉÔ±*array[NR_CPUS]Õâ¸öÖ¸ÕëÊý×éÀïÃæµÄÿ¸ö³ÉÔ±¶¼ÊÇÖ¸Ïòstruct array_cache½á¹¹±äÁ¿£¬½ô¸úÔÚstruct array_cache½á¹¹ºóÃæµÄÊÇÁ¬Ðø´æ·ÅµÄ¸Ãstruct array_cache½á¹¹Ö¸¶¨¸öÊýµÄ¶ÔÏóÖ¸Õ룬ÕâЩָÕëÖ¸ÏòµÄ¶ÔÏó¾ÍÊǽ«À´Òª±»·ÖÅ ......