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

¡¾Linux½»»»·ÖÇø¡¿ ½»»»·ÖÇø¸ñʽdzÎö

Íê³É±¾ÎÄ£¬Ê¹ÓÃÁËÁ½¸ö¹¤¾ß
 1. strace
 2. google code search
.
----
swap·ÖÇøÓÐÒ»¸ö´óСΪPAGE_SIZEµÄÒ³Ãæ£¬³ÆÎªsignatureÒ³£¬ÉÏÃæ¼Ç¼swap·ÖÇøµÄ»ù±¾ÐÅÏ¢¡£
static struct swap_header_v1 {
char bootbits[1024]; /* Space for disklabel etc. */
unsigned int version;
unsigned int last_page;
unsigned int nr_badpages;
unsigned int padding[125];
unsigned int badpages[1];
} *p;
check_blocks()ȇ
¶ÔÕû¸öÎļþ½øÐÐÒ»´Î˳Ðò¶Á£¬ÔÚv1Éú³ÉÒ»¸ö´ÅÅ̿铺ÿ锺͓»µ¿é”µÄλͼ¡£ÔÚv2ÖÐ,“ºÃ¿é”ÎÞÐè¼Ç¼£¬Ö»¼Ç¼»µ¿é¡£Ò»¸ö´ÅÅ̵ϵ¿éÒ»°ãÀ´Ëµ¼«ÉÙ£¬ÎªÁË
½ÚÊ¡¿Õ¼ä£¬Òò´Ë¼Ç¼·½·¨²»ÔÙÊÇλͼ£¬¸Ä¶øÓÃÊý×éµÄ·½Ê½¡£
p->badpages[badpages] = page; // pageΪ»µ¿éºÅ
ÕâÀïÐèҪעÒâµÄÊÇ£¬ÔÚ
swap_header_v1µÄ¶¨ÒåÖУ¬p->badpagesÊý×é´óСΪ1£¬ÕâÀïʵ¼ÊÉϲúÉúÁËÔ½½ç¡£µ«ÊÇ£¬´ÓCÓïÑÔµÄ֪ʶÎÒÃÇÖªµÀ£¬¼´Ê¹Ô½½ç£¬Ö»
Òª±àÒëÆ÷ûÓмì²â³öÀ´£¬²¢ÇÒʵ¼Ê·ÃÎʵēԽ½çÇø”ÊÇÎÒÃǿɷÃÎʵÄÇøÓò£¬Ôò²»»áÓÐÈκÎÎÊÌâ¡£ÉÏÃæÕâ¾ä´úÂëÊÇÒ»ÖÖ“¿É¿ØµÄ¡¢ÓÐÒâʶµÄÔ½½ç”¡£¿É¿ØµÄ±ß½çÔÚÄÄÀï
ÄØ£¿
#define MAX_BADPAGES ((pagesize-1024-128*sizeof(int)-10)/sizeof(int)) // 637 bad pages over i386
½áºÏswap_header_v1µÄ¶¨Ò壬ÉÏÃæµÄ¹«Ê½²»ÄÑÀí½â
bootbitsÕ¼1024×Ö½Ú£¬Ëæºó4¸ö±äÁ¿·Ö±ðÕ¼4¡¢4¡¢4¡¢4*125×Ö½Ú£¬SIGNATUREÕ¼10×Ö½Ú£¬Ê£ÓàµÄ¶¼¸øbadpagesÁË¡£³¬¹ýÁË
MAX_BADPAGES£¬Ôò»áÒý·¢Ô½½ç·ÃÎÊ¡£
swap
·ÖÇø¸ñʽÓÐÁ½¸ö°æ±¾£¬¹ÃÇÒ³ÆÎªv0ºÍv1£¬°æ±¾¿ÉÒÔÔÚÃüÁîÐÐÖÐÖ¸¶¨£¬Èç¹ûȱʡ£¬Ôòmkswap¸ù¾Ýswap·ÖÇøÉ豸/Îļþ´óС×Ô¶¯É趨¡£
write_signature((version == 0) ? "SWAP-SPACE" : "SWAPSPACE2");
ͨ¹ýÉÏÊö²½Ö裬signatureÒ³µÄÄÚÈݶ¼±»³õʼ»¯ºÃ
ÁË£¬ÏÖÔÚд»Øµ½¿éÉ豸ÖÐÈ¥£º
offset = ((version == 0) ? 0 : 1024);
if (lseek(DEV, offset, SEEK_SET) != offset)
error_msg_and_die("unable to rewind swap-device");
if (write(DEV, (char *) signature_page + offset, pagesize - offset)
!= pagesize - offset)
error_msg_and_die("unable to write signature page");
¶ÔÓÚv0£¬s


Ïà¹ØÎĵµ£º

Linux µÄ¶àÏ̱߳à³ÌµÄ¸ßЧ¿ª·¢¾­Ñé

2009 Äê 4 ÔÂ 23 ÈÕ
±¾ÎÄÖÐÎÒÃÇÕë¶Ô Linux É϶àÏ̱߳à³ÌµÄÖ÷ÒªÌØÐÔ×ܽá³ö 5 Ìõ¾­Ñ飬ÓÃÒÔ¸ÄÉÆ Linux ¶àÏ̱߳à³ÌµÄϰ¹ßºÍ±ÜÃâÆäÖеĿª·¢ÏÝÚå¡£ÔÚ±¾ÎÄÖУ¬ÎÒÃÇ´©²åһЩ Windows µÄ±à³ÌÓÃÀýÓÃÒÔ¶Ô±È Linux ÌØÐÔ£¬ÒÔ¼ÓÉî¶ÁÕßÓ¡Ïó¡£
±³¾°
Linux ƽ̨ÉϵĶàÏ̳߳ÌÐò¿ª·¢Ïà¶ÔÓ¦ÆäËûƽ̨£¨±ÈÈç Windows£©µÄ¶àÏß³Ì API ÓÐһЩϸ΢ ......

LinuxµÄÒì³£ºÍÄÚºËÇÀÕ¼

£¨1£©Òì³£µÄ¸ÅÄî
      ÖжÏÐźÅÊÇÒ»¸öͳ³Æ£¬Í³³ÆÄÇЩ¸Ä±äCPUÖ¸ÁîÖ´ÐÐÐòÁеÄʼþ¡£µ«ËüÓÖ·ÖΪÁ½ÖÖ£º
Ò»ÖÖÊÇͬ²½µÄ£¬Ã»ÄÇôͻȻ£¬ÒòΪËüÖ»ÔÚÒ»¸öÖ¸ÁîµÄÖ´ÐÐÖÕÖ¹Ö®ºó²Å·¢Éú£¬ÊéÖÐÒÀ´ÓIntelµÄ¹ßÀý£¬³ÆÎªÒì³££¨Exception£©¡£Ò»°ãÊDZà³Ì´íÎó£¨Ò»°ãµÄ´¦ÀíÊÇ·¢Ðźţ©»òÕßÄں˱ØÐë´¦ÀíµÄÒì³£Çé¿ö£¨Äں˻ ......

linuxϵĶÁÅäÖÃÎļþµÄ³ÌÐò

config.h
/*--  
   
  Copyright   (c)   2004   Shenzhen   Huaren   Education   Co.Ltd  
   
  File   Name:  
  config.h  
  Ver ......

LinuxÏÂoracle Occi¿ª·¢»·¾³µÄ°²×°

1.Ê×ÏÈÒªÖªµÀʲôÊÇORACLEµÄ¿Í»§¶Ë£º
Oracle Instant client ÊÇoracleÌṩµÄ¼ò±ã¿Í»§¶Ë, Ö§³Ö¶àÖÖÆ½Ì¨. ¿É´ÓoracleÍøÕ¾ÏÂÔØ, ÏÂÔØµØÖ·Îª
http://www.oracle.com/technology/tech/oci/instantclient/index.html
ÕâʱÄã°´¸ölibaioµÄ¿â¾Í¿ÉÒÔÁË¡£
2. [root@localhost sdk]# ./occidml
./occidml: error while loading sh ......

Linux Module±à³ÌС½á

1. Makefile
ʹÓÃMakefileÀ´±àÒëÄ£¿é£¬²»ÄÜÖ±½ÓʹÓÃgcc¡£
ʵ¼ÊʹÓõÄÊǵ±Ç°»î¶¯ÄÚºËÄ£¿éµÄMakefileÀ´Íê³ÉÏà¹Ø¹¤×÷µÄ¡£
ifneq ($(KERNELRELEASE),)
    obj-m := hello.o calculate.o
else
        KDIR := /lib/modules/2.6.18-53.el5xen/build
all:
 &nbs ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ