LinuxµÄ¸ßЧµÄÊý¾Ý´«Êä¼¼Êõ-Relay
¡¶LinuxµÄ¸ßЧµÄÊý¾Ý´«Êä¼¼Êõ-Relay¡·ÕªÒª£º Óû§¿Õ¼äµÄº¯ÊýÖ÷Òª²Ù×÷ÊÇ£º ¡ñ¼ÙÈçrelayfsÎļþϵͳ»¹Ã»Óб»mount£¬Ôò½«Æämountµ½Ä¿Â¼/mnt/relayÉÏ£» ¡ñ±éÀúÿһ¸öCPU¶ÔÓ¦µÄ»º³åÎļþ£» ¡ñ´ò¿ªÎļþ£» ¡ñ¶ÁÈ¡ËùÓÐÎļþÄÚÈÝ£» ¡ñ¹Ø±ÕÎļþ£» ¡ñ×
¡¡¡¡¡ñ¼ÙÈçrelayfsÎļþϵͳ»¹Ã»Óб»mount£¬Ôò½«Æämountµ½Ä¿Â¼/mnt/relayÉÏ£»
¡¡¡¡¡ñ±éÀúÿһ¸öCPU¶ÔÓ¦µÄ»º³åÎļþ£»
¡¡¡¡¡ñ´ò¿ªÎļþ£»
¡¡¡¡¡ñ¶ÁÈ¡ËùÓÐÎļþÄÚÈÝ£»
¡¡¡¡¡ñ¹Ø±ÕÎļþ£»
¡¡¡¡¡ñ×îºó£¬umountµôrelayÎļþϵͳ¡£
¡¡¡¡³ÌÐòÄÚÈÝ£º
/* * audience.c * a user-space client example of relayfs filesystem */ #include <sys/types.h> #include <sys/stat.h> #include <sys/mount.h> #include <fcntl.h> #include <sched.h> #include <errno.h> #include <stdio.h> #define MAX_BUFLEN 256 const char filename_base[]="/mnt/relay/cpu"; // implement your own get_cputotal() before compilation static int get_cputotal(void); int main(void) { char filename[128]={0}; char buf[MAX_BUFLEN]; int fd, c, i, bytesread, cputotal = 0; if(mount("relayfs", "/mnt/relay", "relayfs", 0, NULL) && (errno != EBUSY)) { printf("mount() failed: %s", strerror(errno)); return 1; } cputotal = get_cputotal(); if(cputotal <= 0) { printf("invalid cputotal value: %d", cputotal); return 1; } for(i=0; i<cputotal; i ) { // open per-cpu file sprintf(filename, "%s%d", filename_base, i); fd = open(filename, O_RDONLY); if (fd < 0) { printf("fopen() failed: %s", strerror(errno)); return 1; } // read per-cpu file bytesread = read(fd, buf, MAX_BUFLEN); while(bytesread > 0) { buf[bytesread] = '\0'; puts(buf); bytesread = read(fd, buf, MAX_BUFLEN); }; // close per-cpu file if(fd > 0) { close(fd); fd = 0; } } if(umount("/mnt/relay") && (errno != EINVAL)) { printf("umount() failed: %s", strerror(errno)); return 1; } return 0; }
¡¡¡¡ÉÏÃæÕâ¸öÀý×Ó¸ø³öÁËʹÓÃrelayµÄÒ»¸ö×î¼òµ¥µÄÇéÐΣ¬²¢Ã»ÓÐʵ¼ÊÓô¦£¬µ«ÊÇÐÎÏóÃèÊöÁË´ÓÓû§¿Õ¼äºÍÄں˿ռäÁ½¸ö·½ÃæÊ¹ÓÃrelayµÄ»ù±¾Á÷³Ì¡£Êµ¼ÊÓ¦ÓÃÖжÔrelayµÄʹÓõ±È»Òª±ÈÕ⸴Ôӵöࡣ
ÉÏһƪ£ºLinuxÓëWindowsÔÚÊ®Èý·½Ãæ½øÐдó¶Ô¾ö ÏÂһƪ£ºÔÚLinuxÖÐÓ÷À»ðǽµÖµ²ºÚ¿Í¹¥»÷
Ïà¹ØÐÅÏ¢
- LinuxÓëWindowsÔÚÊ®Èý·½Ãæ½øÐдó¶Ô¾ö
- ÔÚLinuxÖÐÓ÷À»ðǽµÖµ²ºÚ¿Í¹¥»÷
- Ç×ÉíÌåÑé Éý¼¶LinuxϵͳÄÚºËÍêÈ«¹ý³Ì
- °²×°¹ýWindowsµÄµçÄÔÉÏÈçºÎ°²×°Linux
- Linux²¡¶¾ºÍUNIX²¡¶¾ÐèÒªÌØ±ðÖØÊÓ
- ³¬ºÃÓà LinuxϵͳµÄ8¸ö¾µä¼¼ÇÉ
- WindowsÓû§ÈëÃÅLinux°ËÎÊ
- Linux FTP·þÎñÆ÷µÄÉèÖÃÎÊÌâ
- ¿´Ò»ÌõLinuxÃüÁî Á˽âÒ»¶ÎÈËÀàÎÄÃ÷
- ɾ³ýLinuxºóÈçºÎÕÒ»ØWindowsÆô¶¯²Ëµ¥
- LinuxÓ¦ÓÃÈí¼þ̸֮Զ³Ì×ÀÃæ¿ØÖÆÆª
- ²Ù×÷ϵͳµÄÒ»³¡¸ïÃü Linuxϵͳ·çÓê15Äê
Ó²¼þ¹ÊÕÏרÌâ
¸ü¶àÈí¼þ¹ÊÕÏάÐÞ
¸ü¶à- ²¥·Å1080I ÀÏÓ¥ÀÖ¶Ó¸æ±ðÑÝ×à»áÓÐÀË¿»ò
- ÎÞÒâÖз¢ÏÖÓÐÈËÌṩ MPC Homecinema µÄ
- ÍÆ¼ö£¡ÕûÀíºÃµÄWPS 2007³£ÓÃÉèÖü¼ÇÉ
- WinRAR¾Å´ó²»´«Ãܼ¼
- IEä¯ÀÀÆ÷·ÀºÚ¼¼ÇÉÊ®Ôò
- PowerDVD 8.0 Ultra ²¥·ÅDTSÒô¹ìÓÐÎÊÌâ
- WMA3ÒôƵÈçºÎ²ÅÄÜʵÏÖ¹âÏË5.1Êä³ö°¡£¿
- ÔõôûÈËÌÖÂÛGeForce 8200?
- Word¹¤¾ßÀ¸°´Å¥Ö±½ÓÆô¶¯Íⲿ³ÌÐò
- ¡¾ÇóÖú¡¿ÎÒµÄHD2400PRO¸ßÇå°æÔõô¿ª²»
¾É°æµçÄÔ¹ÊÕÏÍø
ÔĶÁÅÅÐÐ
- ÈÃÄãµÄLinuxÓÃÆðÀ´¸úWindowsÎÞÒì
- Linux²Ù×÷ϵͳϵļ¯ÈºÔÀí¼°ÊµÕ½¾Àú
- ÔÚLinuxϵͳϽ¨Á¢Ç¿Ê¢µÄFTPËÑË÷ÒýÇæ
- RedHat LinuxÏ·À»ðǽÅäÖÃÈëÃÅ
- ɾ³ýLinuxºóÈçºÎÕÒ»ØWindowsÆô¶¯²Ëµ¥
- Linux2.6Äں˵ÄǶÈëʽϵͳӦÓÃ
- ʵÏÖLinuxÓëwindowsµÄÎļþ»¥´«
- linuxÈëÃÅ½Ì³Ì µÚ1Õ ϵͳ¼ò½é
- ²Ù×÷ϵͳµÄÒ»³¡¸ïÃü Linuxϵͳ·çÓê15Äê
- Õһس¬¼¶Óû§ÃÜÂë
- ¸ÅÊöLinuxϵͳµÄÇý¶¯¿ò¼Ü¼°Çý¶¯¼ÓÔØ
- ÇáËÉÖÆ×÷LinuxϵͳÆô¶¯Å̵ÄËÄÖÖ·½·¨
