Linux ÄÚ´æ¹ÜÀí ÏßÐÔ¿Õ¼äÓëÎïÀíÄÚ´æ
Linux ÄÚ´æ¹ÜÀí -- ÏßÐÔ¿Õ¼äÓëÎïÀíÄÚ´æ ÊÕ²Ø
ÉÏͼ·´Ó³ÁËÈçÏÂÐÅÏ¢£º
1¡¢ ½ø³ÌµÄ4G ÏßÐԿռ䱻»®·Ö³ÉÈý¸ö²¿·Ö£º½ø³Ì¿Õ¼ä£¨0-3G£©¡¢ÄÚºËÖ±½ÓÓ³Éä¿Õ¼ä£¨3G – high_memory£©¡¢Äں˶¯Ì¬Ó³Éä¿Õ¼ä£¨VMALLOC_START - VMALLOC_END£©
2¡¢ Èý¸ö¿Õ¼äʹÓÃͬһÕÅҳĿ¼±í£¬Í¨¹ý CR3 ¿ÉÕÒµ½´ËҳĿ¼±í¡£µ«²»Í¬µÄ¿Õ¼äÔÚҳĿ¼±íÖÐÒ³¶ÔÓ¦²»Í¬µÄÏÒò´Ë»¥Ï಻³åÍ»
3¡¢ Äں˳õʼ»¯ÒԺ󣬸ù¾Ýʵ¼ÊÎïÀíÄÚ´æµÄ´óС£¬¼ÆËã³ö high_memory¡¢VMALLOC_START¡¢VMALLOC_END µÄÖµ¡£²¢Îª“ÄÚºËÖ±½ÓÓ³É䔿ռ佨Á¢ºÃÓ³Éä¹ØÏµ£¬ËùÓеÄÎïÀíÄÚ´æ¶¼¿ÉÒÔͨ¹ý´Ë¿Õ¼ä½øÐзÃÎÊ¡£
4¡¢ “½ø³Ì¿Õ¼ä”ºÍ“Äں˶¯Ì¬Ó³Éä¿Õ¼ä”µÄÓ³Éä¹ØÏµÊǶ¯Ì¬½¨Á¢µÄ£¨Í¨¹ýȱҳÒì³££©
¼ÙÉèÔÚÓÐÈý¸öÏßÐÔµØÖ· addr1, addr2, addr3 £¬·Ö±ðÊôÓÚÈý¸öÏßÐԿռ䣬µ«ÊÇ×îÖÕ¶¼Ó³Éäµ½ÎïÀíÒ³Ãæ1£º
1¡¢ Èý¸öµØÖ·¶ÔÓ¦²»Í¬µÄÒ³±íºÍÒ³±íÏî
2¡¢ µ«ÊÇÒ³±íÏîµÄ¸ß 20bit ¿Ï¶¨ÊÇ1£¬±íʾÎïÀíÒ³ÃæµÄË÷ÒýºÅÊÇ1
3¡¢ ͬʱ£¬¸ù¾Ý¸ß 20 bit£¬¿ÉÒÔ´Ó mem_map[] ÖÐÕÒµ½¶ÔÓ¦µÄ struct page ½á¹¹£¬struct page ÓÃÓÚ¹ÜÀíʵ¼ÊµÄÎïÀíÒ³Ãæ£¨ºìÏߣ©
4¡¢ ´ÓÏßÐÔµØÖ·£¬¸ù¾ÝҳĿ¼±í£¬Ò³±í£¬¿ÉÒÔÕÒµ½ÎïÀíµØÖ·
5¡¢ Struct page ºÍÎïÀíµØÖ·Ö®¼äºÜÈÝÒ×»¥Ïàת»»
6¡¢ ´ÓÎïÀíµØÖ·£¬¿ÉÒÔºÜÈÝÒ׵ķ´ÍƳöÔÚÄÚºËÖ±½ÓÓ³Éä¿Õ¼äµÄÏßÐÔµØÖ·£¨À¶Ïߣ©¡£ÒªÏëµÃµ½ÔÚ½ø³Ì¿Õ¼ä»òÕßÄں˶¯Ì¬Ó³Éä¿Õ¼äµÄ¶ÔÓ¦µÄÏßÐÔµØÖ·£¬ÔòÐèÒª±éÀúÏàÓ¦µÄ“Ðé´æÇø¼ä”Á´±í¡£
¹ØÓÚҳĿ¼±í£º
1¡¢ ÿ¸ö½ø³ÌÓÐÒ»¸öÊôÓÚ×Ô¼ºµÄҳĿ¼±í£¬¿Éͨ¹ý CR3 ¼Ä´æÆ÷ÕÒµ½
2¡¢ ¶øÄÚºËÒ²ÓÐÒ»¸ö¶ÀÁ¢ÓÚÆäËü½ø³ÌµÄҳĿ¼±í£¬±£´æÔÚ swapper_pg_dir[] Êý×éÖÐ
3¡¢ µ±½ø³ÌÇл»µÄʱºò£¬Ö»ÐèÒª½«Ð½ø³ÌµÄҳĿ¼°ÑµØÖ·¼ÓÔØµ½ CR3 ¼Ä´æÆ÷Öм´¿É
4¡¢ ´´½¨Ò»¸öнø³ÌµÄʱºò£¬ÐèҪΪËü·ÖÅäÒ»¸ö page£¬×÷ΪҳĿ¼±í£¬²¢½« swapper_pg_dir[] µÄ¸ß 256 Ï±´¹ýÀ´£¬µÍ 768 ÏîÔòÇå0
Ïà¹ØÎĵµ£º
ÓÉÓÚfind¾ßÓÐÇ¿´óµÄ¹¦ÄÜ£¬ËùÒÔËüµÄÑ¡ÏîÒ²ºÜ¶à£¬ÆäÖд󲿷ÖÑ¡Ïî¶¼ÖµµÃÎÒÃÇ»¨Ê±¼äÀ´Á˽âһϡ£¼´Ê¹ÏµÍ³Öк¬ÓÐÍøÂçÎļþϵͳ(
NFS)£¬findÃüÁîÔÚ¸ÃÎļþϵͳÖÐͬÑùÓÐЧ£¬Ö»Äã¾ßÓÐÏàÓ¦µÄȨÏÞ¡£ÔÚÔËÐÐÒ»¸ö·Ç³£ÏûºÄ×ÊÔ´µÄ ...
ÓÉÓÚfind¾ßÓÐÇ¿´óµÄ¹¦ÄÜ£¬ËùÒÔËüµÄÑ¡ÏîÒ²ºÜ¶à£¬ÆäÖд󲿷ÖÑ¡Ïî¶¼ÖµµÃÎÒÃÇ»¨Ê±¼äÀ´Á˽âһϡ£¼´Ê¹ÏµÍ³ÖÐ ......
Ò»¡£linuxϵͳµÄĬÈϱàÂëÉèÖá£
/etc/sysconfig/i18n
Controls the system font
settings. The language variables are used in /etc/profile.d/lang.sh. An
example i18n file:
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN ......
±¾Îĸø³öÁËÒ»¸öͨÓõÄÏ̳߳ؿò¼Ü£¬¸Ã¿ò¼Ü½«ÓëÏß³ÌÖ´ÐÐÏà¹ØµÄÈÎÎñ½øÐÐÁ˸߲ã´ÎµÄ³éÏó£¬Ê¹Ö®Óë¾ßÌåµÄÖ´ÐÐÈÎÎñÎ޹ء£ÁíÍâ¸ÃÏ̳߳ؾßÓж¯Ì¬ÉìËõÐÔ£¬ËüÄܸù¾ÝÖ´ÐÐÈÎÎñµÄÇáÖØ×Ô¶¯µ÷ÕûÏ̳߳ØÖÐÏ̵߳ÄÊýÁ¿¡£ÎÄÕµÄ×îºó£¬ÎÒÃǸø³öÒ»¸ö¼òµ¥Ê¾Àý³ÌÐò£¬Í¨¹ý¸ÃʾÀý³ÌÐò£¬ÎÒÃǻᷢÏÖ£¬Í¨¹ý¸ÃÏ̳߳ؿò¼ÜÖ´ÐжàÏß³ÌÈÎÎñÊǶàôµÄ¼òµ¥¡£
&nb ......
ͨ¹ý²ûÊöÁ½¸ö¾ßÓдú±íÐÔµÄϵͳµ÷ÓÃsys_open()ºÍsys_read()À´¸üºÃµØÀí½âVFSÏò¾ßÌåÎļþϵͳÌṩµÄ½Ó¿Ú»úÖÆ¡£ÔÚÉîÈësys_open()ºÍsys_read()֮ǰ£¬ÎÒÃÇÏȸÅÀÀϵ÷ÓÃsys_read()µÄÉÏÏÂÎÄ¡£ÏÂͼÃèÊöÁË´ÓÓû§¿Õ¼äµÄread()µ÷Óõ½Êý¾Ý´Ó´ÅÅ̶Á³öµÄÕû¸öÁ÷³Ì¡£µ±ÔÚÓû§Ó¦ÓóÌÐòµ÷ÓÃÎļþI/O read()² ......
ÓÉÓÚwindowsÖÐËùÓÃÍ·Îļþ"windows.h"ÔÚlinuxϲ»¿ÉÓ㬹Ê×Ô¼º½¨Á¢Ïà¹ØµÄÍ·Îļþ£¬¶¨ÒåbmpÎļþµÄ´æ´¢½á¹¹¼°¸ñʽ
´úÂëÈçÏ£º
/* linux_bmp.h*/
/*
* Copyright (c)2010 Chris Grant
*
* Win32 USER structures and API
*/
#include <iostream>
typedef struct ......