Linux×Ö·ûÉ豸Çý¶¯³ÌÐò¿ª·¢
LinuxϵÄÉ豸Çý¶¯³ÌÐò±»×é֯Ϊһ×éÍê³É²»Í¬ÈÎÎñµÄº¯ÊýµÄ¼¯ºÏ£¬Í¨¹ýÕâЩº¯ÊýʹµÃWindowsµÄÉ豸²Ù×÷ÓÌÈçÎļþÒ»°ã¡£ÔÚÓ¦ÓóÌÐò¿´À´£¬Ó²¼þÉ豸ֻÊÇÒ»¸öÉ豸Îļþ£¬Ó¦ÓóÌÐò¿ÉÒÔÏó²Ù×÷ÆÕͨÎļþÒ»Ñù¶ÔÓ²¼þÉ豸½øÐвÙ×÷£¬Èçopen ()¡¢close ()¡¢read ()¡¢write () µÈ¡£
LinuxÖ÷Òª½«É豸·ÖΪ¶þÀࣺ×Ö·ûÉ豸ºÍ¿éÉ豸¡£×Ö·ûÉ豸ÊÇÖ¸É豸·¢ËͺͽÓÊÕÊý¾ÝÒÔ×Ö·ûµÄÐÎʽ½øÐУ»¶ø¿éÉ豸ÔòÒÔÕû¸öÊý¾Ý»º³åÇøµÄÐÎʽ½øÐС£×Ö·ûÉ豸µÄÇý¶¯Ïà¶Ô±È½Ï¼òµ¥¡£
¡¡¡¡ÏÂÃæÎÒÃÇÀ´¼ÙÉèÒ»¸ö·Ç³£¼òµ¥µÄÐéÄâ×Ö·ûÉ豸£ºÕâ¸öÉ豸ÖÐÖ»ÓÐÒ»¸ö4¸ö×Ö½ÚµÄÈ«¾Ö±äÁ¿int global_var£¬¶øÕâ¸öÉ豸µÄÃû×Ö½Ð×ö"gobalvar"¡£¶Ô"gobalvar"É豸µÄ¶ÁдµÈ²Ù×÷¼´ÊÇ¶ÔÆäÖÐÈ«¾Ö±äÁ¿global_varµÄ²Ù×÷¡£
¡¡¡¡Çý¶¯³ÌÐòÊÇÄں˵ÄÒ»²¿·Ö£¬Òò´ËÎÒÃÇÐèÒª¸øÆäÌí¼ÓÄ£¿é³õʼ»¯º¯Êý£¬¸Ãº¯ÊýÓÃÀ´Íê³É¶ÔËù¿ØÉ豸µÄ³õʼ»¯¹¤×÷£¬²¢µ÷ÓÃregister_chrdev() º¯Êý×¢²á×Ö·ûÉ豸£º
static int __init gobalvar_init(void)
{
¡¡if (register_chrdev(MAJOR_NUM, " gobalvar ", &gobalvar_fops))
¡¡{
¡¡¡¡//…×¢²áʧ°Ü
¡¡}
¡¡else
¡¡{
¡¡¡¡//…×¢²á³É¹¦
¡¡}
}
¡¡¡¡ÆäÖУ¬register_chrdevº¯ÊýÖеIJÎÊýMAJOR_NUMΪÖ÷É豸ºÅ,"gobalvar"ΪÉ豸Ãû£¬gobalvar_fopsΪ°üº¬»ù±¾º¯ÊýÈë¿ÚµãµÄ½á¹¹Ì壬ÀàÐÍΪfile_operations¡£µ±gobalvarÄ£¿é±»¼ÓÔØÊ±£¬gobalvar_init±»Ö´ÐУ¬Ëü½«µ÷ÓÃÄں˺¯Êýregister_chrdev£¬°ÑÇý¶¯³ÌÐòµÄ»ù±¾Èë¿ÚµãÖ¸Õë´æ·ÅÔÚÄں˵Ä×Ö·ûÉ豸µØÖ·±íÖУ¬ÔÚÓû§½ø³Ì¶Ô¸ÃÉ豸ִÐÐϵͳµ÷ÓÃʱÌṩÈë¿ÚµØÖ·¡£
¡¡¡¡ÓëÄ£¿é³õʼ»¯º¯Êý¶ÔÓ¦µÄ¾ÍÊÇÄ£¿éÐ¶ÔØº¯Êý£¬ÐèÒªµ÷ÓÃregister_chrdev()µÄ"·´º¯Êý" unregister_chrdev()£º
static void __exit gobalvar_exit(void)
{
¡¡if (unregister_chrdev(MAJOR_NUM, " gobalvar "))
¡¡{
¡¡¡¡//…Ð¶ÔØÊ§°Ü
¡¡}
¡¡else
¡¡{
¡¡¡¡//…Ð¶ÔØ³É¹¦
¡¡}
}
¡¡¡¡Ëæ×ÅÄں˲»¶ÏÔö¼ÓÐµĹ¦ÄÜ£¬file_operations½á¹¹ÌåÒÑÖð½¥±äµÃÔ½À´Ô½´ó£¬µ«ÊÇ´ó¶àÊýµÄÇý¶¯³ÌÐòÖ»ÊÇÀûÓÃÁËÆäÖеÄÒ»²¿·Ö¡£¶ÔÓÚ×Ö·ûÉ豸À´Ëµ£¬ÒªÌṩµÄÖ÷ÒªÈë¿ÚÓУºopen ()¡¢release ()¡¢read ()¡¢write ()¡¢ioctl ()¡¢llseek()¡¢poll()µÈ¡£
¡¡¡¡open()º¯Êý¡¡¶ÔÉè±¸ÌØÊâÎļþ½øÐÐopen()ϵͳµ÷ÓÃʱ£¬½«µ÷ÓÃÇý¶¯³ÌÐòµÄopen () º¯Êý£º
int (*open)(struct inode * ,struct file *);
¡¡¡¡ÆäÖвÎÊýinodeΪÉè±¸ÌØÊâÎļþµÄinode (Ë÷Òý½áµã) ½á¹¹µÄÖ¸Õ룬²ÎÊýfileÊÇÖ¸ÏòÕâÒ»É豸µÄÎļþ½á¹¹µÄÖ¸Õë¡£open()µ
Ïà¹ØÎĵµ£º
ÈçºÎʵÏÖLinuxÓëwindowsµÄÎļþ´«Ê䣿
2007Äê05ÔÂ22ÈÕ ÐÇÆÚ¶þ 20:54
¡¡Ò»£®¸ÅÊö ¡¡¡¡
¡¡¡¡±¾ÎĽ²ÊöÁËÔÚLinuxÖ÷»úÓëwindowsÖ÷»úÖ®¼äÈçºÎ»¥´«ÎļþµÄ·½·¨¡£ÒòΪÓеÄʱºò£¬linuxÖ÷»úÖеÄһЩÎļþ¿ÉÄÜ»áÔÚwindows»·¾³ÏÂÓõ½¡£ÀýÈçÔÚlinuxÖ÷»úÖÐ×¥ÁËһЩͼƬ£¬Ïë°ÑËüÃÇ´«µ½windowsÖ÷»úÉÏÒÔ×÷ΪwordÎĵµµÄ²åͼ¡£ÓÖ»òÕß´ÓWindows ......
LinuxϵĽø³ÌͨÐÅÊֶλù±¾ÉÏÊÇ´ÓUnixƽ̨ÉϵĽø³ÌͨÐÅÊֶμ̳жøÀ´µÄ¡£¶ø¶ÔUnix·¢Õ¹×ö³öÖØ´ó¹±Ï×µÄÁ½´óÖ÷Á¦AT&TµÄ±´¶ûʵÑéÊÒ¼°BSD£¨¼ÓÖÝ´óѧ²®¿ËÀû·ÖУµÄ²®¿ËÀûÈí¼þ·¢²¼ÖÐÐÄ£©ÔÚ½ø³Ì¼äͨÐÅ·½ÃæµÄ²àÖØµãÓÐËù²»Í¬¡£Ç°Õß¶ÔUnixÔçÆÚµÄ½ø³Ì¼äͨÐÅÊֶνøÐÐÁËϵͳµÄ¸Ä½øºÍÀ©³ä£¬ÐγÉÁË“ ......
RPM ÊÇ RedHat Package Manager µÄËõд£¬Èí¼þ°ü¹ÜÀí¹¤¾ß¡£
RPMÎļþÔÚLINUXϵͳÖеݲװ×îΪ¼ò±ã¡£
LinuxÈí¼þ°ü£¬³£¼ûµÄ¸ñʽ°üÀ¨ÓÐrpm,deb,tar,gz,tgz,zip,bz2µÈµÈ¡£¼¸ºõÿ¸ölinuxÈí¼þ¶¼»áÌṩtarµÄ¸ñʽµÄÈí¼þ°ü£¬
ÒòΪÕâÖÖ¸ñʽµÄÈí¼þ°üÈκΰ汾µÄlinux¶¼Ö§³Ö£¬ËùÒÔÖÁÉÙÒªÁ˽âtarºÍrpmµÃʹÓ÷½·¨¡£
rpm¿ÉνÊÇRedhat¹«Ë¾µ ......
#!/bin/bash
cpu=`top -b -n 1 | grep -w Cpu | awk '{print$5}'| awk -F '%' '{printf"%d",$1}'`
if [ $cpu -le 50 ]
then
echo "cpu: $((100 - cpu))%" > test.txt
mail -s "·þÎñÆ÷½ô¼±, CPUÕ¼ÓÃÂʹý¸ß£¡" yourmail@domail.com < test.txt
fi
mem=`top -b -n 1 | grep -w Me ......
2009Äê12ÔÂ28ÈÕÊÇLinux´´Ê¼ÈËLinusµÄ40ËêÉúÈÕ¡£
19Äêǰ£¬ÔÚÊ¥µ®½ÚºóºÕ¶ûÐÁ»ùÉ̵꿪ҵµÄµÚÒ»Ì죬Linus³åÏòµçÄÔÉ̵꣬ÓÃÊ¥µ®½ÚºÍÉúÈÕÀñ½ð¹ºÂòÁËËûµÄµÚһ̨PC£ºÒ»Ì¨DX33 80386¼ÆËã»ú£¬4 Megs RAM£¬40 MegabyteÓ²ÅÌ£¬Ã»ÓÐÐͬ´¦ÀíÆ÷¡£LinusÖ®ËùÒÔÑ¡Ôñ80386£¬¶ø ......