»ùÓÚLinuxµÄ±ãЯǶÈëʽÉ豸µçÔ´¹ÜÀí½â¾ö·½°¸
ǰ¡¡ÑÔ
¡¡¡¡Ëæ×Ÿ÷ÖÖ±ãЯǶÈëʽÉ豸ÐÔÄܵÄÈÕÒæÌá¸ß£¬¹¦ÄÜÈÕÒæ·á¸»£¬ÆäµçÔ´½ôÕŵÄÎÊÌâÒ²ÈÕÒæÍ»³ö£¬¹úÄÚÐÂÍÆ³öµÄijЩ¾ßÓÐPDAµÈ¶àÖÖ¹¦ÄܵÄÖÇÄܵ绰ÔÚÃܼ¯Ê¹ÓÃÏÂÖ»ÄÜά³Ö°ëÌ죬¶àÊýÉãÏñ»ú
ºÍÊýÂëÏà»ú
ÔÚ
Ò»´Î³äµçºó¶¼Ö»ÓÐÒ»¸öСʱ×óÓÒµÄÀÛ»ý¹¤×÷ʱ¼ä¡£Linux×÷Ϊһ¸ö¿ª·ÅÔ´´úÂëµÄ²Ù×÷ϵͳ£¬ÓµÓзdz£·á¸»µÄÈí¼þ×ÊÔ´ºÍƽ̨֧³Ö£¬ÕâʹµÃǶÈëʽϵͳ¿ª·¢µÄÖÜÆÚ
´ó´óËõ¶Ì£¬Ô½À´Ô½¶àµÄÉÌÓúÍͨÓÃǶÈëʽϵͳ¶¼²ÉÓÃLinux×÷ΪÈí¼þƽ̨¡£Òò´ËÓбØÒª¶ÔLinuxϵͳµÄµçÔ´¹ÜÀí»úÖÆ½øÐÐÉîÈëÑо¿¡£
LinuxÄں˵çÔ´¹ÜÀí»úÖÆ·ÖÎö
¡¡¡¡ Linux×÷Ϊһ¸öÇ¿´ó¶ø³ÉÊìµÄ²Ù×÷ϵͳ£¬±¾ÉíÌṩÁËÒ»Ì×´ÓÓû§¿Õ¼äµ½ÏµÍ³¿Õ¼äµÄ£¬ÓÉÉ϶øÏµÄÈí¼þµçÔ´¹ÜÀí»úÖÆ¡£
µçÔ´¹ÜÀí×Óϵͳ
LinuxÄÚºËʵÏÖÁËÒ»¸öµçÔ´¹ÜÀí×ÓϵͳÓÃÓÚͳһ¹ÜÀíÿ¸öÉ豸¡£Ô´´úÂëpm.hºÍpm.cÖж¨ÒåºÍʵÏÖÁËÖ÷ÒªµÄ½Ó¿Ú
º¯Êý¡£Èç±í1Ëùʾ¡£
¡¡¡¡
¡¡¡¡ ͨ¹ýÕâЩ½Ó¿Úº¯Êý¾Í¿ÉÒÔ½«×Ô¼ºµÄÓ²¼þÉ豸ÄÉÈëµçÔ´¹ÜÀí×ÓϵͳʹÆä³ÉΪϵͳµçÔ´
¹ÜÀíµÄÒ»²¿·Ö¡£ÕâÐèÒªÔÚ±àдÉ豸Çý¶¯³ÌÐòµÄʱºòÍê³ÉÏÂÃæµÄ¹¤×÷:
¡¡¡¡(1)ÔÚ³õʼ»¯Çý¶¯Ê±£¬Ê¹ÓÃpm_ register¶ÔÉ豸µÄÿ¸öʵÀý( instance)½øÐÐ×¢²á;ÔÚÇå³ýÇý¶¯Ê±Ê¹ÓÃpm_unregisterÀ´È¡ÏûÉ豸µÄ×¢²á¡£
¡¡¡¡(2)ÔÚ¶ÔÓ²¼þ½øÐвÙ×÷֮ǰµ÷ÓÃpm_access (ÕâÑù»á±£Ö¤É豸Òѱ»»½ÐѲ¢ÇÒ´¦ÓÚready״̬) ¡£
¡¡
¡¡(3)±àд×Ô¼ºµÄpm
_callbackº¯Êý¡£¿ª·¢ÈËÔ±Ó¦¸ÃÔÚÉ豸»òϵͳ½øÈësuspend״̬ʱ±£ÁôÉ豸ºÍϵͳµÄÉÏÏÂÎĵ½°²È«µÄµØ·½£¬²¢ÔÚÉ豸»òϵͳre
-sumeʱ»Ö¸´ÆäÉÏÏÂÎÄ£¬Ê¹Ö®Äܹ»¼ÌÐøÔËÐУ¬±àдpm_callbackº¯ÊýÊÇÇý¶¯ÊµÏÖÉ豸µçÔ´¹ÜÀíµÄÖØµã¡£
¡¡¡¡(4)µ±É豸²»ÔÚ±»Ê¹ÓõÄʱºòµ÷ÓÃpm_dev_idleº¯Êý£¬Õâ¸ö²Ù×÷ÊÇ¿ÉÑ¡µÄ£¬¿ÉÒÔÔöÇ¿É豸idle״̬µÄ¼à²âÄÜÁ¦¡£
µçÔ´¹ÜÀíÉ豸
¡¡
¡¡½«É豸¼ÓÈëµ½µçÔ´¹ÜÀí×Óϵͳºó£¬¸ÃÉ豸¾ÍÒѾÓÐÁË´¦ÀíµçÔ´¹ÜÀíÇëÇóµÄÄÜÁ¦£¬µ«ÊÇϵͳµÄµçÔ´¹ÜÀíÐÐΪ²¢²»»áÖ÷¶¯·¢Éú¡£Òò´Ë»¹ÐèÒªÒ»¸öµçÔ´¹ÜÀíÉ豸À´½ÓÊÜÓÃ
»§ÇëÇ󣬲úÉúµçÔ´¹ÜÀíÐÐΪ¡£ÕâÀïËùÖ¸µÄÉ豸²¢²»ÊÇÒ»¸öÕæÊµµÄÓ²¼þÉ豸£¬¶øÊÇÒ»¸öÔÚLinuxϵͳ¿Õ¼äÀï½ÓÊÜÓû§¿ØÖƵÄÐéÄâÉ豸£¬Ëü¿ÉÒÔÊÇÒ»¸ö¼òµ¥
Ïà¹ØÎĵµ£º
ѧ¶«Î÷£¬ÍùÍùʵÀý²ÅÊÇ×îÈÃÈ˸ÐÐËȤµÄ£¬ÀÏÊÇѧ»ù´¡ÀíÂÛ£¬²»¶¯ÊÖ£¬¸Ð¾õûÓгɾ͸У¬ºÇºÇ¡£
ÏÂÃæÏÈÀ´Ò»¸öʵÀý¡£ÎÒÃÇͨ¹ý´´½¨Á½¸öÏß³ÌÀ´ÊµÏÖ¶ÔÒ»¸öÊýµÄµÝ¼Ó¡£
»òÐíÕâ¸öʵÀýûÓÐʵ¼ÊÔËÓõļÛÖµ£¬µ«ÊÇÉÔ΢¸Ä¶¯Ò»Ï£¬ÎÒÃǾͿÉÒÔÓõ½ÆäËûµØ·½È¥À¡£
ÏÂÃæÊÇÎÒÃǵĴúÂ룺
/*thread_example.c : c multiple thread p ......
so_test.h£º
#include
#include
void test_a();
void test_b();
void test_c();
test_a.c£º
#include "so_test.h"
void test_a()
{
printf("this is in test_a...\n");
}
test_b.c£º
#include "so_test.h"
void test_b()
{
printf("this is in test_b...\n");
......
ϵͳÖеĽ©Ê¬½ø³Ì¶¼ÒªÓÉwaitϵͳµ÷ÓÃÀ´»ØÊÕ£¬ÏÂÃæ¾Íͨ¹ýʵս¿´Ò»¿´waitµÄ¾ßÌåÓ÷¨£º
waitµÄº¯ÊýÔÐÍÊÇ£º
#include <sys/types.h> /* ÌṩÀàÐÍpid_tµÄ¶¨Òå */
#include <sys/wait.h>
pid_t wait(int *status);
½ø³ÌÒ»µ©µ÷ÓÃÁËwait£¬¾ÍÁ¢¼´×èÈû×Ô¼º£¬ÓÉwait×Ô¶¯·ÖÎöÊÇ·ñµ±Ç°½ø³ÌµÄij¸ö×Ó½ø³ÌÒѾÍ˳ö£¬Èç¹ûÈ ......
×÷Õߣº±±ÄÏÄϱ±
À´×Ô£ºLinuxSir.Org
ÕªÒª£º±¾ÎÄÊǹØÓÚLinux²Ù×÷ϵͳÖ÷»úÃû(hostname)µÄÎĵµ£¬¶ÔÖ÷ÒªÅäÖÃÎļþ/etc/hosts½øÐмòÒªµÄ˵Ã÷ £»ÁíÍâ¶Ô»ùÅä¾ß¹¤¾ßhostnameÒ²½øÐÐÁ˾ÙÀý˵Ã÷£» »¶Ó¸ßÊÖ¸«Õý£¬Ð»Ð»£»
Ŀ¼
2.1 Ö÷»úÃûÅäÖÃÎļþ /etc/hosts½â˵£»
2.2 Ö÷»úÃû(hostname)ºÍÓòÃû(Domain£©µÄÇø±ð£»
......
ubuntu: ÐÞ¸ÄΪmaserat1
1) ÐÞ¸Ä /etc/hostname
master1
2£© /etc/hosts
127.0.0.1 localhost.localdomain localhost
172.16.111.102 master1.localdomain master1
172.16.111.103 slaver1.localdomain slaver1
172.16.111.106 slaver2.localdomain slaver2
3£© ÖØÆôÍøÂç
Redhat ÐÞ¸ÄΪslaver2
1) Ð ......