ѹËõºÍ´ò°üÎļþ
¡¡¡¡* .bz2 — ʹÓÃbzip2ÃüÁîѹËõµÄÎļþ£¬¿ÉÒÔʹÓÃbzip2 -d filename ½â°ü
¡¡¡¡* .gz — ʹÓÃgzipÃüÁîѹËõµÄÎļþ£¬¿ÉÒÔʹÓÃgunzip -d filename ½â°ü
¡¡¡¡* .tar — ʹÓÃtar´ò°üµÄÎļþ£¬¼´tarballÎļþ£¬¿ÉÒÔʹÓÃtar xf filename ½â°ü
¡¡¡¡* .tbz — ʹÓÃtar´òÍê°üºóÔÙÒÔbzip2ÃüÁîѹËõµÄÎļþ£¬¿ÉÒÔʹÓÃtar jxf filename ½â°ü
¡¡¡¡* .tgz — ʹÓÃtar´òÍê°üºóÔÙÒÔgzipÃüÁîѹËõµÄÎļþ£¬¿ÉÒÔʹÓÃtar zxf filename ½â°ü
¡¡¡¡
¡¡¡¡ÆÕͨÎļþ¸ñʽ
¡¡¡¡* .au — ÉùÒôÎļþ£¬¿ÉÒÔʹÓÃϵͳµÄÉùÒô²¥·ÅÆ÷»òÕßÊÇJAVA³ÌÐò²¥·Å
¡¡¡¡* .gif — GIFͼÏñÎļþ£¬¿ÉÒÔʹÓÃWEBä¯ÀÀÆ÷²é¿´
¡¡¡¡* .html/.htm — HTMLÎļþ£¬¿ÉÒÔʹÓÃWEBä¯ÀÀÆ÷²é¿´
¡¡¡¡* .jpg — JPEGͼÏñÎļþ£¬¿ÉÒÔʹÓÃWEBä¯ÀÀÆ÷²é¿´
¡¡¡¡* .pdf — ÎĵµµÄµç×Ó°æ±¾£¬PDFÊÇÒ»ÖÖµç×ÓÎĵµµÄ±ê×¼£¬¿ÉÒÔʹÓÃ
¡¡¡¡* xpdf»òÕßÊÇadobe acrobat readerÔĶÁ
¡¡¡¡* .png — PNGͼÏñÎļþ£¬PNGÊÇPortable Network GraphicµÄ¼òд£¬¿ÉÒÔʹÓÃWEBä¯ÀÀÆ÷»òÕßͼÏñä¯ÀÀÆ÷²é¿´
¡¡¡¡* .ps — PostScriptÎļþ£¬Ò»ÖÖ´òÓ¡¸ñʽÎļþ£¬¿ÉÒÔʹÓÃghostview»òÕßÊ ......
×ܽáÕ½ڣºµÚÈý½Ú ×Ö·ûÉ豸Çý¶¯
ÕâÒ»ÕÂÖ÷ÒªÊǽ²Ò»Ð©×Ö·ûÉ豸Çý¶¯³ÌÐòµÄÏà¹ØÖªÊ¶¡£ÔÚ½øÐÐ×Ö·ûÉ豸Çý¶¯³ÌÐòѧϰ֮ǰ£¬ÎÒÃDZØÐëµÃŪÃ÷°×Ò»¸öÎÊÌ⣺Çý¶¯³ÌÐòʱ¸øËÓõġ£
ºÜ¶àÇý¶¯³ÌÐòµÄ³õѧÕߣ¬°´ÕÕÒ»°ã±à³ÌÓïÑÔ£¨C£¬javaµÈµÈ£©±àдӦÓóÌÐòµÄ¾Ñ飬º¯Êý¾ÍÊÇÓÃÀ´µ÷Óõġ£ÕâÖÖµ÷ÓùØÏµ£¬ÔÚÓ¦ÓÿռäÀ´¿´£¬ÏÞÖÆ²»ÊǺÜÃ÷ÏÔ¡£ºÜ¶à³õѧÕß¶¼»áÎóÈÏΪ£¬ÔÚÇý¶¯³ÌÐòÖÐдµÄº¯ÊýÊÇΪÁËÒÔºóÓ¦ÓóÌÐòÀ´µ÷Ó㬱ÈÈ磺ÔÚÇý¶¯ÖгÌÐòÖÐʵÏÖÁËswitch£¨£©º¯ÊýµÄ¹¦ÄÜ£¬°´ÕÕÓ¦ÓóÌÐòµÄ¹ÛÄÔÚÓ¦ÓóÌÐòÖÐÓ¦¸Ã¿ÉÒÔµ÷ÓÃswitch£¨£©º¯Êý£¬´Ó¶øÀ´ÊµÏÖijÖÖ¹¦ÄÜ¡£ÕâÖÖ´íÎóµÄ˼άÔÚ´ÓÓû§¿Õ¼äÓ¦ÓóÌÐò³ÌÐòÔ±µ½Çý¶¯³ÌÐò³ÌÐòÔ±µÄת±ä¹ý³ÌÖУ¬¾³£»áÓöµ½ÕâÖÖÎÊÌâ¡£ÕâÆäʵÊǶÔÇý¶¯³ÌÐòµÄ±¾ÖÊÊôÐÔûÓÐŪ͸³¹¡£Çý¶¯³ÌÐò£¬¾ÍÊÇÄں˵ÄÒ»²¿·Ö£¬Çý¶¯³ÌÐòµÄ´úÂëÊÇÄں˴úÂëµÄÒ»²¿·Ö¡£Ó¦ÓóÌÐò²»ÄÜÖ±½ÓÀûÓÃÇý¶¯³ÌÐòÀ´´ïµ½·ÃÎÊÓ²¼þµÄÄ¿µÄ£¬ÎÒÃÇÓ¦¸ÃÃ÷°×£¬Ó¦ÓóÌÐòÊÇͨ¹ý·ÃÎÊ/dev/ϵÄÉ豸Îļþ£¬À´¼ä½ÓµÄ·ÃÎÊÓ²¼þ£¬Çý¶¯³ÌÐòͨ¹ýϵͳµ÷ÓÃÀ´ÊµÏÖ½«ÐÅÏ¢´«µÝ¸ø/dev/ϵÄÉ豸Îļþ¡£ÎÞÂÛÇý¶¯³ÌÐòÖж¨ÒåÁËʲôº¯Êý£¬Ó¦Óÿռ䶼²»ÄÜʹÓã¬ÄÄÅÂÊǺ¯ÊýÐÎ̬һÑù£¬Èç¹û¿ÉÒÔ·ÃÎʵϰ£¬ÄǾÍΣÏÕÁË¡£Çý¶¯³ÌÐòÖеĺ¯ÊýÓÀÔ¶¶¼ÊÇÌṩ¸øÏµÍ³ÄÚºËʹ ......
1. LinusºÍBill
ËÆºõÔÚÒ»Ò¹Ö®¼ä£¬Õâ¸öÃû×ÖͻȻ±äµÃͬÏó±È¶û¡£¸Ç´ÄÒ»ÑùµÄ¶úÊìÄÜÏê¡£µ«ÊDZȶû¡£¸Ç´Ä£¬ÄÄÅÂÉí¼ÛÓÐÊý²»Çå±¶µÄ°ÙÍòÃÀ½ð£¬Ò²ÓÀÔ¶²»»á±ä³ÉLinux Torvalds¡£Õâλ29ËêµÄ·ÒÀ¼ÈË£¬¼òµ¥¶øÇ¿´óµÄLinux²Ù×÷ϵͳµÄ´´ÔìÕߣ¬³¬Ô½Á˸ǴĵÄÉñ»°¡£Ò²Óд«ÎÅ˵¸Ç´ÄÊÇÒ»¸ö׿ԽµÄ³ÌÐòÔ±£¬µ«LinusÊÇ»õÕæ¼ÛʵµÄ¸ßÊÖ¡£»¹ÔÚ´óѧÀïʱËû¾ÍÍê³ÉÁËÒ»¸ö»õÕæ¼ÛʵµÄ²Ù×÷ϵͳ¡£ÄêÇáʱµÄ¸Ç´Ä°Ñ¿½±´Ëû×Ô¼ºÆ½Ó¹µÄ³ÌÐòµÄ³ÌÐòԱͬÐгÆÎª“Ôô”£¬¶ø¿¶¿®µÄLinus°ÑËûµÄ½Ü×÷ÓëÈ«ÊÀ½ç¹²Ïí¡£ÄĸöÈË£¬ÄÄÖÖÔ˶¯»áȡʤ£¬Ò²Ðí»á¾ö¶¨¼¼Êõ·¢Õ¹µÄδÀ´¡£
Á½Äê֮ǰ£¬Èç¹ûÓÐË˵¼¼Êõ¾ÞÈ˺Í΢ÈíµÄÇ×ÃܺÏ×÷»ï°éHP£¬»áæ×ű£Ö¤ËýÉú²úµÄµçÄÔ˳ÀûÔËÐÐLinux£¬ÄÇ»áÊÇÌ췽ҹ̷¡£µ«Linus²ÉÈ¡µÄ¿ª·¢Ä£Ê½£¬ÑûÇëÈ«ÊÀ½ç¹²ÏíºÍ¸Ä½øËûµÄ¸öÈËÔ´´£¬´Ó¶øÒý·¢ÁËÒ»³¡¸ïÃü¡£»³ÒÉÂÛÕß¾õµÃ΢ÈíÃæ¶ÔÃÀ¹ú˾·¨²¿µÄÆðËߣ¬°ÑLinux±êΪֵµÃÖØÊӵľºÕù¶ÔÊÖ£¬Ö»ÊÇÔÚÖÆÔì¼ÙÏëµÐ£¬ÒÔÏ´ÍÑ¢¶ÏµÄ×ïÃû¡£µ«Î¢Èí͸¶µÄÕæÏàÒ²Ðí±ÈËûÃÇÏëÏóµÃ¶à¡£È¥ÄêËêÄ©£¬Ò»·Ý³Æ×÷“ÍòÊ¥½ÚÎĵµ”µÄ΢ÈíÄÚ²¿°×ƤÊéй¶µ½Ã½Ì壬ËüµÄ½áÂÛÒ²Ðí»áÈøǴÄ˯²»°²ÇÞ¡£
Linus±»²»ÉÙÈËÈÏΪÊÇ¿ª·ÅÔ´ÂëÈí ......
#define EPERM 1 /* Operation not permitted */
#define ENOENT 2 /* No such file or directory */
#define ESRCH 3 /* No such process */
#define EINTR 4 /* Interrupted system call */
#define EIO 5 /* I/O error */
#define ENXIO 6 /* No such device or address */
#define E2BIG 7 /* Argument list too long */
#define ENOEX ......
Ìõ¼þ±äÁ¿Í¨¹ýÔÊÐíÏß³Ì×èÈûºÍµÈ´ýÁíÒ»¸öÏ̷߳¢ËÍÐźŵķ½·¨ÃÖ²¹ÁË»¥³âËøµÄ²»×㣬Ëü³£ºÍ»¥³âËøÒ»ÆðʹÓá£Ê¹ÓÃʱ£¬Ìõ¼þ±äÁ¿±»ÓÃÀ´×èÈûÒ»¸öỊ̈߳¬µ±Ìõ¼þ²»Âú×ãʱ£¬Ïß³ÌÍùÍù½â¿ªÏàÓ¦µÄ»¥³âËø²¢µÈ´ýÌõ¼þ·¢Éú±ä»¯¡£Ò»µ©ÆäËüµÄij¸öÏ̸߳ıäÁËÌõ¼þ±äÁ¿£¬Ëü½«Í¨ÖªÏàÓ¦µÄÌõ¼þ±äÁ¿»½ÐÑÒ»¸ö»ò¶à¸öÕý±»´ËÌõ¼þ±äÁ¿×èÈûµÄÏ̡߳£ÕâЩÏ߳̽«ÖØÐÂËø¶¨»¥³âËø²¢ÖØÐ²âÊÔÌõ¼þÊÇ·ñÂú×ã¡£Ò»°ã˵À´£¬Ìõ¼þ±äÁ¿±»ÓÃÀ´½øÐÐÏ߳мäµÄͬ²½¡£
1.Ìõ¼þ±äÁ¿µÄ½á¹¹Îªpthread_cond_t (Ï൱ÓÚwindowsÖеÄʼþµÄ×÷ÓÃ)
2.Ìõ¼þ±äÁ¿µÄ³õʼ»¯
int pthread_cond_init __P ((pthread_cond_t *__cond,__const pthread_condattr_t *__cond_attr));
¡¡¡¡ÆäÖÐcondÊÇÒ»¸öÖ¸Ïò½á¹¹pthread_cond_tµÄÖ¸Õ룬cond_attrÊÇÒ»¸öÖ¸Ïò½á¹¹pthread_condattr_tµÄÖ¸Õë¡£½á¹¹ pthread_condattr_tÊÇÌõ¼þ±äÁ¿µÄÊôÐԽṹ£¬ºÍ»¥³âËøÒ»ÑùÎÒÃÇ¿ÉÒÔÓÃËüÀ´ÉèÖÃÌõ¼þ±äÁ¿Êǽø³ÌÄÚ¿ÉÓû¹Êǽø³Ì¼ä¿ÉÓã¬Ä¬ÈÏÖµÊÇ PTHREAD_ PROCESS_PRIVATE£¬¼´´ËÌõ¼þ±äÁ¿±»Í¬Ò»½ø³ÌÄڵĸ÷¸öÏß³ÌʹÓá£×¢Òâ³õʼ»¯Ìõ¼þ±äÁ¿Ö»ÓÐδ±»Ê¹ÓÃʱ²ÅÄÜÖØÐ³õʼ»¯»ò±»ÊÍ·Å¡£
Ìõ¼þ±äÁ¿ºÍ»¥³âËøÒ»Ñù£¬¶¼ÓÐ ......
#include
#include
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
void *thread1(void *);
void *thread2(void *);
int i=1;
main(void)
{
pthread_t t_a;
pthread_t t_b;
pthread_create(&t_a,NULL,thread1,(void *)NULL);
pthread_create(&t_b,NULL,thread2),(void *)NULL);
pthread_join(t_b, NULL);
pthread_mutex_destroy(&mutex);
pthread_cond_destroy(&cond);
exit(0);
}
void *thread1(void *junk)
{
for(i=1;i<=9;i++)
{
pthread_mutex_lock(&mutex);
if(i%3==0)
pthread_cond_signal(&cond);
else
printf("thead1:%d\n",i);
pthread_mutex_unlock(&mutex);
printf("Up Unlock Mutex\n");
usleep(50);
}
}
void *thread2(void *junk)
{
while(i<9)
{
pthre ......