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
#####################################
Ïà¹ØÎĵµ£º
±¾ÎĵµµÄCopyleft¹éyfydzËùÓУ¬Ê¹ÓÃGPL·¢²¼£¬¿ÉÒÔ×ÔÓÉ¿½±´£¬×ªÔØ£¬×ªÔØÊ±Çë±£³ÖÎĵµµÄÍêÕûÐÔ£¬ÑϽûÓÃÓÚÈκÎÉÌÒµÓÃ;¡£
msn: yfydz_no1@hotmail.com
À´Ô´£ºhttp://yfydz.cublog.cn
1. ǰÑÔ
¶ÔIPË鯬µÄÖØ×éÊÇ·À»ðǽÌá¸ß°²È«ÐÔµÄÒ»¸öÖØÒªÊֶΣ¬Í¨¹ýÌáǰ½øÐÐË鯬֨×飬¿ÉÒÔÓÐЧ·ÀÓù¸÷ÖÖË鯬¹¥»÷£¬LinuxÄں˵ķÀ»ðǽ ......
Unix/Linux ½ø³Ì¹ÜÀíÏà¹ØÃüÁî½éÉÜ
½ø³ÌÊDzÙ×÷ϵͳÓÃÓÚ¿ØÖÆÏµÍ³×ÊԴʹÓõÄʵÌå¡£Unix/Linux ½ø³Ì¹ÜÀíÏà¹ØµÄÃüÁîÖ÷ÒªÓÐÒÔϼ¸¸ö£¬ÔÚºóÃæµÄ½Å±¾ÊµÏÖÖлáÓõ½²¿·ÖÃüÁî¡£
ÏÔʾ½ø³ÌÊôÐÔÃüÁî
ps ÃüÁ¸ÃÃüÁîÊÇ×î»ù±¾Í¬Ê±Ò²ÊǷdz£Ç¿´óµÄ½ø³Ì²é¿´ÃüÁÓÃÓÚ±¨¸æ½ø³Ì±êʶ¡¢Óû§¡¢CPU ʱ¼äÏûºÄÒÔ¼°ÆäËûÊôÐÔ¡£ÀûÓÃËü¿ÉÒÔÈ·¶¨ÓÐÄÄÐ ......
ÎÒÓõ½µÄ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 ......
Linux ³£ÓÃÃüÁî
Linux ϵͳ³£ÓÃÃüÁî¸ñʽ£º
command [option] [argument1] [argument2] ...
ÆäÖÐoptionÒÔ“-”¿ªÊ¼£¬¶à¸öoption¿ÉÓÃÒ»¸ö“-”Á¬ÆðÀ´£¬Èç“ls -l -a” Óë“ls -la”µÄЧ¹ûÊÇÒ»ÑùµÄ¡£¸ù¾Ýà ......