Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ : linux

2)Linux³ÌÐòÉè¼ÆÈëÃÅ

2)Linux³ÌÐòÉè¼ÆÈëÃÅ--½ø³Ì½éÉÜ
LinuxϽø³ÌµÄ´´½¨
ǰÑÔ:
ÕâÆªÎÄÕÂÊÇÓÃÀ´½éÉÜÔÚLinuxϺͽø³ÌÏà¹ØµÄ¸÷¸ö¸ÅÄî.ÎÒÃǽ«»áѧµ½:
½ø³ÌµÄ¸ÅÄî
½ø³ÌµÄÉí·Ý
½ø³ÌµÄ´´½¨
ÊØ»¤½ø³ÌµÄ´´½¨
----------------------------------------------------------------------------
----
1¡£½ø³ÌµÄ¸ÅÄî
Linux²Ù×÷ϵͳÊÇÃæÏò¶àÓû§µÄ.ÔÚͬһʱ¼ä¿ÉÒÔÓÐÐí¶àÓû§Ïò²Ù×÷ϵͳ·¢³ö¸÷ÖÖÃü
Áî.ÄÇô²Ù×÷ϵͳÊÇÔõôʵÏÖ¶àÓû§µÄ»·¾³ÄØ? ÔÚÏÖ´úµÄ²Ù×÷ϵͳÀïÃæ,¶¼ÓгÌÐòºÍ½ø³Ì
µÄ¸ÅÄî.ÄÇôʲôÊdzÌÐò,ʲôÊǽø³ÌÄØ? ͨË׵Ľ²³ÌÐòÊÇÒ»¸ö°üº¬¿ÉÒÔÖ´ÐдúÂëµÄÎļþ
,ÊÇÒ»¸ö¾²Ì¬µÄÎļþ.¶ø½ø³ÌÊÇÒ»¸ö¿ªÊ¼Ö´Ðе«ÊÇ»¹Ã»ÓнáÊøµÄ³ÌÐòµÄʵÀý.¾ÍÊÇ¿ÉÖ´ÐÐÎÄ
¼þµÄ¾ßÌåʵÏÖ. Ò»¸ö³ÌÐò¿ÉÄÜÓÐÐí¶à½ø³Ì,¶øÃ¿Ò»¸ö½ø³ÌÓÖ¿ÉÒÔÓÐÐí¶à×Ó½ø³Ì.ÒÀ´ÎÑ­»·
ÏÂÈ¥,¶ø²úÉú×ÓËï½ø³Ì. µ±³ÌÐò±»ÏµÍ³µ÷Óõ½ÄÚ´æÒÔºó,ϵͳ»á¸ø³ÌÐò·ÖÅäÒ»¶¨µÄ×ÊÔ´(ÄÚ
´æ,É豸µÈµÈ)È»ºó½øÐÐһϵÁеĸ´ÔÓ²Ù×÷,ʹ³ÌÐò±ä³É½ø³ÌÒÔ¹©ÏµÍ³µ÷ÓÃ.ÔÚϵͳÀïÃæÖ»
Óнø³ÌûÓгÌÐò,ΪÁËÇø·Ö¸÷¸ö²»Í¬µÄ½ø³Ì,ϵͳ¸øÃ¿Ò»¸ö½ø³Ì·ÖÅäÁËÒ»¸öID(¾ÍÏóÎÒÃǵÄ
Éí·ÝÖ¤)ÒÔ±ãʶ±ð. ΪÁ˳ä·ÖµÄÀûÓÃ×ÊÔ´,ϵͳ»¹¶Ô½ø³ÌÇø·ÖÁ˲»Í¬µÄ״̬.½«½ø³Ì·ÖΪÐÂ
½¨,ÔËÐÐ ......

linux´®¿ÚÓ¦Óÿª·¢

linux´®¿ÚÓ¦Óÿª·¢
2009Äê10ÔÂ20ÈÕ ÐÇÆÚ¶þ 14:16
1¡¢´®¿Ú¸ÅÊö
    Óû§³£¼ûµÄÊý¾ÝͨÐŵĻù±¾·½Ê½ÓÐÁ½ÖÖ£º²¢ÐÐͨÐźʹ®ÐÐͨÐÅ¡£
    ´®ÐÐͨÐÅÊǼÆËã»ú³£ÓõĽӿڣ¬È磺RS-232-C½Ó¿Ú¡£¸Ã±ê×¼¹æ¶¨²ÉÓÃÒ»¸öDB25оÒý½ÅÁ¬½ÓÆ÷»òDB9оÒý½ÅÁ¬½ÓÆ÷¡£Ð¾Æ¬ÄÚ²¿³£¾ßÓÐUART¿ØÖÆÆ÷£¬Æä¿É¹¤×÷ÓÚInterrupt(ÖжÏģʽ)»òDMA£¨Ö±½ÓÄÚ´æ·ÃÎÊ£©Ä£Ê½¡£
     UARTµÄ²Ù×÷Ö÷Òª°üÀ¨ÒÔϼ¸¸ö²¿·Ö£º
Êý¾Ý·¢ËÍ£»Êý¾Ý½ÓÊÕ£»²úÉúÖжϣ»²úÉú²¨ÌØÂÊ£»Loopbackģʽ£»ºìÍâģʽ£»×Ô¶¯Á÷¿ØÄ£Ê½¡£
    ´®¿Ú²ÎÊýµÄÅäÖÃÖ÷Òª°üÀ¨£º²¨ÌØÂÊ¡¢Êý¾Ýλ¡¢Í£Ö¹Î»¡¢Á÷¿ØÐ­Òé
    linuxÖеĴ®¿ÚÉ豸Îļþ´æ·ÅÓÚ/devĿ¼Ï£¬ÆäÖд®¿ÚÒ»£¬´®¿Ú¶þ¶ÔÓ¦É豸ÃûÒÀ´ÎΪ“/dev/ttyS0”¡¢“/dev/ttyS1”¡£ÔÚlinuxϲÙ×÷´®¿ÚÓë²Ù×÷ÎļþÏàͬ¡£
2¡¢´®¿ÚÏêϸÅäÖÃ
   ÔÚʹÓô®¿Ú֮ǰ±ØÐëÉèÖÃÏà¹ØÅäÖ㬰üÀ¨£º²¨ÌØÂÊ¡¢Êý¾Ýλ¡¢Ð£Ñéλ¡¢Í£Ö¹Î»µÈ¡£
´®¿ÚÉèÖÃÓÉÏÂÃæ½á¹¹ÌåʵÏÖ£º
Struct termios {
tcflag_t c_iflag; /*input flags */
tcflag_t c_oflag; /*output flags */
tcflag_t c_cflag; /*control flags */
tc ......

3)Linux³ÌÐòÉè¼ÆÈëÃÅ

3)Linux³ÌÐòÉè¼ÆÈëÃÅ--Îļþ²Ù×÷
LinuxÏÂÎļþµÄ²Ù×÷
ǰÑÔ:
ÎÒÃÇÔÚÕâÒ»½Ú½«ÒªÌÖÂÛlinuxÏÂÎļþ²Ù×÷µÄ¸÷¸öº¯Êý.
ÎļþµÄ´´½¨ºÍ¶Áд
ÎļþµÄ¸÷¸öÊôÐÔ
Ŀ¼ÎļþµÄ²Ù×÷
¹ÜµÀÎļþ
----------------------------------------------------------------------------
----
1¡£ÎļþµÄ´´½¨ºÍ¶Áд
ÎÒ¼ÙÉèÄãÒѾ­ÖªµÀÁ˱ê×¼¼¶µÄÎļþ²Ù×÷µÄ¸÷¸öº¯Êý(fopen,fread,fwriteµÈµÈ).µ±È»
Èç¹ûÄã²»Çå³þµÄ»°Ò²²»Òª×ż±.ÎÒÃÇÌÖÂÛµÄϵͳ¼¶µÄÎļþ²Ù×÷ʵ¼ÊÉÏÊÇΪ±ê×¼¼¶Îļþ²Ù×÷
·þÎñµÄ.
µ±ÎÒÃÇÐèÒª´ò¿ªÒ»¸öÎļþ½øÐжÁд²Ù×÷µÄʱºò,ÎÒÃÇ¿ÉÒÔʹÓÃϵͳµ÷Óú¯Êýopen.ʹÓÃÍê
³ÉÒÔºóÎÒÃǵ÷ÓÃÁíÍâÒ»¸öcloseº¯Êý½øÐйرղÙ×÷.
#include <fcntl.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
int open(const char *pathname,int flags);
int open(const char *pathname,int flags,mode_t mode);
int close(int fd);
openº¯ÊýÓÐÁ½¸öÐÎʽ.ÆäÖÐpathnameÊÇÎÒÃÇÒª´ò¿ªµÄÎļþÃû(°üº¬Â·¾¶Ãû³Æ,ȱʡÊÇÈÏΪÔÚ
µ±Ç°Â·¾¶ÏÂÃæ).flags¿ÉÒÔÈ¥ÏÂÃæµÄÒ»¸öÖµ»òÕßÊǼ¸¸öÖµµÄ×éºÏ.
O_RDONLY:ÒÔÖ»¶ÁµÄ·½Ê½´ò¿ªÎļþ.
O_WRONLY:ÒÔֻдµÄ· ......

5)Linux³ÌÐòÉè¼ÆÈëÃÅ

5)Linux³ÌÐòÉè¼ÆÈëÃÅ--ÐźŴ¦Àí
LinuxϵÄÐźÅʼþ
ǰÑÔ:ÕâÒ»ÕÂÎÒÃÇÌÖÂÛÒ»ÏÂLinuxϵÄÐźŴ¦Àíº¯Êý.
LinuxϵÄÐźŴ¦Àíº¯Êý:
ÐźŵIJúÉú
ÐźŵĴ¦Àí
ÆäËüÐźź¯Êý
Ò»¸öʵÀý
1¡£ÐźŵIJúÉú
LinuxϵÄÐźſÉÒÔÀà±ÈÓÚDOSϵÄINT»òÕßÊÇWindowsϵÄʼþ.ÔÚÓÐÒ»¸öÐźŷ¢Éúʱ
ºòÏàÐŵÄÐźžͻᷢË͸øÏàÓ¦µÄ½ø³Ì.ÔÚLinuxϵÄÐźÅÓÐÒÔϼ¸¸ö. ÎÒÃÇʹÓà kill -l
ÃüÁî¿ÉÒԵõ½ÒÔϵÄÊä³ö½á¹û:
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD
18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN
22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO
30) SIGPWR
¹ØÓÚÕâЩÐźŵÄÏêϸ½âÊÍÇë²é¿´man 7 signalµÄÊä³ö½á¹û. ÐźÅʼþµÄ·¢ÉúÓÐÁ½¸öÀ´Ô´
:Ò»¸öÊÇÓ²¼þµÄÔ­Òò(±ÈÈçÎÒÃǰ´ÏÂÁ˼üÅÌ),Ò»¸öÊÇÈí¼þµÄÔ­Òò(±ÈÈçÎÒÃÇʹÓÃϵͳº¯Êý»ò
ÕßÊÇÃüÁî·¢³öÐźÅ). ×î³£ÓõÄËĸö·¢³öÐźŵÄϵͳº¯ÊýÊÇkill, raise, alarmºÍsetit
imerº¯Êý. setitimerº¯ÊýÎÒÃÇÔÚ¼ÆÊ±Æ÷ ......

6)Linux³ÌÐòÉè¼ÆÈëÃÅ

6)Linux³ÌÐòÉè¼ÆÈëÃÅ--ÏûÏ¢¹ÜÀí
ǰÑÔ:LinuxϵĽø³ÌͨÐÅ(IPC)
LinuxϵĽø³ÌͨÐÅ(IPC)
POSIXÎÞÃûÐźÅÁ¿
System VÐźÅÁ¿
System VÏûÏ¢¶ÓÁÐ
System V¹²ÏíÄÚ´æ
1¡£POSIXÎÞÃûÐźÅÁ¿ Èç¹ûÄãѧϰ¹ý²Ù×÷ϵͳ,ÄÇô¿Ï¶¨ÊìϤPV²Ù×÷ÁË.PV²Ù×÷ÊÇÔ­×Ó
²Ù×÷.Ò²¾ÍÊDzÙ×÷ÊDz»¿ÉÒÔÖжϵÄ,ÔÚÒ»¶¨µÄʱ¼äÄÚ,Ö»Äܹ»ÓÐÒ»¸ö½ø³ÌµÄ´úÂëÔÚCPUÉÏÃæ
Ö´ÐÐ.ÔÚϵͳµ±ÖÐ,ÓÐʱºòΪÁË˳ÀûµÄʹÓúͱ£»¤¹²Ïí×ÊÔ´,´ó¼ÒÌá³öÁËÐźŵĸÅÄî. ¼ÙÉè
ÎÒÃÇҪʹÓÃһ̨´òÓ¡»ú,Èç¹ûÔÚͬһʱ¿ÌÓÐÁ½¸ö½ø³ÌÔÚÏò´òÓ¡»úÊä³ö,ÄÇô×îÖյĽá¹û»á
ÊÇÊ²Ã´ÄØ.ΪÁË´¦ÀíÕâÖÖÇé¿ö,POSIX±ê×¼Ìá³öÁËÓÐÃûÐźÅÁ¿ºÍÎÞÃûÐźÅÁ¿µÄ¸ÅÄî,ÓÉÓÚLi
nuxֻʵÏÖÁËÎÞÃûÐźÅÁ¿,ÎÒÃÇÔÚÕâÀï¾ÍÖ»ÊǽéÉÜÎÞÃûÐźÅÁ¿ÁË. ÐźÅÁ¿µÄʹÓÃÖ÷ÒªÊÇÓÃ
À´±£»¤¹²Ïí×ÊÔ´,ʹµÄ×ÊÔ´ÔÚÒ»¸öʱ¿ÌÖ»ÓÐÒ»¸ö½ø³ÌËùÓµÓÐ.Ϊ´ËÎÒÃÇ¿ÉÒÔʹÓÃÒ»¸öÐźÅ
µÆ.µ±ÐźŵƵÄֵΪij¸öÖµµÄʱºò,¾Í±íÃ÷´Ëʱ×ÊÔ´²»¿ÉÒÔʹÓÃ.·ñÔò¾Í±í>ʾ¿ÉÒÔʹÓÃ.
ΪÁËÌṩЧÂÊ,ϵͳÌṩÁËÏÂÃæ¼¸¸öº¯Êý
POSIXµÄÎÞÃûÐźÅÁ¿µÄº¯ÊýÓÐÒÔϼ¸¸ö:
#include <semaphore.h>
int sem_init(sem_t *sem,int pshared,unsigned int value);
int sem_destroy(sem_t *sem);
int sem_wait ......

linuxÄÚºËÏà¹Ø»ù´¡

Ò»¡¢ÈÎÎñ¹ÜÀí
linuxÄں˵Ä3ÖÖµ÷¶È·½·¨¼ò½éÈçÏ£º
@SCHED_OTHER  ·Öʱµ÷¶È²ßÂÔ£¬½ø³ÌµÄȱʡÀàÐÍ£¬²ÉÓö¯Ì¬ÓÅÏȵ÷¶È²ßÂÔ£¬Ñ¡Ôñ½ø³ÌµÄÒÀ¾ÝÖ÷ÒªÊǸù¾Ý½ø³ÌgoognessÖµµÄ´óС£¬ÕâÖÖ½ø³ÌÔÚÔËÐÐʱ£¬¿ÉÒÔ±»¸ßgoodnessÖµµÄ½ø³ÌÇÀÏÈ£»
@SCHED_FIFO  ʵʱµ÷¶È²ßÂÔ£¬Ïȵ½ÏÈ·þÎñ£¬×ñÊØPOSIX1.b±ê×¼µÄFIFOµ÷¶È¹æÔò£¬Ëü»áÒ»Ö±ÔËÐУ¬Ö±µ½ÓÐÒ»¸ö½ø³ÌÒòI/O×èÈû£¬»òÕßÖ÷¶¯ÊÍ·Å´¦ÀíÆ÷£¬»òÕßÊÇ´¦ÀíÆ÷±»ÁíÒ»¸öÓиú¸ßrt_priorityµÄʵʱ½ø³ÌÇÀÏÈ£»
@SCHED_RR  ʵʱµ÷¶È²ßÂÔ£¬Ê±¼äƬÂÖת£¬×ñÊØPOSIX1.b±ê×¼µÄRR£¨Ñ­»·round-robin£©µ÷¶È¹æÔò£¬³ýÁËʱ¼äƬÓÐЩ²»Í¬Í⣬ÓëSCHED_FIFOÀàËÆ¡£
¶þ¡¢ÄÚ´æ¹ÜÀí
½ø³ÌÊÇÔËÐÐÓÚÐéÄâµØÖ·¿Õ¼äµÄÒ»¸ö³ÌÐò£¬¿ÉÒÔ˵£¬ÈçºÎÔÚlinuxϵͳÏÂÔËÐеijÌÐò¶¼Êǽø³Ì¡£LinuxϵͳÖаüÀ¨½»»¥½ø³ÌºÍÅú´¦Àí½ø³Ì¡£½»»¥½ø³ÌÊÇÓÉShell¿ØÖƺÍÔËÐеģ¬¼È¿ÉÒÔÔÚǰ̨ÔËÐУ¬Ò²¿ÉÒÔÔÚºǫ́ÔËÐС£Åú´¦Àí½ø³Ì²»ÊôÓÚij¸öÖÕ¶Ë£¬±»Ìá½»µ½Ò»¸ö¶ÓÁÐÖÐÒÔ±ã˳ÐòÖ´ÐС£´ó¶àÊýµÄ½ø³Ì¶¼ÐèÒªÐéÄâÄڴ棬ÐéÄâÄÚ´æ¼¼Êõ²»½ö½ö¿ÉÒÔʹÓøü¶àµÄÄڴ棬»¹ÌṩÁËÏÂÃæÕâЩ¹¦ÄÜ£º
1.Ôö¼ÓѰַ¿Õ¼ä
2.¹«Æ½µÄÎïÀíÄÚ´æ·ÖÅä
3.¹²ÏíÐéÄâÄÚ´æ
4.½ø³ÌµÄ±£»¤
Èý¡¢Îļþϵͳ
LinuxµÄÒ»¸ö×îÖØÒªµÄÌØµãÊÇËüÖ§³ÖºÜ ......
×ܼǼÊý:5772; ×ÜÒ³Êý:962; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [879] [880] [881] [882] 883 [884] [885] [886] [887] [888]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ