Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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


Ïà¹ØÎĵµ£º

4.1. Introduction to Linux Routing


4.1. Introduction to Linux Routing
The design of IP routing allows for very simple route definitions for small networks, while not hindering the flexibility of routing in complex environments. A key concept in IP routing is the ability to define what addresses are locally reachable as oppose ......

linuxѧϰָÄÏ

ǰÑÔ£¬Linux/Unix ÉçÇøµÄ°æ¿é²»ÈÈÄÖ£¬ÐÂÊÖÌ«¶à£¬¸ßÊÖ̫棬ż°Ñ×Ô¼ºÕ⼸ÄêµÄLinuxѧϰµÄ¹ý³Ì½²½²£¬Ï£ÍûÄܸø´ó¼ÒÓеã°ïÖú£¬
Òýµ¼³õѧÕßѧϰµÄ·½Ïò£¬ÉÙ×ßÍä·£¬Ê°빦±¶£¬Í¬Ê±Ò²ÊÇÅ×שÒýÓñ£¬Çë¹ýÀ´ÈËÈÈÁÒ·¢ÑÔ¡£

1. Ê×ÏÈÊìϤ Linux

½¨ÒéÔÚ Windows Éϰ²×° VMware Workstation 6.5.0(ÒÔϼò³ÆVM£©, ÏÂÔØÖÖ×ÓÔÚ ......

linux c mkdir´´½¨µÝ¹éĿ¼

#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define err(msg) perror(msg)
static void mkdirs(const char *dir)
{
        char tmp[1024];
        char *p;
 &nbs ......

Linux·¢ËÍarpÇëÇóÓë½ÓÊÕarpÏìÓ¦

Linux ÖлñµÃ±¾»úÍø¿¨MACµØÖ·ºÜ¼òµ¥£¬ioctl()¾ÍOK¡£¿ÉÈçºÎ»ñµÃ¾ÖÓòÍøÆäËûÖ÷»úµÄMACµØÖ·ÄØ…Á´Â·²ã¹ã²¥ARPÇëÇó£¬È»ºó½ÓÊÕARPÏìÓ¦¡£ÊµÏÖ½é¸ö¹¦ÄÜÆäʵÒÑÓÐÏÖ³ÉÈý·½¿â¿ÉÓã¬Èçlibnet¡£²»¹ýÏë¼ÓÉî¶ÔЭÒéµÄÀí½âºÍLinuxÍøÂç±à³ÌAPIµÄÀí½â£¬jiayi »¹ÊǾö¶¨ÓÃLinuxµÄPF_PACKET×Ô¼ºÊµÏÖ£¬¸Ä°¡¸Ä£¬ÖÕÓڳɹ¦¡«ÒÔÏÂÊÇ´óÌå˼·
1. ......

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ºÅ