Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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ϵͳλÊý·½·¨£¨32£¿64£¿£©


1.Ö±½Ó¿´¿´ÓÐûÓÐ/lib64ĿĿ¼µÄ·½·¨¡£64λµÄϵͳ»áÓÐ/lib64ºÍ/libÁ½¸öĿ¼£¬32λֻÓÐ/libÒ»¸ö¡£
2.getconf LONG_BIT
£¨32λµÄϵͳÖÐintÀàÐͺÍlongÀàÐÍÒ»°ã¶¼ÊÇ4×Ö½Ú£¬64λµÄϵͳÖÐintÀàÐÍ»¹ÊÇ4×ֽڵ쬵«ÊÇlongÒѱä³ÉÁË8×Ö½ÚinuxϵͳÖпÉÓÃ"getconf WORD_BIT"ºÍ"getconf LONG_BIT"»ñµÃwordºÍlongµÄλÊý¡£64λϵͳÖÐÓ¦¸ ......

Linux¾²Ì¬/¶¯Ì¬Á´½Ó¿âµÄ´´½¨ºÍʹÓÃ

Ô­ÎÄÁ´½Ó£ºhttp://blog.csdn.net/ecjtuync/archive/2008/10/23/3132789.aspx
Linux¾²Ì¬/¶¯Ì¬Á´½Ó¿âµÄ´´½¨ºÍʹÓÃ
ºÍWindowsϵͳһÑùLinuxÒ²Óо²Ì¬/¶¯Ì¬Á´½Ó¿â£¬ÏÂÃæ½éÉÜ´´½¨ºÍʹÓ÷½·¨£º
¼ÙÉèÓÐÏÂÃæ¼¸¸öÎļþ£º
Í·ÎļþString.h£¬ÉùÃ÷Ïà¹Øº¯ÊýÔ­ÐΣ¬ÄÚÈÝÈçÏ£º
Strlen.c£ºº¯ÊýStrlenµÄʵÏÖ£¬»ñÈ¡¸ø¶¨×Ö·û´®µÄ³¤¶È£¬ÄÚÈÝÈç ......

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