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

linux 0.11 ÄÚºËѧϰ head.s


#
# Õâ¶Î´úÂë±»Á¬½Óµ½systemÄ£¿éµÄ×îÇ°Ãæ£¬ÕâÒ²ÊÇËüΪʲô³ÆÖ®Îªhead.sµÄÔ­Òò¡£
# ´ÓÕâÀ↑ʼÄÚºËÍêÈ«ÔËÐÐÔÚ±£»¤Ä£Ê½Ï¡£head.s²ÉÓõÄÊÇat&t¸ñʽµÄ
# »ã±à¡£×¢ÒâµÄÊÇ´úÂëÖеĸ³Öµ·½ÏòÊÇ´Ó×óµ½ÓÒ¡£

# Õâ¶Î³ÌÐòʵ¼ÊÉÏÊdzöÓÚÄÚ´æµÄ¾ø¶ÔµØÖ·0¿ªÊ¼´¦¡£Ê×ÏÈÊǼÓÔØ¸÷¸öÊý¾Ý¶Î¼Ä´æÆ÷¡£
# ÖØÐÂÉèÖÃÈ«¾ÖÃèÊö·û±ígdt --> ¼ì²âa20µØÖ·ÏßÊÇ·ñÕæµÄ¿ªÆô£¬Ã»ÓпªÆô£¬loop
# µôÁË --> ¼ì²âpcÊÇ·ñº¬ÓÐÊýѧЭ´¦ÀíÆ÷ --> ÉèÖùÜÀíÄÚ´æ·ÖÒ³µÄ´¦Àí»úÖÆ -->
# ½«Ò³Ä¿Â¼·ÅÖÃÔÚÄÚ´æµØÖ·0¿ªÊ¼´¦¡£ËùÒÔÕâ¶Î³ÌÐò½«±»¸²¸Çµô¡£ --> ×îºóÀûÓÃret
# Ö¸Á³öÔ¤ÏÈѹÈëµÄ/init/main.c³ÌÐòµÄÈë¿ÚµØÖ·£¬È¥ÔËÐÐmain.c³ÌÐò¡£
#
/*
 *  linux/boot/head.s
 *
 *  (C) 1991  Linus Torvalds
 */
/*
 *  head.s contains the 32-bit startup code.
 *
 * NOTE!!! Startup happens at absolute address 0x00000000, which is also where
 * the page directory will exist. The startup code will be overwritten by
 * the page directory.
 */
.text
.globl _idt,_gdt,_pg_dir,_tmp_floppy_area
_pg_dir: #ҳĿ¼½«»á´æ·ÅÔÚÕâÀï
startup_32:
#############################################
# ÉèÖöμĴæÆ÷
# ÔÙ´Î×¢Ò⣬ÏÖÔÚ³ÌÐòÒѾ­ÔËÐÐÔÚ32ģʽ£¬Òò´ËÕâÀï
# µÄ0x10²¢²»ÊǰѵØÖ·0x10×°Èë¸÷¸ö¶Î¼Ä´æÆ÷£¬ËüÏÖÔÚ
# ÊÇÈ«¾Ö¶ÎÃèÊö·û±íµÄÆ«ÒÆÁ¿¡£ÕâÀïµÄ0x10ÕýºÃÖ¸Ïò
# ÔÚsetup.sÖÐÉèÖõÄÊý¾Ý¶ÎµÄÃèÊö·û¡£
#
# ÏÂÃæ´úÂëµÄº¬ÒåÊÇ£¬ÖÃds£¬es£¬fs£¬gsÖеÄÑ¡Ôñ·û
# Ϊsetup.sÖй¹ÔìµÄÊý¾Ý¶Î£¬²¢½«¶ÑÕ»·ÅÖÃÔÚÊý¾Ý¶Î
# _stack_startÊý×éÄÚ£¬È»ºóʹÓÃеÄÖжÏÃèÊö·û±í
# ºÍÈ«¾ÖÃèÊö·û±í£¬ÐµÄÈ«¾Ö¶ÎÃèÊö·û±íÖгõʼ»¯ÄÚ
# ÈݺÍsetup.sÖÐÍêÈ«Ïàͬ¡£
#
#
movl $0x10,%eax
mov %ax,%ds
mov %ax,%es
mov %ax,%fs
mov %ax,%gs
#############################################
# ¼ÓÔØ¶ÑÕ»Ö¸Õë¼ÄÖ¸Áî
# long user_stack [ PAGE_SIZE>>2 ] ;
#
# struct {
# long * a;
# short b;
# } stack_start = { & user_stack [PAGE_SIZE>>2] , 0x10 };
#
lss _stack_start,%esp # ÉèÖÃϵͳ¶ÑÕ»¶Î
# _stack_start -> ss:esp
call setup_idt
call setup_gdt
#####################################


Ïà¹ØÎĵµ£º

¡¾×ªÌûLINUX¡¿netfilterÖеÄconntrackÄÚºËÔĶÁ±Ê¼Ç(3)

2008-07-07 22:06
PREROUTING£ºip_conntrack_defrag à ip_conntrack_in
1£¬ip_conntrack_defrag:
ͨ³£µ±IP±¨Îı»ËÍÖÁL4²ã´¦Àíʱ£¬Èç¹û¸Ã±¨ÎÄÊÇ·ÖÆ¬±¨ÎÄ£¬ÄÇô±¨ÎľͻáÏȱ»±£´æÆðÀ´£¬Ö±µ½ËùÓÐ·ÖÆ¬µ½´ïºóÖØ×é³ÉÒ»¸öÍêÕû±¨Îĺó£¬ÔÙ±»·Ö·¢µ½L4²ã¡£µ±Ã»ÓÐÆô¶¯conntrackʱ£¬netfilter¸÷HOOKµã¶Ô±¨ÎIJÙ×÷ʱ£¬²¢²»¼ì²é¸Ã± ......

¡¾×ªÌûLINUX¡¿netfilterÖеÄconntrackÄÚºËÔĶÁ±Ê¼Ç(4)

2008-07-07 22:09
3£¬init_conntrack£º
init_conntrackÓÃÓÚ´´½¨Ò»¸öеÄip_conntrack£¬²¢¶ÔÆä½øÐгõʼ»¯¡£
/*1,ÿһ¸öÁ¬½Ó°üº¬Á½¸ötuple£¬originalºÍreply£¬ip_ct_invert_tuple ¸ù¾Ý´«ÈëµÄoriginal tuple»ñÈ¡Æäreply tuple£¬Æä×îÖÕ½«µ÷ÓÃËùÊôЭÒéµÄinvert_tuple Íê³É´¦Àí*/
   if (!ip_ct_invert_tuple(& ......

¡¾×ªÌûLINUX¡¿netfilterÖеÄconntrackÄÚºËÔĶÁ±Ê¼Ç(5)

2008-07-07 22:09
6£¬TCP filterµÄÔ­Àí£º
µ±filterÊÕµ½Ä³¸öÁ¬½ÓµÄµÚÒ»¸ö±¨ÎÄʱ£¬»áΪ¸ÃÁ¬½ÓÔÚÈ«¾ÖÁ¬½Ó±íÖд´½¨Ò»¸ö±íÏ²¢Óñ¨ÎÄÖÐЯ´øµÄÔ´¡¢Ä¿µÄIPºÍ¶Ë¿ÚÕâ¸öËÄÔª×é´´½¨original tupleºÍreply tuple£¬ÕâÁ½¸ötuple·Ö±ð´Ó²»Í¬·½ÏòÀ´±êʶÕâ¸öÁ¬½Ó¡£ºóÐøµÄ±¨ÎÄ»á¸ù¾ÝÆäЯ´øµÄËÄÔª×éÕÒµ½ÏàÓ¦µÄÁ¬½Ó±íÏȻºó¸ù¾Ý±íÏîËù¼Ç¼ ......

linuxʹÓü¼ÇÉ

ÎÒÓõ½µÄLinux¼¼ÇÉ 
1.linuxÉÏÍø:
ʹÓÃrootÓû§µÇ½ʹÓà adsl-setupÃüÁÅäÖÃppp0
³öÏÖdefault¾ÍĬÈϻسµ,²ÉÓÃĬÈÏÉèÖÃ
½øÈëDNS information here:ÊäÈëdns
×îºóʹÓà adsl-start ¾Í¿ÉÒÔÓÃadsl·½Ê½ÉÏÍøÁË
2.uname -a - ¿´ÏµÍ³Äں˵ÈÐÅÏ¢
tar£º°ÑÎļþ´ò°ü£¬²»Ñ¹Ëõ£ºtar cvf *.tar dirName ½â¿ª£ºtar xvf *.tar ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ