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

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

IDTµÄ³õ²½³õʼ»¯
ÔÚʵģʽʱ£¬idt±»³õʼ»¯²¢ÓÉbiosÀý³ÌʹÓá£Ò»µ©linux½Ó¹Ü£¬idt¾Í±»ÒƵ½ramµÄÁíÒ»¸öÇøÓò£¬²¢½øÐеڶþ´Î³õʼ»¯£¬ÒòΪlinuxûÓÐÀûÓÃÈκÎbiosÀý³Ì¡£
IDT´æ·ÅÔÚidt_table±íÖУ¬ÓÐ256¸ö±íÏî¡£6×Ö½ÚµÄidt_descr±äÁ¿Ö¸¶¨ÁËidtµÄ´óСºÍËüµÄµØÖ·£¬Ö»Óе±ÄÚºËÓÃlidt»ã±àÖ¸Áî³õʼ»¯idtr¼Ä´æÆ÷ʱ²ÅÓõ½Õâ¸ö±äÁ¿¡£
ÔÚÄں˳õʼ»¯¹ý³ÌÖУ¬setup_idt()»ã±àÓïÑÔº¯ÊýÓÃͬһ¸öÖжÏÃÅ£¨Ö¸Ïòignore_int()Öжϴ¦Àí³ÌÐò£©À´Ìî³äËùÓÐÕâ256¸öidt_table±íÏ
setup_idt:
        lea ignore_int,%edx
        movl $(__KERNEL_CS << 16),%eax
        movw %dx,%ax            /* selector = 0x0010 = cs */
        movw $0x8E00,%dx        /* interrupt gate - dpl=0, present */
        lea idt_table,%edi
        mov $256,%ecx
rp_sidt:
        movl %eax,(%edi)
        movl %edx,4(%edi)
        addl $8,%edi
        dec %ecx
        jne rp_sidt
        ret
½ô½Ó×ųõʼ»¯£¬Äں˽«ÔÚidtÖнøÐеڶþ±é³õʼ»¯£¬ÓÃÓÐÒâÒåµÄÏÝÚåºÍÖжϴ¦Àí³ÌÐòÌæ»»Õâ¸ö¿Õ´¦Àí³ÌÐò¡£Ò»µ©Õâ¸ö¹ý³ÌÍê³É£¬¶Ô¿ØÖƵ¥Ôª²úÉúµÄÿ¸ö²»Í¬µÄÒì³££¬idt¶¼ÓÐÒ»¸öרÃŵÄÏÝÚå»òÕßϵͳÃÅ£¬¶ø¶ÔÓڿɱà³ÌÖжϿØÖÆÆ÷È·ÈϵÄÿһ¸öirq,idt¶¼½«°üº¬Ò»¸öרÃŵÄÖжÏÃÅ¡£
cpu²úÉúµÄ´ó²¿·ÖÒì³£¶¼ÓÉlinux½âÊÍΪ³ö´íµÄÌõ¼þ¡£µ±ÆäÖÐÒ»¸öÒì³£·¢Éúʱ£¬Äں˾ÍÏòÒýÆðÒì³£µÄ½ø³Ì·ÅËÍÒ»¸öÐźÅÏòËü֪ͨһ¸ö·´³£Ìõ¼þ¡£
Òì³£´¦Àí³ÌÐòÓÐÒ»¸ö±ê×¼µÄ½á¹¹£¬ÓÉÈý²¿·Ö×é³É£º
1.ÔÚÄں˶ÑÕ»Öб£´æ´ó¶àÊý¼Ä´æÆ÷µÄÄÚÈÝ£¨Óûã±àÓïÑÔʵÏÖ£©
2.Óø߼¶µÄcº¯Êý´¦ÀíÒì³£¡£
3.ͨ¹ýret_from_exception()º¯Êý´ÓÒì³£´¦Àí³ÌÐòÍ˳ö¡£
±ØÐë¶Ôidt½øÐÐÊʵ±µÄ³õʼ»¯£¬Ê¹µÃÿ¸ö±»È·ÈϵÄÒì³£¶¼ÓÐÒ»¸öÒì³£´¦Àíº¯Êý¡£trap_init()º¯ÊýµÄ¹¤×÷Êǽ«Ò»Ð©×îÖÕÖµ²åÈëµ


Ïà¹ØÎĵµ£º

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µÄ10Äê·¢Õ¹

 ±¾ÊÀ¼ÍµÚÒ»¸öÊ®Ä꣬¼´½«¹ýÈ¥¡£»Ø¹ËÒÔÍù£¬²ÅÄÜ¿´ÇåÏÖÔÚ£¬ÎÒÓм¸¾ä»°ÒªËµ¡£
      ¼ÇµÃ£¬ÔÚÊ®Äê֮ǰ£¬ÈËÃÇÖ»ÄÜÍæÍæÃÀ¹úºìñµÄ Linux ×ÀÃ棨ÌرðÊÇ 6.2 °æ±¾£©£¬ÕûÌì sudo £¨¼´ Super User do £©£¬ÈÎƾ¼¤Çé·ºÀÄ¡£µ½ÁË 2001 Äê 1 Ô£¬ Linux 2.4 Õýʽ·¢²¼£¬Ê×´ÎÖ§³Ö USB ºÍÀ¶ÑÀ¼¼Êõ£¬ÒÔ¼° ext ......

Linux tty/pty/pts ¸ÅÄîÇø±ð

tty0£­6ÊÇlinux±¾µØÖնˣ¬pts/xÊÇÔ¶³ÌµÇ½ÐèÒªµÄÖնˣ¬±ÈÈçijÈËÒªtelnetµ½ÄãµÄ»ú×Ó£¬¾ÍÐèÒªÄãµÄϵͳÓÐpts/x¡£ 
»ù±¾¸ÅÄ
¡¡
¡¡1. tty(ÖÕ¶ËÉ豸µÄͳ³Æ):
¡¡¡¡ttyÒ»´ÊÔ´ÓÚTeletypes£¬»òÕßteletypewriters£¬Ô­À´Ö¸µÄÊǵ紫´ò×Ö»ú£¬ÊÇͨ¹ý´®ÐÐÏßÓôòÓ¡»ú¼üÅÌͨ¹ýÔĶÁºÍ·¢ËÍÐÅÏ¢µÄ¶«Î÷£¬ºóÀ´ÕⶫÎ÷±»¼üÅÌÓëÏÔʾÆ÷È¡´ú ......

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 ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ