Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

LinuxÄÚ´æÄ£ÐÍ

LinuxÄÚ´æÄ£ÐÍ
 
Àí½â Linux ʹÓõÄÄÚ´æÄ£ÐÍÊÇ´Ó¸ü´ó³Ì¶ÈÉÏÕÆÎÕ Linux Éè¼ÆºÍʵÏֵĵÚÒ»²½£¬Òò´Ë±¾ÎĽ«¸ÅÊö Linux ÄÚ´æÄ£Ðͺ͹ÜÀí¡£
ÓëÄÚ´æ¹ÜÀíÓйصÄÖ÷ÒªÎÊÌâÓУº
l  ÐéÄâÄÚ´æµÄ¹ÜÀí£¬ÕâÊǽéÓÚÓ¦ÓóÌÐòÇëÇóÓëÎïÀíÄÚ´æÖ®¼äµÄÒ»¸öÂß¼­²ã¡£
l  ÎïÀíÄÚ´æµÄ¹ÜÀí¡£
l  ÄÚºËÐéÄâÄÚ´æµÄ¹ÜÀí/ÄÚºËÄÚ´æ·ÖÅäÆ÷£¬ÕâÊÇÒ»¸öÓÃÀ´Âú×ã¶ÔÄÚ´æµÄÇëÇóµÄ×é¼þ¡£ÕâÖÖ¶ÔÄÚ´æµÄÇëÇó¿ÉÄÜÀ´×ÔÓÚÄںˣ¬Ò²¿ÉÄÜÀ´×ÔÓÚÓû§¡£
l  ÐéÄâµØÖ·¿Õ¼äµÄ¹ÜÀí¡£
l  ½»»»ºÍ»º´æ¡£
±¾ÎÄ̽ÌÖÁËÒÔÏÂÎÊÌ⣬¿ÉÒÔ°ïÖúÄú´Ó²Ù×÷ϵͳÖÐÄÚ´æ¹ÜÀíµÄ½Ç¶ÈÀ´Àí½â Linux µÄÄÚÄ»£º
 
l  ¶Î¿ØÖƵ¥ÔªÄ£ÐÍ£¬Í¨³£×¨ÓÃÓÚ Linux
l  ·ÖҳģÐÍ£¬Í¨³£×¨ÓÃÓÚ Linux
l  ÎïÀíÄÚ´æ·½ÃæµÄ֪ʶ
x86 ¼Ü¹¹ÖУ¬ÄÚ´æ±»»®·Ö³É 3 ÖÖÀàÐ͵ĵØÖ·£º
l  Âß¼­µØÖ· (logical address) ÊǴ洢λÖõĵØÖ·£¬Ëü¿ÉÄÜÖ±½Ó¶ÔÓ¦ÓÚÒ»¸öÎïÀíλÖã¬Ò²¿ÉÄܲ»Ö±½Ó¶ÔÓ¦ÓÚÒ»¸öÎïÀíλÖá£Âß¼­µØÖ·Í¨³£ÔÚÇëÇó¿ØÖÆÆ÷ÖеÄÐÅϢʱʹÓá£
l  ÏßÐÔµØÖ· (linear address) £¨»ò³ÆÎª Æ½ÃæµØÖ·¿Õ¼ä£©ÊÇ´Ó 0 ¿ªÊ¼½øÐÐѰַµÄÄÚ´æ¡£Ö®ºóµÄÿ¸ö×Ö½Ú¶¼¿É˳ÐòʹÓÃÏÂÒ»Êý×ÖÀ´ÒýÓã¨0¡¢1¡¢2¡¢3 µÈ£©£¬Ö±µ½ÄÚ´æÄ©Î²ÎªÖ¹¡£Õâ¾ÍÊÇ´ó²¿·Ö·Ç Intel CPU µÄѰַ·½Ê½¡£Intel® ¼Ü¹¹Ê¹ÓÃÁ˷ֶεĵØÖ·¿Õ¼ä£¬ÆäÖÐÄÚ´æ±»»®·Ö³É 64KB µÄ¶Î£¬ÓÐÒ»¸ö¶Î¼Ä´æÆ÷×ÜÊÇÖ¸Ïòµ±Ç°ÕýÔÚѰַµÄ¶ÎµÄ»ùÖ·¡£ÕâÖּܹ¹ÖÐµÄ 32 λģʽ±»ÊÓÎªÆ½ÃæµØÖ·¿Õ¼ä£¬²»¹ýËüҲʹÓÃÁ˶Ρ£
l  ÎïÀíµØÖ· (physical address) ÊÇʹÓÃÎïÀíµØÖ·×ÜÏßÖеÄλ±íʾµÄµØÖ·¡£ÎïÀíµØÖ·¿ÉÄÜÓëÂß¼­µØÖ·²»Í¬£¬ÄÚ´æ¹ÜÀíµ¥Ôª¿ÉÒÔ½«Âß¼­µØÖ·×ª»»³ÉÎïÀíµØÖ·¡£
CPU ʹÓÃÁ½ÖÖµ¥Ôª½«Âß¼­µØÖ·×ª»»³ÉÎïÀíµØÖ·¡£µÚÒ»ÖÖ³ÆÎª·Ö¶Îµ¥Ôª (segmented unit)£¬ÁíÍâÒ»ÖÖ³ÆÎª·ÖÒ³µ¥Ôª (paging unit)¡£
ÏÂÃæÈÃÎÒÃÇÀ´½éÉÜһ϶οØÖƵ¥ÔªÄ£ÐÍ¡£
 
¶Î¿ØÖƵ¥ÔªÄ£Ð͸ÅÊö
 
ÕâÖÖ·Ö¶ÎÄ£Ðͱ³ºóµÄ»ù±¾Ë¼ÏëÊǽ«ÄÚ´æ·Ö¶Î¹ÜÀí¡£´Ó±¾ÖÊÉÏÀ´Ëµ£¬Ã¿¸ö¶Î¾ÍÊÇ×Ô¼ºµÄµØÖ·¿Õ¼ä¡£¶ÎÓÉÁ½¸öÔªËØ¹¹³É£º
»ùÖ· (base address) °üº¬Ä³¸öÎïÀíÄÚ´æÎ»ÖõĵØÖ·
³¤¶ÈÖµ (length value) Ö¸¶¨¸Ã¶ÎµÄ³¤¶È
·Ö¶ÎµØÖ·»¹°üÀ¨Á½¸ö×é¼þ —— ¶ÎÑ¡ÔñÆ÷ (segment selector) ºÍ¶ÎÄÚÆ«ÒÆÁ¿ (offset into the segment)¡£¶ÎÑ¡ÔñÆ÷Ö¸¶¨ÁËҪʹÓõĶΣ¨¼´»ùÖ·ºÍ³¤¶ÈÖµ£©£¬¶ø¶ÎÄÚÆ«ÒÆÁ¿×é¼þÔòÖ¸¶¨ÁËʵ¼ÊÄÚ´æÎ»ÖÃÏà¶ÔÓÚ»ùÖ·µÄÆ«ÒÆÁ¿¡£Êµ¼ÊÄÚ´æÎ»ÖõÄÎïÀíµØÖ·¾ÍÊÇÕâ¸ö»ùÖ·ÖµÓëÆ«ÒÆÁ


Ïà¹ØÎĵµ£º

linuxʹÓÃÏÂʹÓö¯Ì¬Ó뾲̬¿â

¸Ð¾õ¶ÔÕâ¸öÓÐЩÔΣ¬×öÁ˸öʵÑ飬ŪÇå³þÁË¡£
ʵÑé˼·£¬ÓÃͬһ·Ý´úÂë±àÒëͬʱÉú³É¶¯Ì¬ºÍ¾²Ì¬¿â£¬Í¨¹ý²âÊÔ³ÌÐòµ÷Ó㬿´µ÷ÓõÄÊǶ¯Ì¬¿â»¹ÊǾ²Ì¬¿â¡£
Éú³É¾²Ì¬¿â´úÂ룺
/***********hellod.h*************/
#ifndef _HELLO_S_H
#define _HELLO_S_H
void prints(char *str);
#endif
/*hellod.c*/
#include "hellod ......

linuxÍøÂç±à³Ì»ù±¾Á÷³Ì

1.        »ù±¾¸ÅÄî
 
˵µ½ÍøÂç±à³Ì,²»µÃ²»ÏÈÌáµ½OSI²Î¿¼Ä£ÐÍ,ÆäÆß²ãÄ£ÐÍ´Óϵ½ÉÏ·Ö±ðΪ
1.ÎïÀí²ã(Physical Layer,PH)
2.Êý¾ÝÁ´Â·²ã(Data Link Layer,DL)
3.ÍøÂç²ã(Network Layer,N)
4.ÔËÊä²ã(Transport Layer,T)
5.»á»°²ã(Session Layer,S)
6.±íʾ²ã(Presentation Layer, ......

ÍÆ¼ö£ºLinuxÈëÃÅ11µã½¨Òé

×ªÔØÍÆ¼ö ---- LinuxÈëÃÅ11µã½¨Òé
Ëæ×Å
Linux
Ó¦ÓõÄÀ©Õ¹Ðí¶àÅóÓÑ¿ªÊ¼½Ó´¥
Linux
£¬¸ù¾Ýѧϰ
Windwos
µÄ¾­ÑéÍùÍùÓÐһЩãȻµÄ¸Ð¾õ£º²»Öª´ÓºÎ´¦¿ªÊ¼Ñ§Æð¡£ÕâÀï½éÉÜѧϰ
Linux
µÄһЩ½¨Òé¡£

Ò»¡¢´Ó»ù´¡¿ªÊ¼£º
 
 
 
³£³£ÓÐЩÅóÓÑÔÚ
Linux
ÂÛ̳ÎÊһЩÎÊÌ⣬²»¹ý£¬ÆäÖдó¶àÊýµÄÎÊÌâ¶¼ÊǺܻù´ ......

Linux½ø³Ìµ÷¶Èʱ»ú


http://www.chineselinuxuniversity.net/articles/30602.shtml
Linux½ø³Ìµ÷¶È³ÌÐòËäÈ»
ÌØ±ð
ÖØÒª
£¬µ«Ëü²»¹ýÊÇÒ»¸ö´æÔÚÓÚÄں˿ռäÖеĺ¯Êý¶øÒÑ£¬²¢²»ÉñÃØ¡£LinuxµÄµ÷¶È³ÌÐòÊÇÒ»¸ö½ÐSchedule£¨£©µÄº¯Êý£¬Õâ¸öº¯Êý±»µ÷ÓÃµÄÆµÂʺܸߣ¬ÓÉËüÀ´¾ö¶¨ÊÇ·ñ
Òª½øÐнø³ÌµÄÇл»£¬Èç¹ûÒªÇл»µÄ»°£¬Çл»µ½Äĸö½ø³ÌµÈµÈ¡£ÎÒÃÇ
ÏÈÀ´ ......

linuxÉ豸Çý¶¯Ö®¿ØÖÆÌ¨Çý¶¯

¡¡Ò»:ǰÑÔ
¡¡¡¡ÎÒÃÇÔÚ֮ǰ·ÖÎö¹ýinput×ÓϵͳºÍttyÉ豸Çý¶¯¼Ü¹¹.½ñÌìÐèÒª½«Á½Õß½áºÏÆðÀ´.¿´¿´linuxÖеĿØÖÆÌ¨ÊÇÔõôÑùʵÏÖµÄ.
¡¡¡¡¶þ:¿ØÖÆÌ¨Çý¶¯µÄ³õʼ»¯
¡¡¡¡Ö®Ç°ÔÚ·ÖÎöttyÇý¶¯¼Ü¹¹µÄʱºòÔø·ÖÎöµ½.Ö÷É豸Ϊ4,´ÎÉ豸Ϊ0µÄÉ豸½Úµã,¼´/dev/tty0Ϊµ±Ç°µÄ¿ØÖÆÖÕ¶Ë.
¡¡¡¡ÓÐtty_init()ÖÐ,ÓÐÒÔÏ´úÂë¶Î:
¡¡¡¡static int __ini ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ