Linux Ï߳̽ӿÚ˵Ã÷
×î½ü¶ÔLinuxµÄÏ߳̽ӿڽøÐÐÁËЩ×ܽᣬҲ²Î¿¼ÁËÍøÂçÉÏÐÖµÜÃǵÄһЩ×ÊÁÏ£¬×Ô¼ºÍ¬Ê±Ò²Ð´ÁËЩ³ÌÐò½øÐвâÊÔ£¬ÏȰѲο¼µÄ
×ÊÁÏÁгöÀ´°É
http://blog.mcuol.com/User/liuzhilii521/Article/12738_1.htm
ÏÂÃæÊÇÎÒµÄһЩÀí½â£º
pthread_key_create(pthread_key_t *key,void (*destructor)(void*))
destructorÕâ¸ö»Øµ÷º¯ÊýÔÚÏß³ÌÍ˳öµÄʱºò»á±»µ÷Ó㬲ÎÊýÊÇpthread_setspecial(pthread_key_t *key,const void *value)
ÖеIJÎÊývalue
void *pthread_getspecial(pthread_key_t key)
»ñÈ¡µÄÊǵ÷Óõĺ¯ÊýËùÔÚÏ̵߳ľßÌåÊý¾Ý
pthread_setspecial(pthread_key_t *key,const void *value)
±ØÐëÔÚ¾ßÌåµÄÏß³ÌÖе÷Óã¬ÒÔ´ïµ½¸úµ±Ç°Ḭ̈߳󶨵ÄЧ¹û
Ïß³ÌÍ˳öµÄÎÊÌ⣺
¶ÔÓÚǶÈëʽ³ÌÐòÀ´Ëµ£¬Ö±µ½¶ÏµçǰºÜ¶àÏß³ÌÊÇÒ»Ö±ÔÚÔËÐе쬲¢²»´æÔÚÏß³ÌÍ˳öµÄÎÊÌ⣬µ«ÊÇÓÐÒ»²¿·ÖỊ̈߳¬ÌرðÊÇÄ£¿é
»¯Á˵ijÌÐò£¬µ«Ä£¿éµÄ¹¦ÄÜÍ˳öÁË£¬ÄÇôËùÓеÄ×ÊÔ´¶¼ÐèÒªÊÍ·Å£¬²»¹ÜÊÇÄڴ棬»¹ÊÇỊ̈߳¬»òÕßÓ²¼þ×ÊÔ´¡£
LinuxÌṩÁ˼¸ÖÖÍ˳ö»úÖÆ£º
1. pthread_exit
Õâ¸ö½Ó¿ÚÊÇ˵÷ÓÃËÍ˳ö£¬Ò»°ãÊÇÏß³Ì×Ô¼ºÍ˳ö
2. pthread_kill
Õâ¸ö½Ó¿ÚÊÇÏòijһ¸öÏ̷߳¢³öÒ»¸ösignal£¬µ±È»½Ó¿ÚµÄÏß³ÌÐèÒªÏȵǼǴ¦ÀíÕâ¸ösignalµÄ·½·¨£¬¿ÉÒÔÊÇÍ˳ö³ÌÐò£¬Ò²¿ÉÒÔ
ÊÇstop³ÌÐò¡£¿ÉÒÔÊDZ¾Ï̷߳¢³ö£¬Ò²¿ÉÒÔÊÇÆäËûÏ̷߳¢³öµÄ
3. pthread_concel
Õâ¸ö½Ó¿ÚÊÇÇ¿ÖÆÊÍ·Åijһ¸öỊ̈߳¬ÄÇôÊͷŸÃÏ̵߳Ä×ÊÔ´ÈçºÎ´¦ÀíÄØ£¿ Æäʵ¿ÉÒÔÔÚ¸ÃÏß³ÌÆô¶¯µÄʱºòÉèÖÃÏß³ÌÍ˳öµÄ
ÊÍ·Å×ÊÔ´µÄ»Øµ÷º¯Êý£¬pthread_cleanup_push(void (*routine)(void*),void *arg)¾ÍÊÇÉèÖÃÍ˳öµÄÊÍ·Å×ÊÔ´µÄ»Øµ÷º¯Êý
Ìõ¼þ±äÁ¿ÎÊÌ⣺
ËùνµÄÌõ¼þ±äÁ¿ÆäÊµÕæµÄÃ÷·ûÆäʵ£¬¾ÍÊǰѱäÁ¿µ±³ÉÒ»ÖÖÌõ¼þ£¬Ò²¾ÍÊÇ˵ͨ¹ýÅжÏÒ»¸ö±äÁ¿£¬ÈóÌÐòÊÇ·ñ¹ÒÆð£¬»òÕß´¦Àí
Êý¾ÝµÄÒ»ÖÖÐÐΪ¡£
Ò»°ãµ÷ÓýӿÚÊÇpthread_cond_create, pthread_cond_wait, pthread_cond_timedwait, pthread_cond_signal
¹Ø¼üµÄÊÇÒª°Ñ±äÁ¿ºÍwaitµÄ½Ó¿Ú¶¼ÓÃmutex±£»¤ÆðÀ´£¬¶øÇÒwait²ÎÊý¶¼ÒªÊäÈëmutex½øÐб£»¤
ÆäʵÈç¹ûÎÒÃÇÓÃsemÒ²ÊÇ¿ÉÒÔʵÏÖÕâÖÖ¹¦Äܵġ£
Ïà¹ØÎĵµ£º
±¾º¯ÊýµÄ·ÖÎöºÜÄѾßÌ壬ÒòÎªÉæ¼°Á˺ܶàarmµÄ´¦ÀíÆ÷ÐͺźÍÿ¸öÐͺŶÔÓ¦µÄcacheºÍwrite bufferµÄ¹¤×÷·½Ê½£¬ÕâÆ¬ÎÄÕÂÖ»ÊÇ×ö¼òµ¥µÄ¼Ç¼£¬·½±ãÒÔºóÁ˽â¸üÉîºó»ØÀ´ÔÙÀ´ÍêÉÆÕâ¸öº¯Êý¡£
Õâ¸öº¯ÊýµÄµ÷Óùý³ÌÈ磺start_kernel()->setup_arch()->paging_init()->memtable_init( ......
linuxÖУ¬ÔÚÖ§³Ö¶àÏ̵߳Ļ·¾³ÖУ¬Í¨³£Ã¿¸öÏ̶߳¼ÓÐÊôÓÚ×Ô¼ºµÄerrno±äÁ¿£¬ÊÇÓÃÀ´±íÊ¾ÌØ¶¨´íÎóµÄ³£Á¿¡£
ÒÔÏÂÊÇ<errno.h>Öж¨ÒåµÄËùÓгö´íerrno³£Á¿
#define EPERM 1 /* Operation not permitted */
#define ENOEN ......
ת×Ô£º http://blog.csdn.net/kongqz/archive/2009/05/15/4184415.aspx
¾ÍÊÇÔÚÒÑÓеÄÊý¾Ý¿âʵÀýÉÏ´´½¨Ò»¸öеÄÕʺţ¬·ÃÎÊһЩеıí
²Ù×÷²½ÖèÈçÏ£º
1¡¢µÇ¼linux£¬ÒÔoracleÓû§µÇ¼£¨Èç¹ûÊÇrootÓû§µÇ¼µÄ£¬µÇ¼ºóÓà su - oracleÃüÁîÇл»³ÉoracleÓû§£©
2¡¢ÒÔsysdba·½Ê½À´´ò¿ªsqlplus£¬ÃüÁîÈçÏ£º s ......
shellÓï·¨£¨ÎåÏ
1.ÃüÁî¸ñʽ
2.ͨÅä·û
3.ÖØ¶¨Ïò
4.¹ÜµÀ
5.shellÖеÄÒýÓÃ
6.×Ô¶¯²¹ÆëÃüÁîÐÐ
ϵͳ¹ÜÀíά»¤
ls
pwd
cd
date
passwd
su
clear
man
who
w
uname
uptime
last
dmesg
free
ps
top
Îļþ¹ÜÀí±à¼
mkdir
more
cat
diff
grep
rm
touch
ln
file
cp
find
split
mv
ѹËõ½âѹ
zi ......
caddr_t //ºËÐĵØÖ·
clock_t //ʱÖӵδð¼ÆÊýÆ÷
compt_t //ѹËõµÄʱÖӵδð
dev_t //É豸ºÅ£¨Ö÷ºÍ´Î£©
fd_set //ÎļþÃèÊö·û¼¯
fpos_t //ÎļþλÖÃ
gid_t //ÊýÖµ×éID
ino_t //i½Úµã±àºÅ
mode_t //ÎļþÀ ......