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

arm linux µÈ´ý¶ÓÁмòµ¥·ÖÎö

Author-------Dansen-----xzd2734@163.com
wait_queue_head_t wait_q;
Ê×ÏÈ¿´¿´
wait_queue_head_tÕâ¸öµÈ´ý¶ÓÁеĽṹ
ÔÚwait.hÖж¨ÒåÁËÕâ¸ö½á¹¹
typedef struct
__wait_queue_head wait_queue_head_t;
struct __wait_queue_head {
 wq_lock_t
lock;
 struct list_head task_list;
};
# define wq_lock_t
spinlock_t
typedef struct {
 volatile unsigned int lock;
}
spinlock_t;
struct list_head {
 struct list_head *next, *prev;
};
Õâ
ÑùÆäʵ×ܹ²ÓÐÁË3¸ö±äÁ¿
wait_q.lock.lock  volatile unsigned int
wait_q.task_list.next  struct
list_head *
wait_q.task_list.prev  struct list_head *
¶¨ÒåÁ˵ȴý¶ÓÁкóÐèÒª½ø
Ðгõʼ»¯
init_waitqueue_head(&wait_q);
static inline void
init_waitqueue_head(wait_queue_head_t *q)
{
 q->lock =
WAITQUEUE_RW_LOCK_UNLOCKED;
 INIT_LIST_HEAD(&q->task_list);
}
#define
WAITQUEUE_RW_LOCK_UNLOCKED SPIN_LOCK_UNLOCKED
#define
SPIN_LOCK_UNLOCKED (spinlock_t) { 0 }
#define INIT_LIST_HEAD(ptr) do {
\
 (ptr)->next = (ptr); (ptr)->prev = (ptr); \
} while (0)
Õâ
ÑùÔÚ³õʼ»¯µÈ´ý¶ÓÁÐwait_qºó£¬
wait_q.lock.lock=0;
wait_q.task_list.next=&(wait_q.task_list)
wait_q.task_list.prev=&(wait_q.task_list)
µ±
Ȼϵͳ»¹¸øÁËÁíÍâÒ»ÖÖÔÚ±àÒëʱ³õʼ»¯µÄ¶¨Òå·½·¨
#define DECLARE_WAIT_QUEUE_HEAD(name) \
 wait_queue_head_t
name = __WAIT_QUEUE_HEAD_INITIALIZER(name)
#define
__WAIT_QUEUE_HEAD_INITIALIZER(name) {    \
 lock:  WAITQUEUE_RW_LOCK_UNLOCKED,   \
 task_list: {
&(name).task_list, &(name).task_list }
 }
½á¹ûÏÔÈ»ºÍÉÏÒ»ÖÖ·½·¨Ïàͬ,²»¹ý
Õâ¸öms±È½Ï¼òµ¥.
ÏÂÃæËµµÄÊÇÒª¼ÓÈëµÈ´ý¶ÓÁÐÖеĵȴýÏî
DECLARE_WAITQUEUE(wait, current);
Ò»
ÖÖ¼òµ¥µÄ¶¨Òå·½·¨
#define DECLARE_WAITQUEUE(name, tsk)     \
 wait_queue_t
name = __WAITQUEUE_INITIALIZER(name, tsk)
#define
__WAITQUEUE_INITIALIZER(name, tsk) {    \
 task:  


Ïà¹ØÎĵµ£º

linuxϵͳ¹¤³ÌÊ¦ÃæÊÔÌâ(¸½´ð°¸)

1.²é¿´Linuxϵͳµ±Ç°µ¥¸ö¹²ÏíÄÚ´æ¶ÎµÄ×î´óÖµ£¨ÃüÁ
ipcs -m
ipcs -a
2.ÓÃʲôÃüÁî²éѯָ¶¨IPµØÖ·µÄ·þÎñÆ÷¶Ë¿Ú
ÌâÒâÓ¦¸ÃÊÇ nmap ºÍnbtscan ÃüÁîÀ´É¨°É¡£
3.crontabÖÐÓÃʲôÃüÁÒåij¸ö³ÌÐòÖ´ÐеÄÓÅÏȼ¶±ð
nice/renice£º½ø³ÌÖ´ÐÐÓÅÏȼ¶
¸ÅÄ
½ø³ÌÓÅÏȼ¶£ºÏµÍ³°´½ø³ÌÓÅÏȼ¶µÄ²»Í¬·ÖÅäCPUʱ¼ä£¬ÓÅÏȼ¶¸ßµÄ ......

ÔÚLinuxÖÐÖ´ÐÐ.sh½Å±¾£¬Òì³£/bin/sh^M

ÔÚLinuxÖÐÖ´ÐÐ.sh½Å±¾£¬Òì³£/bin/sh^M
www.firnow.com    ʱ¼ä £º 2009-07-29  ×÷ÕߣºÄäÃû   ±à¼­£ºtoman µã»÷£º  199 [ ÆÀÂÛ ]
-
-
ÔÚLinuxÖÐÖ´ÐÐ.sh½Å±¾£¬Òì³£/bin/sh^M: bad interpreter: No such file or directory¡£
 
·ÖÎö£ºÕâÊDz»Í¬ÏµÍ³±àÂë¸ñʽÒýÆðµÄ£ºÔÚwindowsÏ ......

Linux ³£ÓÃÃüÁת£©


linuxĿ¼¼Ü¹¹ 
/ ¸ùĿ¼ 
/bin ³£ÓõÄÃüÁî binary file µÄÄ¿錄 
/boot ´æ·ÅϵͳÆô¶¯Ê±±ØÐë¶ÁÈ¡µÄµµ°¸£¬°üÀ¨ºËÐÄ (kernel) ÔÚÄÚ 
/boot/grub/menu.lst GRUBÉèÖà
/boot/vmlinuz Äںˠ
/boot/initrd ºËÐĽâ壓縮ËùÐè RAM Disk 
/dev ϵͳÖܱßÉ豸 
/etc ......

LinuxС¼¼ÇÉÊÕ¼¯

LinuxС¼¼ÇÉÊÕ¼¯
ǰÑÔ£ºÒòΪÓÃLinuxµÄʱ¼äÔ½À´Ô½³¤£¬ËùÐèÒª×öµÄÊÂÒ²Ô½À´Ô½¶à£¬Ð§ÂʳÉÁËÎÒ±ØÐèÍ»ÆÆµÄÆ¿¾±¡£ÔÚ´Ë×ܽáÒ»ÏÂÕâ¶Îʱ¼äÓùýµÄһЩºÃµÄLinux¼¼ÇÉ¡£ÒÔºóʱ³£²¹³äÕâÑù×Ô¼ºÒªÓõÄʱºò¾ÍºÜ·½±ãÁË¡£
Author:Ajian
[Îı¾´¦Àí]
1¡¢²é¿´Ä³ÎļþµÄÒ»²¿·Ö
Èç¹ûÄãÖ»Ïë¿´ÎļþµÄǰ 5 ÐУ¬¿ÉÒÔʹÓà head ÃüÁ
È磺head -5 ......

Linux »ñȡϵͳʱ¼ä

1.ʱ¼ä±íʾ
ÔÚ³ÌÐòµ±ÖÐ,ÎÒÃǾ­³£ÒªÊä³öϵͳµ±Ç°µÄʱ¼ä,±ÈÈçÎÒÃÇʹÓÃdateÃüÁîµÄÊä³ö½á¹û¡£Õâ¸öʱºòÎÒÃÇ¿ÉÒÔʹÓÃÏÂÃæÁ½¸öº¯Êý
time_t time(time_t *tloc);                    //ʱ¼ä¾«¶ÈΪÃë
char *ctime(const time_ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ