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

linux 2.6Ô´´úÂëÇé¾°·ÖÎö±Ê¼ÇÖ®ÖжÏÓëÒì³£3

³õʼ»¯ÖжÏÃèÊö·û±í
ÄÚºËÆôÓÃÖжÏÒÔǰ£¬±ØÐë°Ñidt±íµÄ³õʼµØÖ·×°µ½idtr¼Ä´æÆ÷£¬²¢³õʼ»¯±íÖеÄÿһÏî¡£ÕâÏ×÷ÊÇÔÚ³õʼ»¯ÏµÍ³Ê±Íê³É¡£
intÖ¸ÁîÔÊÐíÓû§Ì¬½ø³Ì·¢³öÒ»¸öÖжÏÐźţ¬ÆäÖµ¿ÉÒÔÊÇ0-255µÄÈÎÒâÒ»¸öÏòÁ¿¡£Òò´Ë¡£ÎªÁË·ÀÖ¹Óû§Í¨¹ýintÖ¸ÁîÄ£Äâ·Ç·¨µÄÖжϺÍÒì³££¬idtµÄ³õʼ»¯±ØÐë·Ç³£Ð¡ÐÄ¡£Õâ¿ÉÒÔͨ¹ý°ÑÖжϻòÕßÏÝÚåÃÅÃèÊö·ûµÄdpl×Ö¶ÎÉèÖóÉ0À´ÊµÏÖ¡£Èç¹û½ø³ÌÊÔͼ·¢³öÆäÖеÄÒ»¸öÖжÏÐźţ¬¿ØÖƵ¥Ôª½«¼ì²é³öcplµÄÊýÖµÓëdplµÄ×Ö¶ÎÓгåÍ»£¬²¢ÇÒ²úÉúÒ»¸ögeneral protectionÒì³£¡£
intelÌṩÁËÈýÖÖÀàÐ͵ÄÖжÏÃèÊö·û£ºÈÎÎñÃÅ£¬ÖжÏÃÅ£¬ÒÔ¼°ÏÝÚåÃÅÃèÊö·û¡£linuxʹÓÃÓëinetl²»Í¬µÄϸĿ·ÖÀàºÍÊõÓ
ÖжÏÃÅ£¨interrupt gate£©ËùÓÐlinuxÖжϴ¦Àí³ÌÐò¶¼Í¨¹ýÖжÏÃż¤»î£¬È«²¿ÏÞÖÆÔÚÄÚºË̬¡£
ϵͳÃÅ£¨system gate£©Óû§Ì¬µÄ½ø³Ì¿ÉÒÔ·ÃÎÊÒ»¸öintelÏÝÚåÃÅdpl×Ö¶ÎΪ3.ͨ¹ýϵͳÃÅÀ´¼¤»îÈý¸ölinuxÒì³£´¦Àí³ÌÐò£¬ÏòÁ¿ÊÇ4,5,128.ÔÚÓû§Ì¬Ï£¬¿ÉÒÔ·¢²¼into,bound,int $0x80ÈýÌõ»ã±àÓïÑÔÖ¸Áî¡£
ϵͳÖжÏÃÅ£¨system interrtup gate£©Äܹ»±»Óû§Ì¬½ø³Ì·ÃÎʵÄintelÖжÏÃÅ£¨ÃŵÄdpl×Ö¶ÎΪ3£©¡£ÓëÏòÁ¿3Ïà¹ØµÄÒì³£´¦Àí³ÌÐòÊÇÓÉϵͳÃÅÖжÏÃż¤»îµÄ£¬ÔÚÓû§Ì¬Ï£¬¿ÉÒÔʹÓûã±àÓïÑÔÖ¸Áîint3.
ÏÝÚåÃÅ£¨trap gate£©Óû§Ì¬µÄ½ø³Ì²»ÄÜ·ÃÎÊÒ»¸öintelÏÝÚåÃÅ£¨ÃŵÄdpl×Ö¶ÎΪ0£©¡£´ó²¿·ÖlinuxÒì³£´¦Àí³ÌÐò¶¼Í¨¹ýÏÝÚåÃÅÀ´¼¤»î¡£
ÈÎÎñÃÅ£¨task gate£©²»Äܱ»Óû§Ì¬½ø³Ì·ÃÎʵÄintelÈÎÎñÃÅ£¨ÃŵÄdpl×Ö¶ÎΪ0£©¡£linux¶Ô“double fault”Òì³£´¦Àí³ÌÐòÊÇÓÉÈÎÎñÃż¤»îµÄ¡£
ÏÂÁÐÌåϵ½á¹¹Ïà¹ØµÄº¯ÊýÓÃÀ´ÔÚidtÖвåÈëÃÅ¡£
ÔÚidtµÄµÚn¸ö±íÏîÖвåÈëÒ»¸öÖжÏÃÅ¡£ÃÅÖеĶÎÑ¡Ôñ·ûÉèÖóÉÄں˴úÂëµÄ¶ÎÑ¡Ôñ·û£¬Æ«ÒÆÁ¿ÉèÖÃΪÖжϴ¦Àí³ÌÐòµÄµØÖ·addr,dpl×Ö¶ÎÉèÖÃΪ0.
void set_intr_gate(unsigned int n, void *addr)
{
        _set_gate(idt_table+n,14,0,addr,__KERNEL_CS);
}
ÔÚidtµÄµÚn¸ö±íÏîÖвåÈëÒ»¸öÏÝÚåÃÅ¡£ÃÅÖеĶÎÑ¡Ôñ·ûÉèÖóÉΪÄں˴úÂëµÄ¶ÎÑ¡Ôñ·û£¬Æ«ÒÆÁ¿ÉèÖÃΪÒì³£´¦Àí³ÌÐòµÄµØÖ·addr,dpl×Ö¶ÎÉèÖÃΪ3.
static void __init set_system_gate(unsigned int n, void *addr)
{
        _set_gate(idt_table+n,15,3,addr,__KERNEL_CS);
}
ÔÚidtµÄµÚn¸ö±íÏî²åÈëÒ»¸öÖжÏÃÅ¡£ÃÅÖеĶÎÑ¡Ôñ·ûÉèÖóÉÄں˴úÂëµÄ¶ÎÑ¡Ôñ·û£¬Æ«ÒÆÁ¿ÉèÖÃΪÒì³£´¦Àí³ÌÐòµÄµØÖ·addr,dpl×Ö¶ÎÉèÖÃΪ3.
static inline void set_s


Ïà¹ØÎĵµ£º

LinuxÉ豸ģÐÍÖ®input×ÓϵͳÏê½â

Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......

Linux¸÷·¢Ðа汾¼ò½é

×ªÔØ×Ô£ºhttp://bbs.dp168.com/thread-23703-1-1.html
Redhat
¼ò½é£º
Red Hat LinuxÊÇÉÌÒµÉÏÔË×÷×î³É¹¦µÄÒ»¸öLinux·¢ÐÐÌ×¼þ£¬ÆÕ¼°³Ì¶ÈºÜ¸ß£¬ÓÉRed Hat¹«Ë¾·¢ÐС£
Red Hat
Linux¿ÉËãÊÇÒ»¸ö“ÖÐÄêµÄ”Linux·¢ÐÐÌ×¼þ£¬1.0°æ±¾ÓÚ1994Äê11ÔÂ3ÈÕ·¢ÐС£ËäÈ»ÆäÀúÊ·²»¼°Slackware°ãÓÆ¾Ã£¬µ«±ÈÆðºÜ¶àµÄ
Linux·¢ÐÐÌ×¼þ ......

°²×°LinuxºóµÄÊÂÇé

Ê®ÔÂÄ©ubuntu9.10·¢²¼£¬Á¢¿Ì»»ÉÏÁËеģ¬ÎÒÏë×Ô¼º²¢²»ÊÇÔÚ¿ÌÒâ×·Çóеİ汾¡£Ö»ÊÇÒÔǰÔÚµçÄÔÉÏÓÃwubi×°µÄÄǸöylmfµÄÊÇÔÚ²»ºÃ
Óã¬firfoxÖ»ÄÜÊÇ3.0°æ±¾µÄ£¬×ÔÐбàÒëÈí¼þ»¹²»»á£¬ÓÃwine×°Ò»¸öie¾ÓÈ»Óõ½µçÄÔËÀ»ú£¬ÊÇÔڸоõ²»µ½linuxÓÐʲôºÃµÄ£¬¸üÈÃÈËÄÑÊܵÄÊÇ×Ö
ÌåÏÔʾЧ¹û²î£¬firfox
operaʹÓÃÒ»»ÎÒ»»ÎµÄ£¬ËÙ¶ÈÌ«Âý£¬Õû¸ ......

WinCE EbootÖмÓÈëLinux bootµÄÖ§³Ö

Index: flash.c
===================================================================
--- flash.c    (revision 1804)
+++ flash.c    (working copy)
@@ -26,6 +26,8 @@
#include "ebootnand.h"
#include "ll_nand.h"
#includ ......

linux 2.6Ô´´úÂëÇé¾°·ÖÎö±Ê¼ÇÖ®ÖжÏÓëÒì³£2

¸ß¼¶¿É±à³Ì¿ØÖÆÆ÷
Èç¹ûϵͳֻÓÐÒ»¸öcpu£¬Ö÷picÊä³öÏßÒÔÖ±½ØÁ˵±µÄ·½Ê½Á¬½Óµ½cpuµÄintrÒý½Å¡£Èç¹ûϵͳÖаüº¬Á½¸ö»ò¶à¸öcpu,¾ÍÐèÒª¸ü¼Ó¸´ÔÓµÄpic.
intel´Óp3¿ªÊ¼ÒýÈëi/o¸ß¼¶¿É±ä³É¿ØÖÆÆ÷£¨APIC£©×é¼þ¡£80x86΢´¦ÀíÆ÷µ±Ç°ËùÓеÄcpu¶¼º¬ÓÐÒ»¸ö±¾µØapic¡£Ã¿¸ö±¾µØapic¶¼ÓÐ32λ¼Ä´æÆ÷£¬Ò»¸öÄÚ²¿Ê±ÖÓ£¬Ò»¸ö±¾µØ¶¨ÊÇÉ豸ÒÔ¼°Îª±¾µ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ