LINUX´®¿Ú¼òÃ÷½âÎö[ÐÞÕý°æ][0919]
LINUX´®¿Ú¼òÃ÷½âÎö[ÐÞÕý°æ][0919]
09-14
ÉÏÖܵÄʱºò£¬·¢ÁËÆªÎÄÕ£¬¹ØÓÚlinux´®¿ÚµÄ¡¾µ±È»³ÌÐòʦת±ðÈ˵썻¹ÊÇ·¢²¼ÔÚIBM¿ª·¢ÕßÉçÇøµÄàÏ£©¡¿£¬
ËäÈ»µ±Ê±ÄÜÅܵÄͨ£¬µ«ÕâÖÜÔÚÓõÄʱºòÈ´·¢ÏÖ²»ÐÐÁË£¬ÓÚÊǾö¶¨×ÐϸÑо¿ÏÂlinuxÏ´®¿ÚÕâ¶«Î÷£¡
µ±È»ÄǸö³ÌÐòÓÐÎÊÌ⣬¾ÍÒª×Ô¼ºÖØÐÂдÀ²¡£¡£¡£¡£¡£¡£OTZ ¡£¡£¡£¡£¶ö¡£¡£¡£ÎÒÏòÀ´±È½ÏÀÁ¡£¡£¡£¡£
µ±È»Ñо¿¹ý³ÌÖл¹ÊÇÃ÷°×Á˲»ÉÙ¶«Î÷µÄ
1£¬½â¾öminicomÆô¶¯ºó²ÅÄÜÕý³£¶ÁÈ¡Êý¾ÝµÄÎÊÌâ
2. ½â¾ö¶ÁÈ¡Êý¾ÝȱʧµÄÎÊÌâ
3. ѧϰʹÓÃselectº¯Ê½¼ì²â´®¿Ú״̬ÐÅÏ¢
¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£
µ±È»Õâ´Î˳´ø¼Óµã×Ô¼ºµÄ·ÖÎö
´®¿ÚµÄÅäÖÃÒ»°ãÒ²¾ÍÊDz¨ÌØÂÊ£¬Êý¾Ý¸ñʽÕâЩ¶«Î÷£¬¶ølinux»·¾³ÏÂÔòͨ¹ýÒ»ÃûΪtermiosµÄ½á¹¹Ìå¶ÔÆä½øÐÐÅäÖÃ
Æä³ÉÔ±ÈçÏÂ
Termios Structure Members
MemberDescription
c_cflag
Control options
c_lflag
Line options
c_iflag
Input options
c_oflag
Output options
c_cc
Control characters
c_ispeed
Input baud (new interface)
c_ospeed
Output baud (new interface)
¿´Ó¢ÎľͺÜÈÝÒ×Ã÷°×ÁË£¬ËùÒÔÎÒÒ²²»¶à˵ɶÁË¡£
Õâ¸ö½á¹¹ÌåÆäʵºÜ¼òµ¥£¬µ«ÆäÖÐÿһÏîµÄÅäÖÃÈ´Òª¸´ÔӵĶ࣬ʵ¼ÊÉÏÎÒҲûÓÐÖðÏîµÄѧϰ
Ö»ÊǼñÓÐÓõĿ´ÁËÏ£¬¶øÏÂÃæ¾ÍÊǹØÓÚÕâЩ֪ʶµÄ¼Ç¼¡£
1.´ò¿ª´®¿Ú
const char * serial_port[]={
"/dev/ttyS0",
"/dev/ttyS1",
"/dev/ttyS2",
"/dev/ttyS3",
"/dev/ttyS4"
};
int serial_open(int port)
{
int fd = open(serial_port[port], O_RDWR|O_NONBLOCK);
if (-1 == fd)
{
perror("Can't Open Serial Port");
exit (-1);
}
else
{
fcntl(fd, F_SETFL, 0);
}
return fd;
}
´ò¿ªÊ±Ò»°ã¿ÉÒÔÓÃO_RDWR £¬O_NOCTTY £¬ O_NDELAYÕâÈý¸ö²ÎÊýµÄ×éºÏ
·Ö±ð´ú±í¶Áд[µ±È»ÓжÔÓ¦Ö»¶Á£¬Ö»Ð´µÄ£¬²Â¶¼²Âµ½ÁË]£¬µÚ¶þ¸ö¸æËßϵͳ¸Ã´®¿Ú²»±»ÓÃÀ´×÷¿ØÖÆÖÕ¶Ë¡¾Ã»ÅªÃ÷°×£¬·´ÕýÒ»°ãÎÒÊDz»Ó㬼û¹ý¸úmodemͨÐŵijÌÐò»áÓõ½¡¿
×îºóÄǸö¾ÍÊDz»ÒªµÈµÄÒâ˼À²¡£¡£¡£¡£¡£¡£
2.ÅäÖô®¿Ú
typedef
enum { SERIAL_8N1=0, SERIAL_7E1=1, SERIAL_7O1=2, SERIAL_7S1=3 }serial_format;
voi
Ïà¹ØÎĵµ£º
ÈçºÎÓÃÓï¾äɱËÀËùÓÐoracle´ø(LOCAL=NO)µÄ½ø³Ì£¿
·½·¨Ò»£º(½øÈëoracleÓû§ÏÂ)
$ a=`ps -ef |grep oracle$ORACLE_SID|grep LOCAL=NO |awk '{print $2}'`
»òÕß (È¥³ýµ±Ç°grep½ø³Ì)
$ a=`ps -ef |grep oracle$ORACLE_SID|grep LOCAL=NO |grep -v grep|awk '{print $2}'`
$ echo $a
$ kill -9 $a
·½·¨¶þ£º£¨Ö±½Óɱ£©
$ p ......
Linux ´´½¨Îļþϵͳ¼°¹ÒÔØÎļþϵͳÁ÷³ÌÏê½â
×÷Õߣº±±ÄÏÄϱ±
À´×Ô£º LinuxSir.Org
ÕªÒª£º±¾ÎĶÔÐÂÔöÓ²ÅÌ£¬ÇиîÓ²ÅÌ£¬´´½¨Ó²ÅÌ·ÖÇø£¬ÎªÓ²ÅÌ·ÖÇø´´½¨Îļþϵͳ£¬ÒÔ¼°¼ÓÔØÎļþϵͳµÄÁ÷³Ì×ö×ܽáÐÔÂÛÊö£»Ö÷ÒªÊÇΪ³õѧÕßŪÇå³þÕâÒ»²Ù×÷¹ý³Ì£»±¾ÎÄ
Éæ¼°fdisk¡¢mkfs¡¢mount ... ... µÈ¹¤¾ß£»¶Ô/etc/fstab ½øÐÐÁ˽â˵£»»¹ÓдÅÅÌɨà ......
½ø³Ìµ÷¶ÈÕþ²ß¾ÍÊǵ÷¶ÈϵͳÖÖÄÄÒ»¸ö½ø³ÌÀ´CPUÔËÐС£ÕâÖÖµ÷¶È·Ö2²ã¿¼ÂÇ¡£
µÚÒ»²ã£¬½ø³Ì״̬Õâ¸öÊÇ×îÓÅÏÈ¿¼Âǵģ¬Ò²¾ÍÊÇ˵ÓÅÏȼ¶×î¸ßµÄ¡£ÔÚlinuxÖÐÖ»ÓоÍÐ÷̬µÄ½ø³Ì²ÅÓпÉÄܻᱻµ÷¶ÈÑ¡ÖÐÈ»ºóÕ¼ÓÐCPU£¬ÆäËü״̬µÄ½ø³Ì²»¿ÉÄÜÕ¼Óеĵ½CPU¡£ÏÂÃæÊÇlinuxÖнø³ÌµÄ״̬
TASK_RUNNING:¾ÍÐ÷״̬£¬µÃµ½CPU¾Í¿ÉÒÔÔËÐС£
TASK_INTERRU ......
¡¡2.4 ³£ÓõÄϵͳ֧³Ö
¡¡¡¡2.4.1 ÄÚ´æÉêÇëºÍÊÍ·Å
¡¡¡¡include/linux/kernel.hÀïÉùÃ÷ÁËkmalloc()ºÍkfree()¡£ÓÃÓÚÔÚÄÚºËģʽÏÂÉêÇëºÍÊÍ·ÅÄÚ´æ¡£
¡¡¡¡void *kmalloc(unsigned int len,int priority);
¡¡¡¡void kfree(void *__ptr);
¡¡¡¡ÓëÓû§Ä£Ê½ÏµÄmalloc()²»Í¬£¬kmalloc()Éê ......
IncludeµÄheaderÎļþ,Á¬½áÊý¾Ý¿â£¬ÏµÍ³¶¨Ò壬×ܹ²ÓÐÏÂÁÐÀ´Ô´Ö¸¶¨gccÈ¥ÄÇÕÒ¡£
µ±³õÔÚ±àÒëʱָ¶¨µÄ(ÔÚ~gcc/gcc/collect2.c:locatelib()
дÔÚspecsÄÚµÄ
ºóÀ´ÓÃ-D -I -LÖ¸¶¨µÄ
gcc»·¾³±äÁ¿É趨(±àÒëµÄʱºò)
ld.soµÄ»·¾³±äÁ¿(ÕâÊÇrun timeµÄʱºò£©
Ò»¡¢Í·Îļþ
gcc ÔÚ±àÒëʱÈçºÎȥѰÕÒËùÐèÒªµÄÍ·Îļþ £º
¡ùËùÒÔheader fil ......