Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ : linux

Linux Ðźż¯ dzÎö

  LinuxÐźÅÓжàÖÖ˵·¨¡£Ò»¸ö½ø³Ì´´½¨Ò»¸öÐźÅÓÃÓÚ·¢Ë͸øÁíÍâÒ»¸ö½ø³Ì½Ð×ö·¢ËÍÒ»¸öÐźţ¬Äں˴´½¨Ò»¸öÐźŽÐ×öÉú³ÉÒ»¸öÐźţ¬½ø³Ì×Ô¼ºÏò×Ô¼º·¢ËÍÐźŽÐ×ö»½ÆðÒ»¸öÐźš£²»¹ýÎÒ¿´Ò²Ã»±ØÒªÕâôѧ¾¿Æø¡£
  Ðźż¯--signel set,Æäʵ¾ÍÊǽ«¶à¸öÐźŷÅÔÚ¼¯ºÏÖнøÐм¯ÖеĴ¦Àí¡£POSIX.1¶¨ÒåÁËsigset_tÒÔ°üº­Ò»¸öÐźż¯£¬²¢ÇÒ¶¨ÒåÁËÎå¸ö´¦ÀíÐźŵĺ¯Êý£º
  int sigemptyset(sigset_t *set);
  int sigfillset(sigset_t *set);
  int sigaddset(sigset_t *set,int signo);
  int sigdelset(sigset_t *set,int signo)
  int sigismember(const sigset_t *set,int signo);
  »¹ÓÐÒ»¸öÖØÒªµÄº¯Êý£ºint sigprocmask(int how,const sigset_t *restrict set,sigset_t *restrict oset);
  µ¥´¿½²ÕâЩº¯ÊýºÜÄѽ²Ã÷°×£¬ÏÂÃæ½áºÏ³ÌÐòÀ´½²£¬³ÌÐòÀ´×ÔUNIX»·¾³¸ß¼¶±à³Ì£º
  
   static void sig_quit(int);   //ÐźŴ¦Àíº¯Êý
   int main( )
  {
     sigset_t newmask,oldmask,pendmask;
     if(signal(SIGQUIT,sig_quit)==SIG_ERR)
 & ......

²é¿´linux°æ±¾ÃüÁî

1. ²é¿´Äں˰汾ÃüÁ
1) [root@q1test01 ~]# cat /proc/version
Linux version 2.6.9-22.ELsmp (bhcompile@crowe.devel.redhat.com) (gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)) #1 SMP Mon Sep 19 18:00:54 EDT 2005
2) [root@q1test01 ~]# uname -a
Linux q1test01 2.6.9-22.ELsmp #1 SMP Mon Sep 19 18:00:54 EDT 2005 x86_64 x86_64 x86_64 GNU/Linux
3) [root@q1test01 ~]# uname -r
2.6.9-22.ELsmp
2. ²é¿´linux°æ±¾£º
1) µÇ¼µ½·þÎñÆ÷Ö´ÐÐ lsb_release -a ,¼´¿ÉÁгöËùÓа汾ÐÅÏ¢,ÀýÈç:
[root@3.5.5Biz-46 ~]# [root@q1test01 ~]# lsb_release -a
LSB Version: :core-3.0-amd64:core-3.0-ia32:core-3.0-noarch:graphics-3.0-amd64:graphics-3.0-
ia32:graphics-3.0-noarch
Distributor ID: RedHatEnterpriseAS
Description: Red Hat Enterprise Linux AS release 4 (Nahant Update 2)
Release: 4
Codename: NahantUpdate2
×¢:Õâ¸öÃüÁîÊÊÓÃÓÚËùÓеÄlinux£¬°üÀ¨Redhat¡¢SuSE¡¢DebianµÈ·¢Ðа档
2) µÇ¼µ½linuxÖ´ÐÐcat /etc/issue,ÀýÈçÈçÏÂ:
[root@q1test01 ~]# cat /etc/issue
Red Hat Enterprise Linux AS release 4 (Nahant Update 2)
Kerne ......

linux½ø³Ì¹ÜÀíÖ®½ø³Ì´´½¨

 Ëùν½ø³Ì¾ÍÊdzÌÐòÖ´ÐÐʱµÄÒ»¸öʵÀý. ËüÊÇÏÖ´ú²Ù×÷ϵͳÖÐÒ»¸öºÜÖØÒªµÄ³éÏó,ÎÒÃÇ´Ó½ø³ÌµÄÉúÃüÖÜÆÚ:´´½¨,Ö´ÐÐ,ÏûÍöÀ´·ÖÎöÒ»ÏÂLinuxÉϵĽø³Ì¹ÜÀíʵÏÖ.
Ò»:ǰÑÔ
½ø³Ì¹ÜÀí½á¹¹;
ÔÚÄÚºËÖÐ,ÿһ¸ö½ø³Ì¶ÔÓ¦Ò»¸ötask.¾ÍÊÇÒÔǰËù½²µÄPCB.ËüµÄ½á¹¹ÈçÏÂ(include/linux/sched.h):
struct task_struct {
    volatile long state;   /* -1 unrunnable, 0 runnable, >0 stopped */
     void *stack;
     atomic_t usage;
     unsigned int flags;    /* per process flags, defined below */
     unsigned int ptrace;
 
     int lock_depth;        /* BKL lock depth */
     ……
     ……
}
ÓÉÓÚÕâ¸ö½á¹¹°üº¬Á˽ø³ÌµÄËùÓÐÐÅÏ¢,ËùÒÔÊ®·ÖÅÓ´ó,ÎÒÃÇÔÚÒÔºóµÄ·ÖÎöÖÐÔÙÀ´·ÖÎö¸÷³ÉÔ±µÄº¬Òå¡£
Task_structµÄ´æ·Å£º
ÔÚϵͳÔËÐйý³ÌÖУ¬½ø³ÌÇл»Ê®·ÖƵ·±£¬ËùÒÔÎÒÃÇÐèÒªÒ»ÖÖ·½Ê½Äܹ»¿ìË ......

Linuxµ½µ×ÓÐûÓÐÏß³ÌÖ®ÎÒ¼û

 ×î½ü¿ªÊ¼×ªÏòLinux¿ª·¢£¬ÐèÒªÓõ½¶àÏ̡߳£ÉÏÍøÒ»²é£¬ÓеÄÈË˵LinuxûÓÐÏß³ÌÖ»Óнø³Ì£¬ÓеÄÈË˵Linuxµ±È»ÓÐỊ̈߳¬Ã»ÓÐÏß³Ìpthread¿âÊǸÉÂðµÄ£¿NPTLÓÖÊǸÉÂïÓã¿
¸öÈ˾õµÃ£¬Òª¿´´ÓÄĸö½Ç¶ÈÀ´¿´Õâ¸öÎÊÌâ¡£¶ÔÓÚÒ»°ãÓ¦ÓÃÈí¼þ¿ª·¢ÈËÔ±µÄ½Ç¶ÈÀ´¿´£¬¼ÈÈ»ÄÜÓÃpthread¿âÀ´´´½¨Ị̈߳¬ÒÔ¼°¿ÉÒÔ´¦ÀíÏ̼߳äµÄͨÐÅ£¬µ±È»¿ÉÒÔÈÏΪÔÚLinuxÖÐÏ߳̿϶¨ÊÇ´æÔڵġ£
´ÓĿǰLinuxÄÚºËʵÏֵĽǶÈÀ´¿´£¬Linuxµ±Ç°Ó¦¸Ã»¹ÊDzÉÓõÄÒ»¶ÔһģÐÍ£¬´´½¨Ò»¸öÓû§Ì¬¿Õ¼äµÄỊ̈߳¬ÔÚÄÚºËÖлáͨ¹ýÒ»¸öÇáÁ¿¼¶µÄ½ø³ÌÀ´¹ÜÀí£¬Ï̵߳÷¶ÈÏ൱ÓÚ½ø³Ìµ÷¶È¡£µ±Ç°LinuxÄÚºËÖУ¬ÎÞÂÛÊÇ´´½¨Ò»¸öÏ̻߳¹ÊÇÒ»¸ö½ø³Ì¶¼ÊÇ»áµ÷ÓÃclone()ϵͳµ÷Óã¬Ö»²»¹ýÊDzÎÊý²»Í¬£¬´´½¨Ï̵߳ϰclone()µÄ²ÎÊýÊÇ(CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND)£¬ÆäÖÐCLONE_VMÒ²Ö¸¶¨Á˺ËÐÄ̬¿Õ¼äÖУ¬´ËÇáÁ¿¼¶½ø³Ì£¨¼´Ị̈߳©ºÍ¸¸½ø³Ì¹²ÏíµØÖ·¿Õ¼ä£¬Òò´ËÕâ¸öÏ̲߳ſÉÒÔ·ÃÎʸ¸½ø³ÌµÄµØÖ·¿Õ¼ä¡£
Òò´Ë£¬LinuxºÍWindowsµÄÏß³ÌËäȻʵÏÖ²»Ò»Ñù£¬µ«ÊÇÓ¦¸Ã¿ÉÒԴ󵨵Ä˵LinuxÊÇ´æÔÚÏ̵߳ģ¬Ö»ÊÇLinuxµÄʵÏÖ·½Ê½ºÍWindowsµÄ²»Ò»Ñù¡£ÖÁÓÚ˵LinuxµÄÏ߳̾ÍÊÇÇáÁ¿¼¶½ø³ÌÄÇÖ»ÊÇ´ÓºËÐÄ̬¿Õ¼äµÄ²ãÃæÀ´¿´¡£ ......

ʹÓÃOpenVPN´î½¨LinuxϵÄVPN·þÎñ

 ³£ÔÚÏîÄ¿ÖÐÓöµ½ÍâµØµÄ¿Í»§Åöµ½ÎÊÌ⣬µ«ÎÞ·¨Ôڵ绰Öнâ¾ö£¬ÐèÒªÔÚ»úÆ÷ÉϽøÐзÖÎöºÍ´¦Àí¡£µÚÒ»¸öÏëµ½µÄ¾ÍÊÇÔ¶³ÌµÇ½£¬µ«¶Ô·½Ã»Óй«ÍøIP£¬Ôõô°ì£¿´Ëʱ£¬Èç¹ûÓиöVPNͨµÀ¸Ã¶àºÃ¡£ËùÒÔ£¬ÎÒ¾ö¶¨´î½¨Ò»Ì¨VPN·þÎñÆ÷ÒÔ·½±ã½ñºóµÄά»¤£¬Ë³±ãÒ²ÔÙÊìϤһÏÂÏà¹ØµÄÅäÖá£
 VPNÓ²¼þÊDz»Óÿ¼Âǵ쬷ÑÓÃÌ«¸ß¡£¶øÇÒ¼ÈÈ»ÒѾ­ÊìϤÁËLinux»·¾³£¬µ±È»»¹ÊÇÔڸû·¾³ÏÂѰÕÒÁË¡£¿¼ÂÇÁ½µã£º
1¡¢°²È«ÐÔµÚÒ»£¬ÅäÖ÷½±ã£»
2¡¢Ö§³Ö¶àƽ̨Á¬½Ó£¬±Ï¾¹Ê¹ÓÃWindows×ÀÃæµÄÓû§»¹ÊǺܶàµÄ¡£
 ¿¼ÂÇÔÙÈý£¬¾ö¶¨Ê¹ÓÃOpenVPNÀ´ÊµÏÖ¡£
Ò»¡¢Ô­Àí
 OpenVPNÊÇ»ùÓÚSSLµÄVPN£¬ÆäʹÓù¤Òµ±ê×¼µÄSSL/TLSЭÒéʵÏÖµÚ2²ãºÍµÚ3²ãµÄ°²È«Êý¾ÝÁ´Â·VPN¡£×îа汾ÊÇ2.0.7£¬ÆäÓŵã°üÀ¨£º
1¡¢»ùÓÚSSLЭÒ飬°²È«£¬²¢Ê¹Óõ¥Ò»TCP»òUDP¶Ë¿Ú¼´¿ÉʵÏÖ£»
2¡¢Ê¹ÓÃË«ÏòÑéÖ¤£¬·þÎñÆ÷Ö»Ðè±£´æ×Ô¼ºµÄÖ¤ÊéºÍÃÜÔ¿£»
3¡¢·þÎñÆ÷Ö»½ÓÊÜÄÇЩÓÉÖ÷CAÖ¤ÊéÇ©ÃûµÄ¿Í»§¶Ë£¬²¢Óг·»Ø»úÖÆ£¬¶ø²»ÐèÒªÖØ½¨Õû¸öPKI£»
4¡¢¿ÉÒÔʵÏÖ»ùÓÚCommon NameµÄȨÏÞ¿ØÖÆ¡£
¹Ù·½ÍøÕ¾£ºÕâÀï
rpmÏÂÔØ£ºµã»÷
ÒÀÀµµÄlzo°ü£ºµã»÷
¡ù×¢Ò⣬OpenVPNÊÇ»ùÓÚSSL/TLSЭÒéµÄ£¬ËùÒÔÊDz»¼æÈÝIPSecºÍPPTP£¬ÔÚWindowsÒ²ÐèÒª°²×°¿Í»§¶Ë¡£
¶þ¡¢ÍøÂç¼Ü¹¹
 OpenV ......

ǶÈëʽLinuxÖ®Kernel£¨²Ã¼õÒÆÖ²£©Æô¶¯µ÷ÊÔ¼¼Êõ

ǶÈëʽϵͳ´î½¨¹ý³ÌÖУ¬¶ÔÓÚϵͳƽ̨´î½¨¹¤³ÌʦÔÚÍê³ÉBootloader
µÄµ÷ÊÔÖ®ºó¾Í½øÈëKernel
²Ã¼õÒÆÖ²µÄ½×¶Î£¬ÆäÖÐ×îÖØÒªµÄÒ»²½ÊÇKernel
Æô¶¯µÄµ÷ÊÔ£¬ÔÚµ÷ÊÔKernel
¹ý³ÌÖÐͨ³£Óöµ½×î³£¼ûµÄÎÊÌâÊÇÆô¶¯Òì³£:
Uncompressing Linux............................................................
...........................
done, booting the kernel.(
¹ÒËÀÔÚ´Ë´¦)
µ¼ÖÂÇý¶¯Òì³££¨Æô¶¯¹ÒËÀ£©µÄÔ­ÒòÓкܶ࣬Èç»ùÓÚEVM
°åµÄ
Ó²¼þ×öÁËÐ޸ģ¨Èç¸ü¸ÄÁËFLASH
¿Õ¼ä´óС¡¢µØÖ·ºÍÐͺţ¬¸ü¸ÄÁËSDRAM
¡¢DDR SDRAM
¿Õ¼ä´óС¡¢µØÖ·ºÍÐͺţ¬¸ü¸ÄÁ˾§ÕñƵÂʵȣ©£¬°å¿¨IDºÅ²»Ö§³ÖµÈ¡£ÄÇôÈçºÎ½øÐе÷ÊÔÄÇ£¬ÆäʵÓÐÁ½ÖÖµ÷ÊÔ¼¼Êõ±È½ÏÓÐЧ¡£
Kernel
Æô¶¯µ÷ÊÔ¼¼Êõ-
ʹÓÃprintascii()
º¯Êý¸ú×Ùstart_kernel()
ÓÐûÔËÐÐ
£¬ÔÚbooting the kernel
Ö®ºóKernel
×îÏÈÖ´ÐеÄÊÇstart_kernel()
º¯Êý£¬È·ÈÏstart_kernel()
ÓзñÖ´ÐоÍÊÇÔÚÆä¿ªÊ¼´úÂë¶ÎÌí¼Óprintascii("start_kernel
…")
£¬Èç¹û´®¿ÚûÓдòÓ¡³östart_kernel
…£¬ËµÃ÷start_kernel()
ûÓÐÔËÐУ¬ÄÇô¿ÉÄܵÄÔ­ÒòÓÐBootloader
ÅäÖÃµÄÆô¶¯²ÎÊý´íÎó¡¢
Kernel
¼ÓÔØµ½(DDR) SDRAM
µÄµØÖ·²»ÕýÈ·£¬
Ke ......
×ܼǼÊý:5772; ×ÜÒ³Êý:962; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [758] [759] [760] [761] 762 [763] [764] [765] [766] [767]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ