LinuxÏ»ñÈ¡CPUID¡¢Ó²ÅÌÐòÁкÅÓëMACµØÖ·
ÔںܶàϵͳÈí¼þµÄ¿ª·¢ÖУ¬ÐèҪʹÓÃһЩϵͳµÄΨһÐÔÐÅÏ¢¡£ËùÒÔ£¬µÃµ½Ö÷»úµÄCPUID¡¢Ó²ÅÌÐòÁкż°Íø¿¨µÄMACµØÖ·£¬¾Í³É¸öÒ»¼þºÜÖØÒªµÄÓ¦Óá£
±¾È˾¹ýÒ»·¬google¼´×Ô¼ºµÄ×êÑУ¬»ù±¾ÉÏʵÏÖÁËÕ⼸¸ö¹¦ÄÜ¡£ÐèÒªµÄ×¼±¸ÖªÊ¶ÓУº
GCCµÄǶÈë»ã±à£¬¾ßÌåµÄGCCǶÈë»ã±à֪ʶ£¬Çë²Î¿¼Ïà¹ØÊÖ²á
ioctlϵͳµ÷Ó㬾ßÌåµÄµ÷Ó÷½·¨£¬Çë²é¿´ÊÖ²áÒ³
»ñÈ¡CPUID
°´ÕÕÍøÉÏÌṩµÄ˵Ã÷£¬CPUID²¢²»ÊÇËùÓеÄIntel CPU¶¼Ö§³ÖµÄ¡£Èç¹ûÖ§³Ö£¬»ã±àµ÷ÓÃΪ£ºeaxÖÃ0000_0003£¬µ÷ÓÃcpuid¡£
ÒÔÏÂΪʵÏÖ´úÂ루ÔÚÎÒµÄCPUÉÏ£¬²¢Ã»Óеõ½£©£º
#define cpuid(in,a,b,c,d) asm("cpuid": "=a" (a), "=b" (b), "=c" (c), "=d" (d) : "a" (in));
static int
getcpuid (char *id, size_t max)
{
int i;
unsigned long li, maxi, maxei, ebx, ecx, edx, unused;
cpuid (0, maxi, unused, unused, unused);
maxi &= 0xffff;
if (maxi < 3)
{
return -1;
}
cpuid (3, eax, ebx, ecx, edx);
snprintf (id, max, "%08lx %08lx %08lx %08lx", eax, ebx, ecx, edx);
fprintf (stdout, "get cpu id: %s\n", id);
return 0;
}
»ñȡӲÅÌÐòÁкÅ
Õâ¸öµÄʵÏÖ£¬²ÉÓõÄÊǶÁÈ¡/etc/mtabÎļþ£¬ÕÒµ½/£¨¼´¸ùĿ¼£©¹ÒÔØµÄÉ豸Îļþ£¬È»ºó´ò¿ªËü£¬ÔÙÓÃϵͳµ÷ÓÃioctlÀ´ÊµÏֵġ£
ioctlµÚ¶þ¸ö²ÎÊýΪHDIO_GET_IDENTITY, »ñµÃÖ¸¶¨ÎļþÃèÊö·ûµÄ±êÖ¾ºÅ
ioctlµÄµÚÈý¸ö²ÎÊýΪstruct hd_driveid £¬ÔÚlinux/hdreg.hÖУ¬struct hd_driveidµÄÉùÃ÷ÓÐ
struct hd_driveid {
unsigned short config; / lots of obsolete bit flags */
unsigned short cyls; /* Obsolete, "physical" cyls */
unsigned short reserved2; /* reserved (word 2) */
unsigned short heads; /* Obsolete, "physical" heads */
unsigned short track_bytes; /* unformatted bytes per track */
unsigned short sector_bytes; /* unformatted bytes per sector */
unsigned short sectors; /* Obsolete, "physical" sectors per track */
unsigned short vendor0; /* vendor unique */
unsigned short vendor1; /* vendor unique */
unsigned short vendor2; /* Retired vendor unique */
unsigned char serial_no[20]; /* 0 = not_specified */
unsigned short buf_type; /* Retired */
unsigned short buf_size; /* Retired, 512 byte increments
Ïà¹ØÎĵµ£º
ÍêÉÆLinuxϵͳ
1.¿ª»ú×Ô¶¯¹ÒÔØwindow·ÖÇø
fedora10ËäÈ»ÄÜ×Ô¶¯¹ÒÔØ,µ«ÊǹÒÔØµÄ·ÖÇøÓÐʱ»á²»ÈϺº×ÖÎļþ¼Ð
´ÓÖÕ¶ËÓÃvi»ògedit´ò¿ª/etc/fstab£¬ÔÚÆäÖÐÌí¼Ó£º
/dev/sda1 /mnt/1 ntfs default 0 0
×¢£ºµÚÒ»ÏîÊÇ·ÖÇøÇý¶¯µØÖ·
......
ΪÁ˸üºÃµÄ½â¾öÐéÄâ»úÓëÖ÷»úµÄ¹²ÏíÎÊÌ⣬VMware¹«Ë¾ÓÐÒ»¸öVMWare£tools£¬À´ÊµÏÖÎļþ¹²Ïí¡£ÕâÀïÖ÷Òª½²µÄÊÇÔÚWindowsÏÂÓà VmwareÐéÄâLinuxÀ´ÓëwindowsÀ´¹²Ïí¡£
¡¡¡¡1¡¢°²×°¿Í»§»úϵͳ£¬linuxÕâÀïÑ¡ÓÃCentOS5
¡¡¡¡2¡¢Æô¶¯ÐéÄâ»úÖеÄLinuxºó£¬£¨×¢Òâ±ØÐëÊÇÆô¶¯ÐéÄâ»úºó£©¡£Ñ¡Ôñ²Ëµ¥ÀïµÄVMÑ¡ÏÀïÃæÓÐÒ»¸ö×ÓÏîÊÇInstall VM ......
linux ϼ¯³É svn ÖÁ eclipse È«¹ý³Ì
ÒòΪ java ¿çƽ̨,¶ø eclipse ÊǸö´¿ java ¿ª·¢ÏîÄ¿,ËùÒԴ˼¯³É°²×°¹ý³ÌͬÑùÊÊÓÃÓÚ windows ϵͳ.
µÚÒ»²½:ÏÂÔØ¼¯³É svn ÖÁ eclipse ËùÐèµÄ°ü site-1.6.5.zip(¿ÉÒÔÈ¥¹ÙÍø http://subclipse.tigris.org/ ÏÂÔØ,Ò²¿ÉÒÔÈ¥×÷ÕßµÄ csdn ×ÊÔ´ÀïÏÂÔØ site-1.6.5.zip ²å¼þ)
µÚ¶þ²½:½« si ......
Ò»¡¢¼¯ÈºµÄ»ù±¾¸ÅÄî
ÓÐÒ»ÖÖ³£¼ûµÄ·½·¨¿ÉÒÔ´ó·ùÌá¸ß·þÎñÆ÷µÄ°²È«ÐÔ£¬Õâ¾ÍÊǼ¯Èº¡£
Cluster¼¯Èº¼¼Êõ¿ÉÈç϶¨Òå:Ò»×éÏ໥¶ÀÁ¢µÄ·þÎñÆ÷ÔÚÍøÂçÖбíÏÖΪµ¥Ò»µÄϵͳ£¬²¢ÒÔµ¥Ò»ÏµÍ³µÄģʽ¼ÓÒÔ¹ÜÀí¡£´Ëµ¥Ò»ÏµÍ³Îª¿Í»§¹¤×÷Õ¾Ìṩ¸ß¿É¿¿ÐԵķþÎñ¡£
´ó¶àÊýģʽÏ£¬¼¯ÈºÖÐËùÓеļÆËã»úÓµÓÐÒ»¸ö¹²Í¬µÄÃû³Æ£¬¼¯ÈºÄÚÈÎһϵͳÉÏÔËÐеķþÎñ ......
×î½üÁ½Ä꣬ÎļþϵͳµÃµ½Á˺ܴóµÄ·¢Õ¹¡£
SunÓпªÔ´µÄZFSÒÔ¼°ÊÕ¹ºµÄLustreÎļþϵͳ¡£Quantum¡¢Panasas¡¢ IBM¡¢»ÝÆÕ¡¢NetAppºÍRed HatÒ²¶¼ÔöÇ¿ÁËÎļþϵͳ¿ª·¢Á¦¶È¡£NFS£¨ÍøÂçÎļþϵͳ£©ÕýÔÚ¾Àú´óµÄ±ä¶¯£¬Ö÷Òª´ú±í¾ÍÊÇpNFS£¨²¢ÐÐÍøÂçÎļþϵͳ£©¡£ºÁ²»Ææ¹ÖµÄÊÇ£¬ËùÓÐÕâЩ¿ª·¢Ðж¯´Ùʹ¿ªÔ´ÉçÇøÍÆ³öÕë¶ÔLinuxµÄ¸ü¸ßÐÔÄܵÄÎļþÏµÍ ......