Linux ÄÚºËÌåϵ¼ò½é¡¾×ª¡¿
1.Linux Äں˼ò½é ÏÖÔÚÈÃÎÒÃÇ´ÓÒ»¸ö±È½Ï¸ßµÄ¸ß¶ÈÀ´ÉóÊÓһϠGNU/Linux ²Ù×÷ϵͳµÄÌåϵ½á¹¹¡£Äú¿ÉÒÔ´ÓÁ½¸ö²ã´ÎÉÏÀ´¿¼ÂDzÙ×÷ϵͳ£¬Èçͼ 1 Ëùʾ¡£ ͼ 1. GNU/Linux ²Ù×÷ϵͳµÄ»ù±¾Ìåϵ½á¹¹ ×îÉÏÃæÊÇÓû§£¨»òÓ¦ÓóÌÐò£©¿Õ¼ä¡£ÕâÊÇÓû§Ó¦ÓóÌÐòÖ´Ðеĵط½¡£Óû§¿Õ¼äÖ®ÏÂÊÇÄں˿ռ䣬Linux ÄÚºËÕýÊÇλÓÚÕâÀï¡£ GNU C Library £¨glibc£©Ò²ÔÚÕâÀï¡£ËüÌṩÁËÁ¬½ÓÄں˵Äϵͳµ÷Óýӿڣ¬»¹ÌṩÁËÔÚÓû§¿Õ¼äÓ¦ÓóÌÐòºÍÄÚºËÖ®¼ä½øÐÐת»»µÄ»úÖÆ¡£Õâµã·Ç³£ÖØÒª£¬ÒòΪÄں˺ÍÓû§¿Õ¼äµÄÓ¦ÓóÌÐòʹÓõÄÊDz»Í¬µÄ±£»¤µØÖ·¿Õ¼ä¡£Ã¿¸öÓû§¿Õ¼äµÄ½ø³Ì¶¼Ê¹ÓÃ×Ô¼ºµÄÐéÄâµØÖ·¿Õ¼ä£¬¶øÄÚºËÔòÕ¼Óõ¥¶ÀµÄµØÖ·¿Õ¼ä¡£ Linux Äں˿ÉÒÔ½øÒ»²½»®·Ö³É 3 ²ã¡£×îÉÏÃæÊÇϵͳµ÷Óýӿڣ¬ËüʵÏÖÁËһЩ»ù±¾µÄ¹¦ÄÜ£¬ÀýÈç read ºÍ write¡£ÏµÍ³µ÷ÓýӿÚÖ®ÏÂÊÇÄں˴úÂ룬¿ÉÒÔ¸ü¾«È·µØ¶¨ÒåΪ¶ÀÁ¢ÓÚÌåϵ½á¹¹µÄÄں˴úÂë¡£ÕâЩ´úÂëÊÇ Linux ËùÖ§³ÖµÄËùÓд¦ÀíÆ÷Ìåϵ½á¹¹ËùͨÓõġ£ÔÚÕâЩ´úÂëÖ®ÏÂÊÇÒÀÀµÓÚÌåϵ½á¹¹µÄ´úÂ룬¹¹³ÉÁËͨ³£³ÆÎª BSP£¨Board Support Package£©µÄ²¿·Ö¡£ÕâЩ´úÂëÓÃ×÷¸ø¶¨Ìåϵ½á¹¹µÄ´¦ÀíÆ÷ºÍÌØ¶¨ÓÚÆ½Ì¨µÄ´úÂë¡£ ÔÚLinux ÄÚºËÖУ¬°üÀ¨ÁË£º ½ø³Ì¹ÜÀí£¨process management£© ¶¨Ê±Æ÷£¨timer£© ÖжϹÜÀí£¨interrupt management£© ÄÚ´æ¹ÜÀí£¨memory management£© Ä£¿é¹ÜÀí£¨module management£© ÐéÄâÎļþϵͳ½Ó¿Ú£¨VFS layer£© Îļþϵͳ£¨file system£© É豸Çý¶¯³ÌÐò£¨device driver£© ½ø³Ì¼äͨÐÅ£¨inter-process communication£© ÍøÂç¹ÜÀí£¨network management£© ϵͳÆô¶¯£¨system init£©µÈ²Ù×÷ϵͳ¹¦ÄܵÄʵÏÖ¡£ 2.Linux Äں˵ÄÖ÷Òª×Óϵͳ ÏÖÔÚʹÓÃͼ2ÖеķÖÀà˵Ã÷ Linux Äں˵ÄÖ÷Òª×é¼þ¡£ ͼ 2. Linux Äں˵ÄÒ»¸öÌåϵ½á¹¹Í¸ÊÓͼ ÄÚºËÊÇʲô£¿ ÄÚºËʵ¼ÊÉϽö½öÊÇÒ»¸ö×ÊÔ´¹ÜÀíÆ÷¡£²»¹Ü±»¹ÜÀíµÄ×ÊÔ´Êǽø³Ì¡¢Äڴ滹ÊÇÓ²¼þÉ豸£¬Äں˸ºÔð¹ÜÀí²¢²Ã¶¨¶à¸ö¾ºÕùÓû§¶Ô×ÊÔ´µÄ·ÃÎÊ£¨¼È°üÀ¨Äں˿ռäÒ²°üÀ¨Óû§¿Õ¼ä£© ϵͳµ÷ÓÃ½Ó¿Ú SCI ²ãÌṩÁËijЩ»úÖÆÖ´ÐдÓÓû§¿Õ¼äµ½Äں˵ĺ¯Êýµ÷Óá£ÕýÈçÇ°ÃæÌÖÂÛµÄÒ»Ñù£¬Õâ¸ö½Ó¿ÚÒÀÀµÓÚÌåϵ½á¹¹£¬ÉõÖÁÔÚÏàͬµÄ´¦ÀíÆ÷¼Ò×åÄÚÒ²ÊÇÈç´Ë¡£SCI ʵ¼ÊÉÏÊÇÒ»¸ö·Ç³£ÓÐÓõĺ¯Êýµ÷Óöà·¸´ÓúͶà··Ö½â·þÎñ¡£ÔÚ ./linux/kernel ÖÐÄú¿ÉÒÔÕÒµ½ SCI µÄʵÏÖ£¬²¢ÔÚ ./linux/arch ÖÐÕÒµ½ÒÀÀµÓÚÌåϵ½á¹¹µÄ²¿·Ö¡£ÓйØÕâ¸ö×é¼þµÄ¸üÏêϸÐÅÏ¢¿ÉÒÔÔÚ ²Î¿¼×ÊÁÏ Ò»½ÚÖÐÕÒµ½¡£ ½ø³Ì¹ÜÀ
Ïà¹ØÎĵµ£º
ÕâÀï¼ÌÐøÉÏһƪ¹ØÓÚÏ̺߳¯ÊýµÄ½éÉÜ£º
int pthread_detach (pthread_t thread_handle);
Õâ¸öº¯ÊýµÄ×÷ÓÃÊÇÈÃthread_handleÖ¸ÏòµÄÄ¿±êÏß³ÌÔÚÖÐÖ¹µÄʱºòÇåÀí×Ô¼ºÓµÓеÄÊý¾Ý¡£ÔÚÕâ¸öº¯Êýµ÷ÓÃÖ®ºó£¬
²»ÄÜÔÙ¶Ôthread_handleʹÓÃpthread_join¡£
ÏÔ¶øÒ×¼ûµÄÊÇ£¬Èç¹ûÎÒÃÇûÓжÔд´½¨µÄÏ̵߳÷ÓÃpthread_detach£¬Õâ¸öÏß ......
±¾ÎĽ«ÃèÊöÏ̵߳ÄÒ»¸ö±È½ÏÖØÒªµÄÒ»·½Ã棺Ïß³Ì˽ÓÐÊý¾Ý£¬ÈçÏ´úÂ룺
#include <pthread.h>
#include <unistd.h>
#include <stdio.h>
pthread_key_t kKey = 0;
void * ThreadProc(void* arg)
{
char* a = (char*)(arg);
sleep(2);
pthread_setspecific(kKey, a);
......
LinuxÌṩÁË´óÁ¿µÄÃüÁÀûÓÃËü¿ÉÒÔÓÐЧµØÍê³É´óÁ¿µÄ¹¤×÷£¬Èç´ÅÅ̲Ù×÷¡¢Îļþ´æÈ¡¡¢Ä¿Â¼²Ù×÷¡¢½ø³Ì¹ÜÀí¡¢ÎļþȨÏÞÉ趨µÈ¡£ËùÒÔ£¬ÔÚLinuxϵͳÉϹ¤×÷Àë²»¿ªÊ¹ÓÃϵͳÌṩµÄÃüÁî¡£ÒªÏëÕæÕýÀí½âLinuxϵͳ£¬¾Í±ØÐë´ÓLinuxÃüÁîѧÆð£¬Í¨¹ý»ù´¡µÄÃüÁîѧϰ¿ÉÒÔ½øÒ»²½Àí½âLinuxϵͳ¡£
²»Í¬Linux·¢ÐаæµÄÃüÁîÊýÁ¿²»Ò»Ñù£¬µ«Linux·¢ÐÐ°æ± ......
Èç¹ûÄã¼Èû×öϵͳÆô¶¯ÈíÅÌ£¬Í¬Ê±¶àϵͳµÄÒýµ¼LILO ºÍGRUB ÓÖ±»É¾³ý£¬ÄÇôֻÄÜʹÓÃLinux ϵͳ°²×°ÅÌÀ´»Ö¸´rootµÄÃÜÂ룬²½ÖèÈçÏ¡£ Ò». liloÒýµ¼ÔÚ³öÏÖ lilo: Ìáʾʱ¼üÈë linux single Boot: linux single »Ø³µ¿ÉÖ±½Ó½øÈëlinuxµ¥Óû§Ä£Ê½ vi /etc/passwd ɾ³ýrootÏîÖеÄÃÜÂë (ÕâÀïÒ²¿ÉÒÔÖ±½ÓʹÓÃpasswdÃüÁîÖØÐÂÉèÖÃrootµÄÃÜÂë ......