Linux kernel ѧϰ±Ê¼Ç£¨1£© ·Ö¶Î·ÖÒ³±£»¤»úÖÆ
ʹÓÃ80x86´¦ÀíÆ÷½øÐÐѰַʱǣÉæµ½ÈýÖÖ²»Í¬µÄµØÖ·£¬Æä¹ØϵÈçÏÂËùʾ
Âß¼µØÖ·------------------->ÏßÐÔµØÖ·-------------------------->ÎïÀíµØÖ·
£¨·Ö¶Î£© £¨·ÖÒ³£©
·Ö¶ÎµÄ±£»¤»úÖÆ£º
Ò»¸öÂß¼µØÖ·ÓÉÁ½²¿·Ö×é³É£º¶Î±êʶ·ûºÍÆ«ÒÆÁ¿¡£ÆäÖÐÆ«ÒÆÁ¿ÊÇÒ»¸ö32볤µÄ×ֶΣ¬¶Î±êʶ·ûÊÇÒ»¸ö16볤µÄ×ֶΣ¬³ÆΪ¶ÎÑ¡Ôñ·û£¬º¬ÓÐÒ»¸ö13λµÄ¶ÎÃèÊö·ûË÷Òý£¬Ò»¸ö1λµÄGDTºÍLDTָʾλºÍÒ»¸öÁ½Î»µÄÇëÇóÕßÌØȨ¼¶¡£
ÇëÇóÕßÌØȨ¼¶£¨RPL£©ÊÇÓÃÀ´Ö¸Ê¾µ±Ç°CPUµÄÌØȨ¼¶¡£0´ú±í×î¸ßÓÅÏȼ¶£¬3´ú±í×îµÍÓÅÏȼ¶£¬LinuxÖ»ÓÃ0ºÍ3£¬·Ö±ð³Æ֮ΪÄÚºË̬ºÍÓû§Ì¬¡£
ΪÁË¿ìËÙ·½±ãµÄÕÒµ½¶ÎÑ¡Ôñ·û£¬´¦ÀíÆ÷ÌṩÁ˶μĴæÆ÷£¬¶Î¼Ä´æÆ÷µÄΨһĿµÄÊÇ´æ·Å¶ÎÑ¡Ôñ·û£¬ÆäÖÐCS¼Ä´æÆ÷Öаüº¬Ò»¸öÁ½Î»µÄ×ֶΣ¬ÓÃÀ´Ö¸Ã÷CPUµÄµ±Ç°ÓÅÏȼ¶£¨CPL£©¡£
¶ÎÃèÊö·ûÊÇÓÉ8¸ö×Ö½ÚÀ´±íʾ¶ÎµÄÌØÐÔ£¬Ëü±»±£´æÔÚÈ«¾ÖÃèÊö·û±í£¨GDT£©ºÍ¾Ö²¿ÃèÊö·û±í£¨LDT£©ÖУ¬ÓÉÓÚ¶ÎÃèÊö·ûµÄÄÚÈݽ϶࣬Ôڴ˲»Ò»Ò»½éÉÜ¡£¹Ø¼üµÄÓÐÒ»¸öÁ½Î»±íʾµÄÃèÊö·ûÌØȨ¼¶£¨DPL£©£¬Ö÷ÒªÓÃÓÚÏÞÖƶÔÕâ¸ö¶ÎµÄ´æÈ¡£¬Ëü±íʾ¿ÉÒÔ·ÃÎÊÕâ¸ö¶ÎµÄ×îСCPUÓÅÏȼ¶¡£
ÒÔÉÏÈý¶Î¹²Ìáµ½3¸öÌØȨ¼¶£¬·Ö±ðÊÇRPL¡¢CPLºÍDPL¡£ÊDz»ÊÇÓеãÔÎÁË£¬²»×ż±£¬ÏÂÃæ˵Ã÷Èý¸öµÄ¹Øϵ¡£
DPL£ºÃèÊö·ûÌØȨ¼¶£¨Descriptor Privilege Level£©
´æ´¢ÔÚÃèÊö·ûÖеÄȨÏÞ룬ÓÃÓÚÃèÊö´úÂëµÄËùÊôµÄÌØȨµÈ¼¶£¬Ò²¾ÍÊÇ´úÂë±¾ÉíÕæÕýµÄÌØȨ¼¶¡£Ò»¸ö³ÌÐò¿ÉÒÔʹÓöà¸ö¶Î(Data£¬Code£¬Stack)Ò²¿ÉÒÔÖ»
ÓÃÒ»¸öcode¶ÎµÈ¡£Õý³£µÄÇé¿öÏ£¬µ±³ÌÐòµÄ»·¾³½¨Á¢ºÃºó£¬¶ÎÃèÊö·û¶¼²»ÐèÒª¸Ä±ä——µ±È»DPLÒ²²»ÐèÒª¸Ä±ä£¬Òò´Ëÿ¸ö¶ÎµÄDPLÖµÊǹ̶¨¡£
CPL£ºµ±Ç°ÌØȨ¼¶£¨Current Privilege Level£©
ÊÇCS register Àïbit 0ºÍbit 1 λ×éºÏËùµÃµÄÖµ.ÔÚijһʱ¿Ì¾ÍÖ»ÓÐÕâ¸öֵΨһµÄ´ú±í³ÌÐòµÄCPL¡£ÔÚLinuxϵͳÖдú±íµ±Ç°´¦ÓÚÄÚºË̬»¹ÊÇÓû§Ì¬¡£
RPL£ºÇëÇóÌØȨ¼¶RPL(Request Privilege Level)
RPL±£´æÔÚÑ¡Ôñ×ÓµÄ×îµÍÁ½Î»¡£
RPL
˵Ã÷µÄÊǽø³Ì¶Ô¶Î·ÃÎʵÄÇëÇóȨÏÞ£¬Òâ˼Êǵ±Ç°½ø³ÌÏëÒªµÄÇëÇóȨÏÞ¡£
RPL
µÄ
Öµ
ÓɳÌÐòÔ±×Ô¼ºÀ´×ÔÓɵÄÉèÖ㬲¢²»Ò»¶¨RPL>=CPL£¬µ«Êǵ±RPL<CPLʱ£¬Êµ¼ÊÆð×
Ïà¹ØÎĵµ£º
vmwareÐéÄâlinux¾ÖÓòÍøÖÐÉÏÍø
¶ÔÓÚ³õѧlinuxµÄÅóÓÑ£¬×îºÃÊÇÔÚwindowsÏÂÓÃvmwareÐéÄâÒ»¸ölinux£¬Èç¹ûÊǾÖÓòÍø£¬¿ÉÒÔʹÓÃNAT·½Ê½×îΪ¼òµ¥¡£
ÓÃVMnet8£¬°²×°ºÃºó£¬Ñ¡ÔñNAT·½Ê½£¬È»ºóÔÚwindowsÖ÷»úÉÏÓÃipconfig²é¿´VMnet8µÄIPµØÖ·£¬ÔËÐÐ->cmd->ipconfig -all
Ò»°ãÊÇ192.168.X.1/255.255.255.0
´ËʱVMnet8µÄÉèÖ ......
1¡¢¼ÓÔØ BIOS µÄÓ²¼þÐÅÏ¢£¬²¢È¡µÃµÚÒ»¸ö¿ª»ú×°ÖõĴúºÅ£»
2¡¢¶ÁÈ¡µÚÒ»¸ö¿ª»ú×°ÖÃµÄ MBR µÄ boot Loader (Ò༴ÊÇ lilo, grub, spfdisk µÈµÈ) µÄ¿ª»úÐÅÏ¢£ ......
´ÅÅÌ·ÖÇø¹¤¾ß--fdisk
fdisk /dev/hda
fdiskÃüÁîµÄ×ÓÃüÁî
-m ÏÔʾ°ïÖú£¨ÃüÁîÇåµ¥£©
-a ¼¤»î·ÖÇøµÄ¿ÉÒýµ¼±êÖ¾
-l Áгö¿ÉÑ¡µÄ·ÖÇøÀàÐÍ
-n Ìí¼ÓзÖÇø
-d ɾ³ýÒѾ´æÔڵķÖÇø
-p ÏÔʾ·ÖÇø±í
-t ¸Ä±ä·ÖÇøµÄÎļþÀàÐÍ
  ......
ÔÚLinuxÄÚºËÀïÄÚ´æ¿ÉÒÔºÍÓ²ÅÌ¿Õ¼äͨÓõģ¬µ±ÄÚ´æÀûÓúÜÉÙʱ£¬Êý¾Ý¿ÉÒÔ´æµ½ÄÚ´æÀ·´Ö®Ó²ÅÌ¿Õ¼ä¿ÉÒÔÓÃÀ´µ±ÄÚ´æÓõ«ÊÇÓиö¹²Í¬µãÊý¾Ý×ÜÊÇÏÖÔÚÄÚ´æÀï²Ù×÷ÔÙд»Øµ½Ó²ÅÌÉϵġ£ÓÉÓÚÕâ¸öÔÒò£¬¿é´æ´¢É豸±»µ±³Éºó±¸´æ´¢Æ÷¡£
LinuxÌṩÁËÁ½ÖÖ²Ù×÷µÄ·½·¨£º
1 ºǫ́½ø³Ì²»Í£µÄ¼ì²éϵͳÄÚ´æÖÜÆÚÐÔµÄд²Ù×÷
2 µ±ÏµÍ³ÓÐÌ«¶àµÄÔàÒ³ÐèÒª ......
LinuxϵͳÏ»ù±¾ÃüÁ ÒªÇø·Ö´óСд uname ÏÔʾ°æ±¾ÐÅÏ¢£¨Í¬win2KµÄ ver£© dir ÏÔʾµ±Ç°Ä¿Â¼Îļþ,ls -al ÏÔʾ°üÀ¨Òþ²ØÎļþ£¨Í¬win2KµÄ dir£© pwd ²éѯµ±Ç°ËùÔÚµÄĿ¼λÖà cd cd¡¡..»Øµ½ÉÏÒ»²ãĿ¼£¬×¢Òâcd Óë..Ö®¼äÓпոñ¡£cd¡¡/·µ»Øµ½¸ùĿ¼¡£ cat ÎļþÃû ²é¿´ÎļþÄÚÈÝ cat >abc.txt Íùabc.txtÎļþÖÐдÉÏÄÚÈÝ¡£ more Î ......