Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ÉîÈëdz³ö LinuxÉ豸Çý¶¯×èÈûÓë·Ç×èÈû (select poll)


×èÈû²Ù×÷ÊÇÖ¸£¬ÔÚÖ´ÐÐÉ豸²Ù×÷ʱ£¬Èô²»ÄÜ»ñµÃ×ÊÔ´£¬Ôò½ø³Ì¹ÒÆðÖ±µ½Âú×ã¿É²Ù×÷µÄÌõ¼þÔÙ½øÐвÙ×÷¡£·Ç×èÈû²Ù×÷µÄ½ø³ÌÔÚ²»ÄܽøÐÐÉ豸²Ù×÷ʱ£¬²¢²»¹ÒÆð¡£±»¹ÒÆðµÄ½ø³Ì½øÈësleep״̬£¬±»´Óµ÷¶ÈÆ÷µÄÔËÐжÓÁÐÒÆ×ߣ¬Ö±µ½µÈ´ýµÄÌõ¼þ±»Âú×ã¡£
ÔÚLinuxÇý¶¯³ÌÐòÖУ¬ÎÒÃÇ¿ÉÒÔʹÓõȴý¶ÓÁУ¨wait queue£©À´ÊµÏÖ×èÈû²Ù×÷¡£wait queueºÜÔç¾Í×÷Ϊһ¸ö»ù±¾µÄ¹¦Äܵ¥Î»³öÏÖÔÚLinuxÄÚºËÀïÁË£¬ËüÒÔ¶ÓÁÐΪ»ù´¡Êý¾Ý½á¹¹£¬Óë½ø³Ìµ÷¶È»úÖÆ½ôÃܽáºÏ£¬Äܹ»ÓÃÓÚʵÏÖºËÐĵÄÒ첽ʼþ֪ͨ»úÖÆ¡£µÈ´ý¶ÓÁпÉÒÔÓÃÀ´Í¬²½¶Ôϵͳ×ÊÔ´µÄ·ÃÎÊ£¬ÉϽÚÖÐËù½²ÊöLinuxÐźÅÁ¿ÔÚÄÚºËÖÐÒ²ÊÇÓɵȴý¶ÓÁÐÀ´ÊµÏֵġ£
ÏÂÃæÎÒÃÇÖØÐ¶¨ÒåÉ豸"globalvar"£¬Ëü¿ÉÒÔ±»¶à¸ö½ø³Ì´ò¿ª£¬µ«ÊÇÿ´ÎÖ»Óе±Ò»¸ö½ø³ÌдÈëÁËÒ»¸öÊý¾ÝÖ®ºó±¾½ø³Ì»òÆäËü½ø³Ì²Å¿ÉÒÔ¶ÁÈ¡¸ÃÊý¾Ý£¬·ñÔòÒ»Ö±×èÈû¡£
#include <linux/module.h>
#include <linux/init.h>
#include <linux/fs.h>
#include <asm/uaccess.h>
#include <linux/wait.h>
#include <asm/semaphore.h>
MODULE_LICENSE("GPL");
#define MAJOR_NUM 254
static ssize_t globalvar_read(struct file *, char *, size_t, loff_t*);
static ssize_t globalvar_write(struct file *, const char *, size_t, loff_t*);
struct file_operations globalvar_fops =
{
¡¡read: globalvar_read,
write: globalvar_write,
};
static int global_var = 0;
static struct semaphore sem;
static wait_queue_head_t outq;
static int flag = 0;
static int __init globalvar_init(void)
{
¡¡int ret;
¡¡ret = register_chrdev(MAJOR_NUM, "globalvar", &globalvar_fops);
¡¡if (ret)
¡¡{
¡¡¡¡printk("globalvar register failure");
¡¡}
¡¡else
¡¡{
¡¡¡¡printk("globalvar register success");
¡¡¡¡init_MUTEX(&sem);
¡¡¡¡init_waitqueue_head(&outq);
¡¡}
¡¡return ret;
}
static void __exit globalvar_exit(void)
{
¡¡int ret;
¡¡ret = unregister_chrdev(MAJOR_NUM, "globalvar");
¡¡if (ret)
¡¡{
¡¡¡¡printk("globalvar unregister failure");
¡¡}
¡¡else
¡¡{
¡¡¡¡printk("globalvar unregister success");
¡¡}
}
static ssize_t globalvar_read(struct file *filp, char *buf, size_t len, loff_t *off)
{
¡¡//µÈ´ýÊý¾Ý¿É»ñµÃ
¡¡if (wait_event_interruptible(outq, flag


Ïà¹ØÎĵµ£º

¼àÊÓÎïÀí×é¼þµÄ¸ß¼¶ Linux ÃüÁî


ת×Ô£ºhttp://www.oracle.com/technology/global/cn/pub/articles/advanced-linux-commands/part3.html
×÷ÕߣºArup Nanda

2009 Äê 1 Ô·¢±í
Ôڴ˲¿·ÖÖУ¬Á˽âÓÃÓÚ¼àÊÓÎïÀí×é¼þµÄ¸ß¼¶ Linux ÃüÁî
Linux ϵͳÓÉÈô¸ÉÖ÷ÒªÎïÀí×é¼þ×é³É£¬Èç CPU¡¢ÄÚ´æ¡¢Íø¿¨ºÍ´æ´¢É豸¡£ÒªÓÐЧµØ¹ÜÀí Linux »·¾³£¬ÄúÓ¦¸ÃÄܹ»ÒÔºÏÀíµÄ¾ ......

linux²é¿´·ÖÇø,Îļþ¼Ð,Îļþ´óС

½Ó´¥linuxʱ¼ä»¹²»ÊǺܳ¤,ºÜ¶àÃüÁî¼Ç²»×¡,ºÇºÇ,Äõ½Ð·þÎñÆ÷¿´ÏÂÓ²ÅÌ·ÖÇø $df –lh Îļþϵͳ              ÈÝÁ¿  ÒÑÓà ¿ÉÓà ÒÑÓÃ% ¹ÒÔØµã
/dev/sda1             2.0G ......

ÍêÉÆLinuxϵͳ

 
ÍêÉÆLinuxϵͳ
1.¿ª»ú×Ô¶¯¹ÒÔØwindow·ÖÇø
   
fedora10ËäÈ»ÄÜ×Ô¶¯¹ÒÔØ,µ«ÊǹÒÔØµÄ·ÖÇøÓÐʱ»á²»ÈϺº×ÖÎļþ¼Ð
 
 ´ÓÖÕ¶ËÓÃvi»ògedit´ò¿ª/etc/fstab£¬ÔÚÆäÖÐÌí¼Ó£º
 /dev/sda1 /mnt/1 ntfs default 0 0
 ×¢£ºµÚÒ»ÏîÊÇ·ÖÇøÇý¶¯µØÖ·
   ......

ÔÚLinuxÉϽ»²æ±àÒëwindows³ÌÐò

ת×Ô:http://www.cublog.cn/u/12592/showart_163722.html
×î½ü¼¸Ìì¸ã wxWidgets£¬ÓÉÓÚҪͬʱ±àÒëÓ¦ÓóÌÐòµÄ Windows °æ±¾£¬ÓÖÀÁµÃÔÚÐéÄâ»úÀïÃæ±àÒë³ÌÐò£¬ÓÚÊÇÏëµ½Óý»²æ±àÒëµÄ·½Ê½ÔÚ Linux ÉϱàÒëºÃ Windows °æ±¾µÄ³ÌÐò£¬ÔÙÓà Wine »òÕßÐéÄâ»úÀ´Ö´ÐС£ÊÔÁËһϣ¬ÕâÖÖ·½·¨ºÜºÃÓ㬱ÈÔÚÐéÄâ»úÀïÃæ±àÒë³ÌÐò¿ìºÜ¶à¡£
ÎҵIJÙ×÷ ......

×Ô¼º¼ÇµÄһЩlinux³£Óö«Î÷1

²é¿´ËùÓл·¾³±äÁ¿  printenv
ÉèÖãºexport ±äÁ¿Ãû=±äÁ¿Öµ
ɾ³ý£ºunset ±äÁ¿Ãû
Èç¹ûÄãÏë²é¿´Ä³Ò»¸öÃû³ÆµÄ»·¾³±äÁ¿£¬ÃüÁîÊÇ£ºecho $»·¾³±äÁ¿Ãû£¬±ÈÈ磺
echo $ORACLE_HOME
cat ²é¿´ÃüÁî
source ÉúЧ
vi±à¼­Æ÷
ÏȰ´esc£¬È»ºóÊäÈë :q! £¬´æÅÌÍ˳öÊäÈë :wq
2¡¢X·½Ê½:
¡¡¡¡(1). vi /etc/services # È·±£xdmcp¶Ë¿ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ