LinuxÉ豸Çý¶¯³ÌÐò ÓëÓ²¼þͨÐÅ18051101072
I/O ¶Ë¿ÚºÍ I/O ÄÚ´æ
ÿÖÖÍâÉè¶¼ÊÇͨ¹ý¶Áд¼Ä´æÆ÷À´½øÐпØÖÆ¡£
ÔÚÓ²¼þ²ã£¬ÄÚ´æÇøºÍ I/O ÇøÓòûÓиÅÄîÉϵÄÇø±ð: ËüÃǶ¼ÊÇͨ¹ýÏòÔÚµØÖ·×ÜÏߺͿØÖÆ×ÜÏß·¢³öµçƽÐźÅÀ´½øÐзÃÎÊ£¬ÔÙͨ¹ýÊý¾Ý×ÜÏß¶ÁдÊý¾Ý¡£
ÒòΪÍâÉèÒªÓëI\O×ÜÏ߯¥Å䣬¶ø´ó²¿·ÖÁ÷ÐÐµÄ I/O ×ÜÏßÊÇ»ùÓÚ¸öÈ˼ÆËã»úÄ£ÐÍ£¨Ö÷ÒªÊÇ x86 ¼Ò×壺ËüΪ¶ÁºÍд I/O ¶Ë¿ÚÌṩÁ˶ÀÁ¢µÄÏß·ºÍÌØÊâµÄ CPU Ö¸Á£¬ËùÒÔ¼´±ãÄÇЩûÓе¥¶ÀI/O ¶Ë¿ÚµØÖ·¿Õ¼äµÄ´¦ÀíÆ÷£¬ÔÚ·ÃÎÊÍâÉèʱҲҪģÄâ³É¶ÁдI\O¶Ë¿Ú¡£ÕâÒ»¹¦ÄÜͨ³£ÓÉÍâΧоƬ×飨PC ÖеÄÄϱ±ÇÅ£©»ò CPU Öеĸ½¼Óµç·ʵÏÖ£¨Ç¶ÈëʽÖеķ½·¨£© ¡£
Linux ÔÚËùÓеļÆËã»úƽ̨ÉÏʵÏÖÁË I/O ¶Ë¿Ú¡£µ«²»ÊÇËùÓеÄÉ豸¶¼½«¼Ä´æÆ÷Ó³Éäµ½
I/O ¶Ë¿Ú¡£ËäÈ»ISAÉ豸ÆÕ±éʹÓà I/O ¶Ë¿Ú£¬µ«´ó²¿·Ö PCI É豸Ôò°Ñ¼Ä´æÆ÷Ó³É䵽ij¸öÄÚ´æµØÖ·Çø£¬ÕâÖÖ I/O
ÄÚ´æ·½·¨Í¨³£ÊÇÊ×Ñ¡µÄ¡£ÒòΪËüÎÞÐèʹÓÃÌØÊâµÄ´¦ÀíÆ÷Ö¸ÁCPU
ºË·ÃÎÊÄÚ´æ¸üÓÐЧÂÊ£¬ÇÒ±àÒëÆ÷ÔÚ·ÃÎÊÄÚ´æÊ±ÔڼĴæÆ÷·ÖÅäºÍѰַģʽµÄÑ¡ÔñÉÏÓиü¶à×ÔÓÉ¡£
I/O ¼Ä´æÆ÷ºÍ³£¹æÄÚ´æ
ÔÚ½øÈëÕⲿ·ÖѧϰµÄʱºò£¬Ê×ÏÈÒªÀí½âÒ»¸ö¸ÅÄside
effect£¬ÊéÖÐÒëΪ±ß¼ÊЧӦ£¬µÚ¶þ°æÒëΪ¸±×÷Óá£ÎÒ¾õµÃ²»¹ÜËüÊÇÔõô±»·ÒëµÄ£¬¶¼²»¿ÉÄܾ«×¼±í´ïÔ×÷ÕßµÄÒâ˼£¬ËùÒÔÎÒ¸öÈËÈÏΪ¼Çסside
effect¾ÍºÃ¡£ÏÂÃæÀ´½²½²side effectµÄº¬Òå¡£ÎÒÏÈÌù³öÁ½¸öÍøÉÏÒÑÓеÄÁ½ÖÖ˵·¨£¨ÔÚÕâÀïллÁ½Î»¸ßÈ˵ķÖÏí£©£º
µÚÒ»ÖÖ˵·¨£º
3. side effect£¨ÒëΪ±ß¼ÊЧӦ»ò¸±×÷Óã©£ºÊÇÖ¸¶Áȡij¸öµØÖ·Ê±¿ÉÄܵ¼Ö¸õØÖ·ÄÚÈÝ·¢Éú±ä»¯£¬±ÈÈ磬ÓÐЩÉ豸µÄÖжÏ״̬¼Ä´æÆ÷Ö»ÒªÒ»¶ÁÈ¡£¬±ã×Ô¶¯ÇåÁã¡£I/O¼Ä´æÆ÷µÄ²Ù×÷¾ßÓÐside effect£¬Òò´Ë£¬²»ÄÜ¶ÔÆä²Ù×÷²»ÄÜʹÓÃcpu»º´æ¡£
ÔÎÄÍøÖ·£º
http://qinbh.blog.sohu.com/62733495.html
µÚ¶þÖÖ˵·¨£º
˵һÏÂÎÒµÄÀí½â£ºI/O¶Ë¿ÚÓëʵ¼ÊÍⲿÉ豸Ïà¹ØÁª£¬Í¨¹ý·ÃÎÊI/O¶Ë¿Ú¿ØÖÆÍⲿÉ豸£¬“±ß¼ÊЧӦ”ÊÇÖ¸¿ØÖÆÉ豸£¨¶ÁÈ¡»òдÈ룩ÉúЧ£¬·ÃÎÊI/O¿ÚµÄ
Ö÷ҪĿµÄ¾ÍÊDZ߼ÊЧӦ£¬²»Ïñ·ÃÎÊÆÕͨµÄÄڴ棬ֻÊÇÔÚÒ»¸öλÖô洢»ò¶Áȡһ¸öÊýÖµ£¬Ã»ÓбðµÄº¬ÒåÁË¡£ÎÒÊÇ»ùÓÚARMƽ̨Àí½âµÄ£¬ÔÚ¡¶linuxÉ豸Çý¶¯³Ì
Ðò¡·µÚ¶þ°æÖеÄ˵·¨ÊÇ“¸±×÷ÓÔ£¬²»ÊÇ“±ß¼ÊЧӦ”¡£
ÔÎÄÍøÖ·£º
http://linux.chinaunix.net/bbs/viewthread.php?tid=890636&page=1#pid6312646
½áºÏÒÔÉÏÁ½ÖÖ˵·¨ºÍ×Ô¼º¿´¡¶LinuxÉ豸Çý¶¯³ÌÐò£¨µÚ3°æ£©¡·µÄÀí½â£¬ÎÒ¸öÈËÈÏΪ¿ÉÒÔÕâÑù½âÊÍ£º
side effect
ÊÇÖ¸£º·ÃÎÊI/O¼Ä´æÆ÷ʱ£¬²»½ö½ö»áÏñ·ÃÎÊÆÕͨÄ
Ïà¹ØÎĵµ£º
Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......
ÍøÉÏÓкܶàµÄ·½·¨£¬¹ØÓÚÍü¼ÇlinuxµÇ¼ÃÜÂëÖ®ºóÓ¦¸ÃÔõô°ì¡£ÓÐÎåÖÖ·½·¨£¬¶¼ºÜºÃ¡£
±¾ÈËÒÔΪÓÃgrubÒýµ¼µÄÄÇÖÖ×îʵÓ㬺Ǻǣ¡ÊÔÁËһϣ¬¹ûÈ»¿ÉÒÔ£¡£¡
grubÒýµ¼
1. ÔÚ³öÏÖgrub»ÃæÊ±£¬Ñ¡ÔñlinuxÒýµ¼ÏȻºó°´e¼ü
2. Ñ¡ÔñÒÔkernel¿ªÍ·µÄÒ»ÐУ¬ÔÙ°´e ¼ü£¬ÔÚ´ËÐеÄĩ⣬°´¿Õ¸ñ¼üºóÊäÈësingle£¬ÒԻسµ¼üÀ´Í˳ö±à¼Ä£Ê½£» ......
vi /etc/rc.d/rc.local
Ôö¼Ó£º/usr/local/httpd/bin/apachectl start
2£º[×¢²áΪService]
cp /usr/local/httpd/bin/apachectl /etc/rc.d/init.d/httpd
vi httpd
ÕÒµ½£º#!/bin/sh
ÁíÆðÒ»ÐУ¬Ôö¼Ó£º
# chkconfig: 35 70 30
ÆäÖÐËùÔö¼ÓµÄµÚ¶þÐÐÖÐÈý¸öÊý×ÖµÚÒ»¸ö±íʾÔÚÔËÐм¶±ð3ºÍ5ÏÂÆô¶¯apache£¬µÚ¶þ¡¢ÈýÊǹØÓÚÆô¶¯ºÍÍ ......
¢Ùmallocº¯Êý
ÔÐÍ£ºextern void *malloc(unsigned int num_bytes);
Í·Îļþ£º#include <alloc.h>
¹¦ÄÜ£º·ÖÅ䳤¶ÈΪnum_bytes×Ö½ÚµÄÄÚ´æ¿é¡£
˵Ã÷£ºÈç¹û·ÖÅä³É¹¦Ôò·µ»ØÖ¸Ïò±»·ÖÅäÄÚ´æµÄÖ¸Õ룬·ñÔò·µ»Ø¿ÕÖ¸ÕëNULL¡£µ±ÄÚ´æ²»ÔÙʹÓÃʱ£¬Ó¦Ê¹ÓÃfree()º¯Êý½«ÄÚ´æ¿éÊÍ·Å¡£
¾ÙÀý£º
#inclu ......
cfengine£¨ÅäÖÃÒýÇæ£©ÊÇÒ»ÖÖ UNIX ¹ÜÀí¹¤¾ß£¬ÆäÄ¿µÄÊÇʹ¼òµ¥µÄ¹ÜÀíµÄÈÎÎñ×Ô¶¯»¯£¬Ê¹À§ÄѵÄÈÎÎñ±äµÃ½ÏÈÝÒס£Cfengine
ÊÊÓÃÓÚ¹ÜÀí¸÷ÖÖ»·¾³£¬´Óһ̨Ö÷»úµ½ÉÏÍǫ̀Ö÷»úµÄ»úȺ¾ù¿ÉʹÓᣵ½2.2 °æ±¾ÎªÖ¹£¬ÎÒÃÇÏÖÔÚËùÖªµÄÓÃÓÚÒ»°ãÐÔ¹ÜÀíµÄ×î´ó°²×°»úȺԼΪ20£¬000 ̨¡£
ͼ-1 ÊÇCfengine µÄ×é³É²¿·ÖµÄ¹ØÏµÍ¼ ¡£
  ......