¡¾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
Ïà¹ØÎĵµ£º
2009 Äê 4 ÔÂ 23 ÈÕ
±¾ÎÄÖÐÎÒÃÇÕë¶Ô Linux É϶àÏ̱߳à³ÌµÄÖ÷ÒªÌØÐÔ×ܽá³ö 5 Ìõ¾Ñ飬ÓÃÒÔ¸ÄÉÆ Linux ¶àÏ̱߳à³ÌµÄϰ¹ßºÍ±ÜÃâÆäÖеĿª·¢ÏÝÚå¡£ÔÚ±¾ÎÄÖУ¬ÎÒÃÇ´©²åһЩ Windows µÄ±à³ÌÓÃÀýÓÃÒÔ¶Ô±È Linux ÌØÐÔ£¬ÒÔ¼ÓÉî¶ÁÕßÓ¡Ïó¡£
±³¾°
Linux ƽ̨ÉϵĶàÏ̳߳ÌÐò¿ª·¢Ïà¶ÔÓ¦ÆäËûƽ̨£¨±ÈÈç Windows£©µÄ¶àÏß³Ì API ÓÐһЩϸ΢ ......
£¨1£©Òì³£µÄ¸ÅÄî
ÖжÏÐźÅÊÇÒ»¸öͳ³Æ£¬Í³³ÆÄÇЩ¸Ä±äCPUÖ¸ÁîÖ´ÐÐÐòÁеÄʼþ¡£µ«ËüÓÖ·ÖΪÁ½ÖÖ£º
Ò»ÖÖÊÇͬ²½µÄ£¬Ã»ÄÇôͻȻ£¬ÒòΪËüÖ»ÔÚÒ»¸öÖ¸ÁîµÄÖ´ÐÐÖÕÖ¹Ö®ºó²Å·¢Éú£¬ÊéÖÐÒÀ´ÓIntelµÄ¹ßÀý£¬³ÆÎªÒì³££¨Exception£©¡£Ò»°ãÊDZà³Ì´íÎó£¨Ò»°ãµÄ´¦ÀíÊÇ·¢Ðźţ©»òÕßÄں˱ØÐë´¦ÀíµÄÒì³£Çé¿ö£¨Äں˻ ......
config.h
/*--
Copyright (c) 2004 Shenzhen Huaren Education Co.Ltd
File Name:
config.h
Ver ......
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 ......
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 ......