Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
´ÓÊäÈë URL µ½ä¯ÀÀÆ÷½ÓÊյĹý³ÌÖз¢ÉúÁËʲôÊÂÇ飿
 
×÷Õߣºtrigkit4 À´Ô´£ºÂëÅ©Íø ·¢²¼ÓÚ£º2016-9-19
  2850  次浏览      31
 

´Ó´¥ÆÁµ½ CPU

Ê×ÏÈÊÇ¡¸ÊäÈë URL¡¹£¬´ó²¿·ÖÈ˵ĵÚÒ»·´Ó¦»áÊǼüÅÌ£¬²»¹ýΪÁËÓëʱ¾ã½ø£¬ÕâÀォ½éÉÜ´¥ÃþÆÁÉ豸µÄ½»»¥¡£

´¥ÃþÆÁÒ»ÖÖ´«¸ÐÆ÷£¬Ä¿Ç°´ó¶àÊÇ»ùÓÚµçÈÝ(Capacitive)À´ÊµÏֵģ¬ÒÔǰ¶¼ÊÇÖ±½Ó¸²¸ÇÔÚÏÔʾÆÁÉϵ쬲»¹ý×î½ü³öÏÖÁË 3 ÖÖǶÈëµ½ÏÔʾÆÁÖеļ¼Êõ£¬µÚÒ»ÖÖÊÇ iPhone 5 µÄ In-cell£¬ËüÄܼõСÁË 0.5 ºÁÃ׵ĺñ¶È£¬µÚ¶þÖÖÊÇÈýÐÇʹÓÃµÄ On-cell ¼¼Êõ£¬µÚÈýÖÖÊǹúÄÚ³§ÉÌϲ»¶ÓÃµÄ OGS È«ÌùºÏ¼¼Êõ£¬¾ßÌåϸ½Ú¿ÉÒÔÔĶÁÕâÆªÎÄÕ¡£

µ±ÊÖÖ¸ÔÚÕâ¸ö´«¸ÐÆ÷ÉÏ´¥Ãþʱ£¬ÓÐЩµç×ӻᴫµÝµ½ÊÖÉÏ£¬´Ó¶øµ¼Ö¸ÃÇøÓòµÄµçѹ±ä»¯£¬´¥ÃþÆÁ¿ØÖÆÆ÷оƬ¸ù¾ÝÕâ¸ö±ä»¯¾ÍÄܼÆËã³öËù´¥ÃþµÄλÖã¬È»ºóͨ¹ý×ÜÏß½Ó¿Ú½«ÐźŴ«µ½ CPU µÄÒý½ÅÉÏ¡£

ÒÔ Nexus 5 ΪÀý£¬ËüËùʹÓõĴ¥ÆÁ¿ØÖÆÆ÷ÊÇ Synaptics S3350B£¬×ÜÏß½Ó¿ÚΪ I2C£¬ÒÔÏÂÊÇ Synaptics ´¥ÃþÆÁºÍ´¦ÀíÆ÷Á¬½ÓµÄʾÀý£º

×ó±ßÊÇ´¦ÀíÆ÷£¬ÓÒ±ßÊÇ´¥ÃþÆÁ¿ØÖÆÆ÷£¬ÖмäµÄ SDA ºÍ SCL Á¬Ïß¾ÍÊÇ I2C ×ÜÏß½Ó¿Ú¡£

CPU ÄÚ²¿µÄ´¦Àí

ÒÆ¶¯É豸ÖÐµÄ CPU ²¢²»ÊÇÒ»¸öµ¥¶ÀµÄоƬ£¬¶øÊÇºÍ GPU µÈоƬ¼¯³ÉÔÚÒ»Æð£¬±»³ÆÎª SoC£¨Æ¬ÉÏϵͳ£©¡£

Ç°ÃæÌáµ½ÁË´¥ÆÁºÍ CPU µÄÁ¬½Ó£¬Õâ¸öÁ¬½ÓºÍ´ó²¿·Ö¼ÆËã»úÄÚ²¿µÄÁ¬½ÓÒ»Ñù£¬¶¼ÊÇͨ¹ýµçÆøÐźÅÀ´½øÐÐͨÐŵģ¬Ò²¾ÍÊǵçѹ¸ßµÍµÄ±ä»¯£¬ÈçÏÂÃæµÄʱÐòͼ£º

ÔÚʱÖӵĿØÖÆÏ£¬ÕâЩµçÁ÷»á¾­¹ý MOSFET ¾§Ìå¹Ü£¬¾§Ìå¹ÜÖаüº¬ N ÐͰ뵼ÌåºÍ P ÐͰ뵼Ì壬ͨ¹ýµçѹ¾ÍÄÜ¿ØÖÆÏß·¿ª±Õ£¬È»ºóÕâЩ MOSFET ¹¹³ÉÁË CMOS£¬½Ó×ÅÔÙÓÉ CMOS ʵÏÖ¡¸Ó롹¡¸»ò¡¹¡¸·Ç¡¹µÈÂß¼­µç·ÃÅ£¬×îºóÓÉÂß¼­µç·ÃÅÉϾÍÄÜʵÏÖ¼Ó·¨¡¢Î»ÒƵȼÆË㣬ÕûÌåÈçÏÂͼËùʾ£¨À´×Ô¡¶¼ÆËã»úÌåϵ½á¹¹¡·£©£º

³ýÁ˼ÆË㣬ÔÚ CPU Öл¹ÐèÒª´æ´¢µ¥ÔªÀ´¼ÓÔØºÍ´æ´¢Êý¾Ý£¬Õâ¸ö´æ´¢µ¥ÔªÒ»°ãͨ¹ý´¥·¢Æ÷(Flip-flop)À´ÊµÏÖ£¬³ÆÎª¼Ä´æÆ÷¡£

ÒÔÉÏÕâЩ¸ÅÄî¶¼±È½Ï³éÏó£¬ÍƼöÔĶÁ¡¸How to Build an 8-Bit Computer¡¹ÕâÆªÎÄÕ£¬×÷Õß»ùÓÚ¾§Ìå¹Ü¡¢¶þ¼«¹Ü¡¢µçÈݵÈÔ­¼þÖÆ×÷ÁËÒ»¸ö 8 λµÄ¼ÆËã»ú£¬Ö§³Ö¼òµ¥»ã±àÖ¸ÁîºÍ½á¹ûÊä³ö£¬ËäÈ»ÏÖ´ú CPU µÄʵÏÖÒª±ÈÕâ¸ö¸´Ôӵö࣬µ«»ù±¾Ô­Àí»¹ÊÇÒ»ÑùµÄ¡£

ÁíÍâÆäʵÎÒÒ²ÊǸտªÊ¼Ñ§Ï° CPU оƬµÄʵÏÖ£¬ËùÒԾͲ»ÔÚÕâÎóÈË×ÓµÜÁË£¬¸ÐÐËȤµÄ¶ÁÕßÇëÔĶÁ±¾½ÚºóÃæÍÆ¼öµÄÊé¼®¡£

´Ó CPU µ½²Ù×÷ϵͳÄÚºË

Ç°ÃæËµµ½´¥ÆÁ¿ØÖÆÆ÷½«µçÆøÐźŷ¢Ë͵½ CPU ¶ÔÓ¦µÄÒý½ÅÉÏ£¬½Óמͻᴥ·¢ CPU µÄÖжϻúÖÆ£¬ÒÔ Linux ΪÀý£¬Ã¿¸öÍⲿÉ豸¶¼ÓÐÒ»±êʶ·û£¬³ÆÎªÖжÏÇëÇó(IRQ)ºÅ£¬¿ÉÒÔͨ¹ý /proc/interrupts ÎļþÀ´²é¿´ÏµÍ³ÖÐËùÓÐÉ豸µÄÖжÏÇëÇóºÅ£¬ÒÔÏÂÊÇ Nexus 7 (2013) µÄ²¿·Ö½á¹û£º

ÒòΪ Nexus 7 ʹÓÃÁË ELAN µÄ´¥ÆÁ¿ØÖÆÆ÷£¬ËùÒÔ½á¹ûÖÐµÄ elan-ktf3k ¾ÍÊÇ´¥ÆÁµÄÖжÏÇëÇóÐÅÏ¢£¬ÆäÖÐ 294 ÊÇÖжϺţ¬1973609 ÊÇ´¥·¢µÄ´ÎÊý£¨ÊÖÖ¸µ¥»÷ʱ»á²úÉúÁ½´ÎÖжϣ¬µ«»¬¶¯Ê±»á²úÉúÉϰٴÎÖжϣ©¡£

ΪÁ˼ò»¯ÕâÀï²»¿¼ÂÇÓÅÏȼ¶ÎÊÌ⣬ÒÔ ARMv7 ¼Ü¹¹µÄ´¦ÀíÆ÷ΪÀý£¬µ±ÖжϷ¢Éúʱ£¬CPU »áͣϵ±Ç°ÔËÐеijÌÐò£¬±£´æµ±Ç°Ö´ÐÐ״̬£¨Èç PC Öµ£©£¬½øÈë IRQ ״̬£©£¬È»ºóÌø×ªµ½¶ÔÓ¦µÄÖжϴ¦Àí³ÌÐòÖ´ÐУ¬Õâ¸ö³ÌÐòÒ»°ãÓɵÚÈý·½ÄÚºËÇý¶¯À´ÊµÏÖ.

Õâ¸öÇý¶¯³ÌÐò½«¶ÁÈ¡ I2C ×ÜÏßÖд«À´µÄλÖÃÊý¾Ý£¬È»ºóͨ¹ýÄÚºËµÄ input_report_abs µÈ·½·¨¼Ç¼´¥ÆÁ°´ÏÂ×ø±êµÈÐÅÏ¢£¬×îºóÓÉÄÚºËÖÐµÄ input ×ÓÄ£¿é½«ÕâЩÐÅÏ¢¶¼Ð´½ø /dev/input/event0 Õâ¸öÉ豸ÎļþÖÐ.

´Ó²Ù×÷ϵͳ GUI µ½ä¯ÀÀÆ÷

Ç°ÃæÌáµ½ Linux ÄÚºËÒѾ­Íê³ÉÁ˶ÔÓ²¼þµÄ³éÏ󣬯äËü³ÌÐòÖ»ÐèҪͨ¹ý¼àÌý /dev/input/event0 ÎļþµÄ±ä»¯¾ÍÄÜÖªµÀÓû§½øÐÐÁËÄÄЩ´¥Ãþ²Ù×÷£¬²»¹ýÈç¹ûÿ¸ö³ÌÐò¶¼Õâô×öʵÔÚÌ«Âé·³ÁË£¬ËùÒÔÔÚͼÏñ²Ù×÷ϵͳÖж¼»á°üº¬ GUI ¿ò¼ÜÀ´·½±ãÓ¦ÓóÌÐò¿ª·¢£¬±ÈÈç Linux ÏÂÖøÃûµÄ X¡£

µ« Android ²¢Ã»ÓÐʹÓà X£¬¶øÊÇ×Ô¼ºÊµÏÖÁËÒ»Ì× GUI ¿ò¼Ü£¬ÆäÖÐÓиö EventHub µÄ·þÎñ»áͨ¹ý epoll ·½Ê½¼àÌý /dev/input/ Ŀ¼ÏµÄÎļþ£¬È»ºó½«ÕâЩÐÅÏ¢´«µÝµ½ Android µÄ´°¿Ú¹ÜÀí·þÎñ(WindowManagerService)ÖУ¬Ëü»á¸ù¾ÝλÖÃÐÅÏ¢À´²éÕÒÏàÓ¦µÄ app£¬È»ºóµ÷ÓÃÆäÖеļàÌýº¯Êý£¨Èç onTouch µÈ£©¡£

¾ÍÕâÑù£¬ÎÒÃǽâ´ðÁ˵ÚÒ»¸öÎÊÌ⣬²»¹ýÓÉÓÚʱ¼äÓÐÏÞ£¬ÕâÀïÊ¡ÂÔÁ˺ܶàϸ½Ú£¬Ïë½øÒ»²½Ñ§Ï°µÄ¶ÁÕßÍÆ¼öÔĶÁÒÔÏÂÊé¼®¡£

À©Õ¹Ñ§Ï°

¡¶¼ÆËã»úÌåϵ½á¹¹¡·

¡¶¼ÆËã»úÌåϵ½á¹¹£ºÁ¿»¯Ñо¿·½·¨¡·

¡¶¼ÆËã»ú×é³ÉÓëÉè¼Æ£ºÓ²¼þ/Èí¼þ½Ó¿Ú¡·

¡¶±àÂë¡·

¡¶CPU×ÔÖÆÈëÃÅ¡·

¡¶²Ù×÷ϵͳ¸ÅÄî¡·

¡¶ARMv7-AR Ìåϵ½á¹¹²Î¿¼Êֲᡷ

¡¶LinuxÄÚºËÉè¼ÆÓëʵÏÖ¡·

¡¶¾«Í¨LinuxÉ豸Çý¶¯³ÌÐò¿ª·¢¡·

ä¯ÀÀÆ÷ÈçºÎÏòÍø¿¨·¢ËÍÊý¾Ý£¿

´Óä¯ÀÀÆ÷µ½ä¯ÀÀÆ÷ÄÚºË

Ç°ÃæÌáµ½²Ù×÷ϵͳ GUI ½«ÊäÈëʼþ´«µÝµ½ÁËä¯ÀÀÆ÷ÖУ¬ÔÚÕâ¹ý³ÌÖУ¬ä¯ÀÀÆ÷¿ÉÄÜ»á×öһЩԤ´¦Àí£¬±ÈÈç Chrome »á¸ù¾ÝÀúʷͳ¼ÆÀ´Ô¤¹ÀËùÊäÈë×Ö·û¶ÔÓ¦µÄÍøÕ¾£¬±ÈÈçÊäÈëÁË¡¸ba¡¹£¬¸ù¾Ý֮ǰµÄÀúÊ··¢ÏÖ 90% µÄ¸ÅÂÊ»á·ÃÎÊ¡¸www.baidu.com ¡¹£¬Òò´Ë¾Í»áÔÚÊäÈë»Ø³µÇ°¾ÍÂíÉÏ¿ªÊ¼½¨Á¢ TCP Á´½ÓÉõÖÁäÖȾÁË£¬ÕâÀïÃæ»¹ÓкܶàÆäËü²ßÂÔ£¬¸ÐÐËȤµÄ¶ÁÕßÍÆ¼öÔĶÁ High Performance Networking in Chrome¡£

½Ó×ÅÊÇÊäÈë URL ºóµÄ¡¸»Ø³µ¡¹£¬Õâʱä¯ÀÀÆ÷»á¶Ô URL ½øÐмì²é£¬Ê×ÏÈÅжÏЭÒ飬Èç¹ûÊÇ http ¾Í°´ÕÕ Web À´´¦Àí£¬ÁíÍ⻹»á¶ÔÕâ¸ö URL ½øÐа²È«¼ì²é£¬È»ºóÖ±½Óµ÷ÓÃä¯ÀÀÆ÷ÄÚºËÖеĶÔÓ¦·½·¨£¬±ÈÈç WebView ÖÐµÄ loadUrl ·½·¨¡£

ÔÚä¯ÀÀÆ÷ÄÚºËÖлáÏȲ鿴»º´æ£¬È»ºóÉèÖà UA µÈ HTTP ÐÅÏ¢£¬½Ó×ŵ÷Óò»Í¬Æ½Ì¨ÏÂÍøÂçÇëÇóµÄ·½·¨¡£

ÐèҪעÒâä¯ÀÀÆ÷ºÍä¯ÀÀÆ÷ÄÚºËÊDz»Í¬µÄ¸ÅÄä¯ÀÀÆ÷Ö¸µÄÊÇ Chrome¡¢Firefox£¬¶øä¯ÀÀÆ÷ÄÚºËÔòÊÇ

Blink¡¢Gecko£¬ä¯ÀÀÆ÷ÄÚºËÖ»¸ºÔðäÖȾ£¬GUI ¼°ÍøÂçÁ¬½ÓµÈ¿çƽ̨¹¤×÷ÔòÊÇä¯ÀÀÆ÷ʵÏÖµÄ

HTTP ÇëÇóµÄ·¢ËÍ

ÒòÎªÍøÂçµÄµ×²ãʵÏÖÊǺÍÄÚºËÏà¹ØµÄ£¬ËùÒÔÕâÒ»²¿·ÖÐèÒªÕë¶Ô²»Í¬Æ½Ì¨½øÐд¦Àí£¬´ÓÓ¦Óòã½Ç¶È¿´Ö÷Òª×öÁ½¼þÊÂÇ飺ͨ¹ý DNS ²éѯ IP¡¢Í¨¹ý Socket ·¢ËÍÊý¾Ý£¬½ÓÏÂÀ´¾Í·Ö±ð½éÉÜÕâÁ½·½ÃæµÄÄÚÈÝ¡£

DNS ²éѯ

Ó¦ÓóÌÐò¿ÉÒÔÖ±½Óµ÷Óà Libc ÌṩµÄ getaddrinfo() ·½·¨À´ÊµÏÖ DNS ²éѯ¡£

DNS ²éѯÆäʵÊÇ»ùÓÚ UDP À´ÊµÏֵģ¬ÕâÀïÎÒÃÇͨ¹ýÒ»¸ö¾ßÌåÀý×ÓÀ´Á˽âËüµÄ²éÕÒ¹ý³Ì£¬ÒÔÏÂÊÇʹÓà dig +trace fex.baidu.com ÃüÁîµÃµ½µÄ½á¹û£¨Ê¡ÂÔÁËһЩ£©£º

172800 IN NS a.gtld-servers.net.

172800 IN NS c.gtld-servers.net.

172800 IN NS m.gtld-servers.net.

172800 IN NS h.gtld-servers.net.

172800 IN NS e.gtld-servers.net.

;; Received 503 bytes from 192.36.148.17#53(192.36.148.17) in 185 msbaidu.com. 172800 IN NS dns.baidu.com.

baidu.com. 172800 IN NS ns2.baidu.com.

baidu.com. 172800 IN NS ns3.baidu.com.

baidu.com. 172800 IN NS ns4.baidu.com.

baidu.com. 172800 IN NS ns7.baidu.com.

;; Received 201 bytes from 192.48.79.30#53(192.48.79.30) in 1237 msfex.baidu.com. 7200 IN CNAME fexteam.duapp.com.

fexteam.duapp.com. 300 IN CNAME duapp.n.shifen.com.

n.shifen.com. 86400 IN NS ns1.n.shifen.com.

n.shifen.com. 86400 IN NS ns4.n.shifen.com.

n.shifen.com. 86400 IN NS ns2.n.shifen.com.

n.shifen.com. 86400 IN NS ns5.n.shifen.com.

n.shifen.com. 86400 IN NS ns3.n.shifen.com.

;; Received 258 bytes from 61.135.165.235#53(61.135.165.235) in 2 ms

¿ÉÒÔ¿´µ½ÕâÊÇÒ»¸öÖð²½ËõС·¶Î§µÄ²éÕÒ¹ý³Ì£¬Ê×ÏÈÓɱ¾»úËùÉèÖÃµÄ DNS ·þÎñÆ÷(8.8.8.8)Ïò DNS ¸ù½Úµã²éѯ¸ºÔð .com ÇøÓòµÄÓòÎñÆ÷£¬È»ºóͨ¹ýÆäÖÐÒ»¸ö¸ºÔð .com µÄ·þÎñÆ÷²éѯ¸ºÔð baidu.com µÄ·þÎñÆ÷£¬×îºóÓÉÆäÖÐÒ»¸ö baidu.com µÄÓòÃû·þÎñÆ÷²éѯ fex.baidu.com ÓòÃûµÄµØÖ·¡£

¿ÉÄÜÄãÔÚ²éѯijЩÓòÃûµÄʱ»á·¢ÏÖºÍÉÏÃæ²»Ò»Ñù£¬×îµ×½«¿´µ½ÓиöÆæ¹ÖµÄ·þÎñÆ÷ÇÀÏÈ·µ»Ø½á¹û¡£¡£¡£

ÕâÀïΪÁË·½±ãÃèÊö£¬ºöÂÔÁ˺ܶ಻ͬµÄÇé¿ö£¬±ÈÈç 127.0.0.1 Æäʵ×ßµÄÊÇ loopback£¬ºÍÍø¿¨É豸û¹ØÏµ£»±ÈÈç Chrome »áÔÚä¯ÀÀÆ÷Æô¶¯µÄʱԤÏȲéѯ 10 ¸öÄãÓпÉÄÜ·ÃÎʵÄÓòÃû£»»¹ÓÐ Hosts Îļþ¡¢»º´æÊ±¼ä TTL(Time to live)µÄÓ°ÏìµÈ¡£

ͨ¹ý Socket ·¢ËÍÊý¾Ý

ÓÐÁË IP µØÖ·£¬¾Í¿ÉÒÔͨ¹ý Socket API À´·¢ËÍÊý¾ÝÁË£¬Õâʱ¿ÉÒÔÑ¡Ôñ TCP »ò UDP ЭÒ飬¾ßÌåʹÓ÷½·¨ÕâÀï¾Í²»½éÉÜÁË£¬ÍƼöÔĶÁBeej¡¯s Guide to Network Programming¡£

HTTP ³£ÓõÄÊÇ TCP ЭÒ飬ÓÉÓÚ TCP ЭÒéµÄ¾ßÌåϸ½Úµ½´¦¶¼ÄÜ¿´µ½£¬ËùÒÔ±¾ÎľͲ»½éÉÜÁË£¬ÕâÀï̸һÏ TCP µÄ Head-of-line blocking ÎÊÌ⣺¼ÙÉè¿Í»§¶ËµÄ·¢ËÍÁË 3 ¸ö TCP Ƭ¶Î(segments)£¬±àºÅ·Ö±ðÊÇ 1¡¢2¡¢3£¬Èç¹û±àºÅΪ 1 µÄ°ü´«Êäʱ¶ªÁË£¬¼´±ã±àºÅ 2 ºÍ 3 ÒѾ­µ½´ïÒ²Ö»Äܵȴý£¬ÒòΪ TCP ЭÒéÐèÒª±£Ö¤Ë³Ðò£¬Õâ¸öÎÊÌâÔÚ HTTP pipelining ϸüÑÏÖØ£¬ÒòΪ HTTP pipelining ¿ÉÒÔÈöà¸ö HTTP ÇëÇóͨ¹ýÒ»¸ö TCP ·¢ËÍ£¬±ÈÈç·¢ËÍÁ½ÕÅͼƬ£¬¿ÉÄܵڶþÕÅͼƬµÄÊý¾ÝÒѾ­È«ÊÕµ½ÁË£¬µ«»¹µÃµÈµÚÒ»ÕÅͼƬµÄÊý¾Ý´«µ½¡£

ΪÁ˽â¾ö TCP ЭÒéµÄÐÔÄÜÎÊÌ⣬Chrome ÍŶÓÈ¥ÄêÌá³öÁË QUIC ЭÒ飬ËüÊÇ»ùÓÚ UDP ʵÏֵĿɿ¿´«Ê䣬±ÈÆð TCP£¬ËüÄܼõÉٺܶàÀ´»Ø(round trip)ʱ¼ä£¬»¹ÓÐǰÏò¾À´íÂë(Forward Error Correction)µÈ¹¦ÄÜ¡£Ä¿Ç° Google Plus¡¢ Gmail¡¢Google Search¡¢blogspot¡¢Youtube µÈ¼¸ºõ´ó²¿·Ö Google ²úÆ·¶¼ÔÚʹÓà QUIC£¬¿ÉÒÔͨ¹ý chrome://net-internals/#spdy Ò³ÃæÀ´·¢ÏÖ¡£

ËäȻĿǰ³ýÁË Google »¹Ã»ÈËÓà QUIC£¬µ«ÎÒ¾õµÃͦÓÐǰ¾°µÄ£¬ÒòΪÓÅ»¯ TCP ÐèÒªÉý¼¶ÏµÍ³Äںˣ¨±ÈÈç Fast Open£©¡£

ä¯ÀÀÆ÷¶Ôͬһ¸öÓòÃûÓÐÁ¬½ÓÊýÏÞÖÆ£¬´ó²¿·ÖÊÇ 6£¬ÎÒÒÔǰÈÏΪ½«Õâ¸öÁ¬½ÓÊý¸Ä´óºó»áÌáÉýÐÔÄÜ£¬µ«Êµ¼ÊÉϲ¢²»ÊÇÕâÑùµÄ£¬Chrome

ÍŶÓÓÐ×ö¹ýʵÑ飬·¢ÏÖ´Ó6¸Ä³É10ºóÐÔÄÜ·´¶øÏ½µÁË£¬Ôì³ÉÕâ¸öÏÖÏóµÄÒòËØÓкܶ࣬È罨Á¢Á¬½ÓµÄ¿ªÏú¡¢ÓµÈû¿ØÖƵÈÎÊÌ⣬¶øÏñ

SPDY¡¢HTTP 2.0 ЭÒ龡¹ÜֻʹÓÃÒ»¸ö TCP Á¬½ÓÀ´´«ÊäÊý¾Ý£¬µ«ÐÔÄÜ·´¶ø¸üºÃ£¬¶øÇÒ»¹ÄÜʵÏÖÇëÇóÓÅÏȼ¶¡£

ÁíÍ⣬ÒòΪ HTTP ÇëÇóÊÇ´¿Îı¾¸ñʽµÄ£¬ËùÒÔÔÚ TCP µÄÊý¾Ý¶ÎÖпÉÒÔÖ±½Ó·ÖÎö HTTP µÄÎı¾£¬Èç¹û·¢ÏÖ¡£¡£¡£

Socket ÔÚÄÚºËÖеÄʵÏÖ

Ç°ÃæËµµ½ä¯ÀÀÆ÷µÄ¿çƽ̨¿âͨ¹ýµ÷Óà Socket API À´·¢ËÍÊý¾Ý£¬ÄÇô Socket API ÊÇÈçºÎʵÏÖµÄÄØ£¿

ÒÔ Linux ΪÀý£¬ËüµÄʵÏÖÔÚÕâÀï socket.c£¬Ä¿Ç°ÎÒ»¹²»Ì«ÁË½â£¬ÍÆ¼ö¶ÁÕß¿´¿´ Linux kernel map£¬Ëü±ê×¢³öÁ˹ؼü·¾¶µÄº¯Êý£¬·½±ãѧϰ´ÓЭÒéÕ»µ½Íø¿¨Çý¶¯µÄʵÏÖ¡£

µ×²ãÍøÂçЭÒéµÄ¾ßÌåÀý×Ó

½ÓÏÂÀ´Èç¹û¼ÌÐø½éÉÜ IP ЭÒéºÍ MAC ЭÒé¿ÉÄܺܶà¶ÁÕß»áÔΣ¬ËùÒÔ±¾½Ú½«Ê¹Óà Wireshark À´Í¨¹ý¾ßÌåÀý×Ó½²½â£¬ÒÔÏÂÊÇÎÒÇëÇó°Ù¶ÈÊ×ҳʱץȡµ½µÄÍøÂçÊý¾Ý£º

×îµ×ÏÂÊÇʵ¼ÊµÄ¶þ½øÖÆÊý¾Ý£¬ÖмäÊǽâÎö³öÀ´µÄ¸÷¸ö×Ö¶ÎÖµ£¬¿ÉÒÔ¿´µ½ÆäÖÐ×îµ×²¿Îª HTTP ЭÒé(Hypertext Transfer Protocol)£¬ÔÚ HTTP ֮ǰÓÐ 54 ×Ö½Ú(0¡Á36)£¬Õâ¾ÍÊǵײãÍøÂçЭÒéËù´øÀ´µÄ¿ªÏú£¬ÎÒÃǽÓÏÂÀ´¶ÔÕâЩЭÒé½øÐзÖÎö¡£

ÔÚ HTTP Ö®ÉÏÊÇ TCP ЭÒé(Transmission Control Protocol)£¬ËüµÄ¾ßÌåÄÚÈÝÈçÏÂͼËùʾ£º

ͨ¹ýµ×²¿µÄ¶þ½øÖÆÊý¾Ý£¬¿ÉÒÔ¿´µ½ TCP ЭÒéÊǼÓÔÚ HTTP Îı¾Ç°ÃæµÄ£¬ËüÓÐ 20 ¸ö×Ö½Ú£¬ÆäÖж¨ÒåÁ˱¾µØ¶Ë¿Ú(Source port)ºÍÄ¿±ê¶Ë¿Ú(Destination port)¡¢Ë³ÐòÐòºÅ(Sequence Number)¡¢´°¿Ú³¤¶ÈµÈÐÅÏ¢£¬ÒÔÏÂÊÇ TCP ЭÒé¸÷¸ö²¿·ÖÊý¾ÝµÄÍêÕû½éÉÜ£º

¾ßÌå¸÷¸ö×ֶεÄ×÷ÓÃÕâÀï¾Í²»½éÉÜÁË£¬¸ÐÐËȤµÄ¶ÁÕß¿ÉÒÔÔĶÁ RFC 793£¬²¢½áºÏ×¥°ü·ÖÎöÀ´Àí½â¡£

ÐèҪעÒâµÄÊÇ£¬ÔÚ TCP ЭÒéÖв¢Ã»ÓÐ IP µØÖ·ÐÅÏ¢£¬ÒòΪÕâÊÇÔÚÉÏÒ»²ãµÄ IP ЭÒéÖж¨ÒåµÄ£¬ÈçÏÂͼËùʾ£º

IP ЭÒéͬÑùÊÇÔÚ TCP Ç°ÃæµÄ£¬ËüÒ²ÓÐ 20 ×Ö½Ú£¬ÔÚÕâÀïÖ¸Ã÷Á˰汾ºÅ(Version)Ϊ 4£¬Ô´(Source) IP Ϊ 192.168.1.106£¬Ä¿±ê(Destination) IP Ϊ 119.75.217.56£¬Òò´Ë IP ЭÒé×îÖØÒªµÄ×÷ÓþÍÊÇÈ·¶¨ IP µØÖ·¡£

ÒòΪ IP ЭÒéÖпÉÒԲ鿴µ½Ä¿±ê IP µØÖ·£¬ËùÒÔÈç¹û·¢ÏÖÄ³Ð©ÌØ¶¨µÄ IP µØÖ·£¬Ä³Ð©Â·ÓÉÆ÷¾Í»á¡£¡£¡£

µ«ÊÇ£¬¹â¿¿ IP µØÖ·ÊÇÎÞ·¨½øÐÐͨÐŵģ¬ÒòΪ IP µØÖ·²¢²»ºÍij̨É豸°ó¶¨£¬±ÈÈçÄãµÄ±Ê¼Ç±¾µÄ IP ÔÚ¼ÒÖÐÊÇ 192.168.1.1£¬µ«µ½¹«Ë¾¾Í±ä³É 172.22.22.22 ÁË£¬ËùÒÔÔڵײãͨÐÅʱÐèҪʹÓÃÒ»¸ö¹Ì¶¨µÄµØÖ·£¬Õâ¾ÍÊÇ MAC(media access control) µØÖ·£¬Ã¿¸öÍø¿¨³ö³§Ê±µÄ MAC µØÖ·¶¼Êǹ̶¨ÇÒΨһµÄ¡£

Òò´ËÔÙÍùÉϾÍÊÇ MAC ЭÒ飬ËüÓÐ 14 ×Ö½Ú£¬ÈçÏÂËùʾ£º

µ±Ò»Ì¨µçÄÔ¼ÓÈëÍøÂçʱ£¬ÐèҪͨ¹ý ARP ЭÒ鏿Ë߯äËüÍøÂçÉ豸ËüµÄ IP ¼°¶ÔÓ¦µÄ MAC µØÖ·ÊÇʲô£¬ÕâÑùÆäËüÉ豸¾ÍÄÜͨ¹ý IP µØÖ·À´²éÕÒ¶ÔÓ¦µÄÉ豸ÁË¡£

×î¶¥É쵀 Frame ÊÇ´ú±í Wireshark µÄ×¥°üÐòºÅ£¬²¢²»ÊÇÍøÂçЭÒé

¾ÍÕâÑù£¬ÎÒÃǽâ´ðÁ˵ڶþ¸öÎÊÌ⣬²»¹ýÆäʵÕâÀïÃæ»¹ÓкܶàºÜ¶àϸ½Úû½éÉÜ£¬½¨Òé´ó¼Òͨ¹ýÏÂÃæµÄÊé¼®½øÒ»²½Ñ§Ï°¡£

À©Õ¹Ñ§Ï°

¡¶¼ÆËã»úÍøÂ磺×Ô¶¥ÏòÏ·½·¨ÓëInternetÌØÉ«¡·

¡¶¼ÆËã»úÍøÂç¡·

¡¶WebÐÔÄÜȨÍþÖ¸ÄÏ¡·

Êý¾ÝÈçºÎ´Ó±¾»úÍø¿¨·¢Ë͵½·þÎñÆ÷£¿

´ÓÄں˵½ÍøÂçÊÊÅäÆ÷(Network Interface Card)

Ç°ÃæËµµ½µ÷Óà Socket API ºóÄں˻á¶ÔÊý¾Ý½øÐеײãЭÒéÕ»µÄ·â×°£¬½ÓÏÂÀ´Æô¶¯ DMA ¿ØÖÆÆ÷£¬Ëü½«´ÓÄÚ´æÖжÁÈ¡Êý¾ÝдÈëÍø¿¨¡£

ÒÔ Nexus 5 ΪÀý£¬ËüʹÓõÄÊDz©Í¨ BCM4339 оƬͨÐÅ£¬½Ó¿Ú²ÉÓÃÁË SD ¿¨Ò»ÑùµÄ SDIO£¬µ«Õâ¸öоƬµÄϸ½Ú²¢Ã»Óй«¿ª×ÊÁÏ£¬ËùÒÔÕâÀï¾Í²»ÌÖÂÛÁË¡£

Á¬½Ó Wi-Fi ·ÓÉ

Wi-Fi Íø¿¨ÐèҪͨ¹ý Wi-Fi ·ÓÉÀ´ÓëÍⲿͨÐÅ£¬Ô­ÀíÊÇ»ùÓÚÎÞÏߵ磬ͨ¹ýµçÁ÷±ä»¯À´²úÉúÎÞÏߵ磬Õâ¸ö¹ý³ÌÒ²½Ð¡¸µ÷ÖÆ¡¹£¬¶ø·´¹ýÀ´ÎÞÏßµç¿ÉÒÔÒýÆðµç´Å³¡±ä»¯£¬´Ó¶ø²úÉúµçÁ÷±ä»¯£¬ÀûÓÃÕâ¸öÔ­Àí¾ÍÄܽ«ÎÞÏßµçÖеÄÐÅÏ¢½â¶Á³öÀ´¾Í½Ð¡¸½âµ÷¡¹£¬ÆäÖе¥Î»Ê±¼äÄڱ仯µÄ´ÎÊý¾Í³ÆÎªÆµÂÊ£¬Ä¿Ç°ÔÚ Wi-Fi ÖÐËù²ÉÓÃµÄÆµÂÊ·ÖΪ 2.4 GHz ºÍ 5 GHz Á½ÖÖ¡£

ÔÚͬһ¸ö Wi-Fi ·ÓÉÏ£¬ÒòΪ²ÉÓÃµÄÆµÂÊÏàͬ£¬Í¬Ê±Ê¹ÓÃʱ»á·¢Éú³åÍ»£¬ÎªÁ˽â¾öÕâ¸öÎÊÌ⣬Wi-Fi ²ÉÓÃÁ˱»³ÆÎª CSMA/CA µÄ·½·¨£¬¼òµ¥À´Ëµ¾ÍÊÇÔÚ´«ÊäǰÏÈÈ·ÈÏÐŵÀÊÇ·ñÒѱ»Ê¹Óã¬Ã»Óвŷ¢ËÍÊý¾Ý¡£

¶øÍ¬Ñù»ùÓÚÎÞÏßµçÔ­ÀíµÄ 2G/3G/LTE Ò²»áÓöµ½ÀàËÆµÄÎÊÌ⣬µ«Ëü²¢Ã»ÓвÉÓà Wi-Fi

ÄÇÑùµÄ¶ÀÕ¼·½°¸£¬¶øÊÇͨ¹ýƵ·Ö(FDMA)¡¢Ê±·Ö(TDMA)ºÍÂë·Ö(CDMA)À´½øÐи´Ó㬾ßÌåϸ½ÚÕâÀï¾Í²»Õ¹¿ªÁË¡£

ÒÔСÃ×·ÓÉΪÀý£¬ËüʹÓõÄоƬÊÇ BCM 4709£¬Õâ¸öоƬÓÉ ARM Cortex-A9 ´¦ÀíÆ÷¼°Á÷Á¿(Flow)Ó²¼þ¼ÓËÙ×é³É£¬Ê¹ÓÃÓ²¼þоƬ¿ÉÒÔ±ÜÃâ¾­¹ý²Ù×÷ϵͳÖжϡ¢ÉÏÏÂÎÄÇл»µÈ²Ù×÷£¬´Ó¶øÌáÉýÁËÐÔÄÜ¡£

·ÓÉÆ÷ÖеIJÙ×÷ϵͳ¿ÉÒÔ»ùÓÚ OpenWrt »ò DD-WRT À´¿ª·¢µÄ£¬¾ßÌåϸ½ÚÎÒ²»Ì«Á˽⣬ËùÒԾͲ»Õ¹¿ªÁË¡£

ÒòΪÄÚÍøÉ豸µÄ IP ¶¼ÊÇÀàËÆ 192.168.1.x ÕâÑùµÄÄÚÍøµØÖ·£¬ÍâÍøÎÞ·¨Ö±½ÓÏòÕâ¸öµØÖ··¢ËÍÊý¾Ý£¬ËùÒÔÍøÂçÊý¾ÝÔÚ¾­¹ý·ÓÉʱ£¬Â·ÓÉ»áÐÞ¸ÄÏà¹ØµØÖ·ºÍ¶Ë¿Ú£¬Õâ¸ö²Ù×÷³ÆÎª NAT Ó³Éä¡£

×îºó¼Òͥ·ÓÉÒ»°ã»áͨ¹ýË«½ÊÏßÁ¬½Óµ½ÔËÓªÉÌÍøÂçµÄ¡£

ÔËÓªÉÌÍøÂçÄڵķÓÉ

Êý¾Ý¹ýË«½ÊÏß·¢Ë͵½ÔËÓªÉÌÍøÂçºó£¬»¹»á¾­¹ýºÜ¶à¸öÖмä·ÓÉת·¢£¬¶ÁÕß¿ÉÒÔͨ¹ý traceroute ÃüÁî»òÕßÔÚÏß¿ÉÊÓ»¯¹¤¾ßÀ´²é¿´ÕâЩ·ÓÉµÄ ip ºÍλÖá£

µ±Êý¾Ý´«µÝµ½ÕâЩ·ÓÉÆ÷ºó£¬Â·ÓÉÆ÷»áÈ¡³ö°üÖÐÄ¿µÄµØÖ·µÄǰ׺£¬Í¨¹ýÄÚ²¿µÄת·¢±í²éÕÒ¶ÔÓ¦µÄÊä³öÁ´Â·£¬¶øÕâ¸öת·¢±íÊÇÈçºÎµÃµ½µÄÄØ£¿Õâ¾ÍÊÇ·ÓÉÆ÷ÖÐ×îÖØÒªµÄѡ·Ëã·¨ÁË£¬¿ÉÑ¡µÄÓкܶ࣬ÎÒ¶ÔÕâ·½Ãæ²¢²»Ì«Á˽⣬¿´ÆðÀ´Î¬»ù°Ù¿ÆÉϵĴÊÌõÁеúÜÈ«¡£

Ö÷¸ÉÍø¼äµÄ´«Êä

¶ÔÓÚ³¤ÏßµÄÊý¾Ý´«Ê䣬ͨ³£Ê¹ÓùâÏË×÷Ϊ½éÖÊ£¬¹âÏËÊÇ»ùÓÚ¹âµÄÈ«·´ÉäÀ´ÊµÏֵģ¬Ê¹ÓùâÏËÐèҪרÃŵķ¢ÉäÆ÷ͨ¹ýµçÖ·¢¹â£¨±ÈÈç LED£©½«µçÐźÅת³É¹â£¬±ÈÆðÇ°Ãæ½éÉܵÄÎÞÏßµçºÍË«½ÊÏߣ¬¹âÏËÐźŵĿ¹¸ÉÈÅÐÔҪǿµÃ¶à£¬¶øÇÒÄܺÄҲСºÜ¶à¡£

¼ÈÈ»ÊÇ»ùÓÚ¹âÀ´´«ÊäÊý¾Ý£¬Êý¾Ý´«ÊäËÙ¶ÈÒ²¾ÍÈ¡¾öÓÚ¹âµÄËÙ¶È£¬ÔÚÕæ¿ÕÖеĹâËÙ½Ó½üÓÚ 30 ÍòǧÃ×/Ã룬ÓÉÓÚ¹âÏ˰ü²ã(cladding)ÖеÄÕÛÉäÂÊ(refractive index)Ϊ 1.52£¬ËùÒÔʵ¼Ê¹âËÙÊÇ 20 ÍòǧÃ×/Ãë×óÓÒ£¬´ÓÊ×¶¼»ú³¡·ÉÍù¹ãÖݰ×ÔÆ»ú³¡µÄ¾àÀëÊÇ 1967 ǧÃ×£¬°´ÕÕÕâ¸ö¾àÀëÀ´ËãÐèÒª»¨·Ñ 10 ºÁÃë²ÅÄִܵÕâÒâζ×ÅÈç¹ûÄãÔÚ±±¾©£¬·þÎñÆ÷ÔÚ¹ãÖÝ£¬µÈÄã·¢³öÊý¾Ýµ½·þÎñÆ÷·µ»ØÊý¾ÝÖÁÉÙµÃµÈ 20 ºÁÃ룬ʵ¼ÊÇé¿öÔ¤¼ÆÊÇ 2- 3 ±¶£¬ÒòΪÕâÆäÖл¹Óи÷¸ö½Úµã·ÓÉ´¦ÀíµÄºÄʱ£¬±ÈÈçÎÒ²âÊÔÁËÒ»¸ö¹ãÖÝµÄ IP ·¢ÏÖÆ½¾ùÑÓ³ÙΪ 60 ºÁÃë¡£

Õâ¸öÑÓ³ÙÊÇÏÖÓпƼ¼ÎÞ·¨½â¾öµÄ£¨³ý·ÇÕÒµ½³¬¹ý¹âËٵķ½·¨£©£¬Ö»ÄÜͨ¹ý CDN À´Èô«Êä¾àÀë±ä¶Ì£¬»ò¾¡Á¿¼õÉÙ´®ÐеÄÀ´»ØÇëÇ󣨱ÈÈç TCP ½¨Á¢Á¬½ÓËùÐèµÄ 3 ´ÎÎÕÊÖ£©¡£

IDC ÄÚÍø

Êý¾Ýͨ¹ý¹âÏË×îÖÕ»áÀ´µ½·þÎñÆ÷ËùÔÚµÄ IDC »ú·¿£¬½øÈë IDC ÄÚÍø£¬Õâʱ¿ÉÒÔÏÈͨ¹ý·Ö¹âÆ÷½«Á÷Á¿¾µÏñÒ»·Ý³öÀ´·½±ã½øÐа²È«¼ì²éµÈ·ÖÎö£¬»¹ÄÜÓÃÀ´½øÐС£¡£¡£

ÕâÀïµÄ´ø¿í³É±¾ºÜ¸ß£¬Êǰ´ÕÕ·åÖµÀ´½áËãµÄ£¬ÒÔÿÔÂÿ Gbps£¨×¢ÒâÕâÀïÖ¸µÄÊÇ bit£¬¶ø²»ÊÇ

Byte£©Îªµ¥Î»£¬±±¾©Õâ±ß¼Û¸ñÔÚÊ®ÍòÈËÃñ±ÒÒÔÉÏ£¬Ò»°ãÍøÕ¾Ê¹Óà 1G µ½ 10G ²»µÈ¡£

½ÓÏÂÀ´¹âÏËÖеÄÊý¾Ý½«½øÈ뼯Ⱥ(Cluster)½»»»»ú£¬È»ºóÔÙת·¢µ½»ú¼Ü(Rack)¶¥²¿µÄ½»»»»ú£¬×îºóͨ¹ýÕâ¸ö½»»»»úµÄ¶Ë¿Ú½«Êý¾Ý·¢Íù»ú¼ÜÖеķþÎñÆ÷£¬¿ÉÒԲο¼ÏÂͼ£¨À´×Ô Open Compute£©£º

ÉÏͼ×ó±ßÊÇÕýÃæ£¬ÓÒ±ßÊDzàÃæ£¬¿ÉÒÔ¿´µ½¶¥²¿Îª½»»»»úËùÁôµÄλÖá£

ÒÔǰÕâЩ½»»»»úµÄÄÚ²¿ÊµÏÖÊÇ·â±ÕµÄ£¬Ïà¹Ø³§ÉÌ£¨Èç˼¿Æ¡¢Juniper µÈ£©»áʹÓÃÌØ¶¨µÄ´¦ÀíÆ÷ºÍ²Ù×÷ϵͳ£¬Íâ½çÄÑÒÔ½øÐÐÁé»î¿ØÖÆ£¬ÉõÖÁÓÐʱºòÐèÒªÊÖ¹¤ÅäÖ㬵«Õ⼸ÄêËæ×Å OpenFlow ¼¼ÊõµÄÁ÷ÐУ¬Ò²³öÏÖÁË¿ª·Å½»»»»úÓ²¼þ(Open Switch Hardware)£¬±ÈÈç Intel µÄÍøÂçÆ½Ì¨£¬ÍƼö¸ÐÐËȤµÄ¶ÁÕß½¨Òé¿´¿´ËüµÄÊÓÆµ£¬±ÈÎÄ×ÖÃèÊöÇåÎú¶àÁË¡£

ÐèҪעÒâµÄÊÇ£¬Ò»°ãÍøÂçÊéÖÐÌáµ½µÄ½»»»»ú¶¼Ö»¾ß±¸¶þ²ã£¨MAC ЭÒ飩µÄ¹¦ÄÜ£¬µ«ÔÚ IDC ÖеĽ»»»Æ÷»ù±¾É϶¼¾ß±¸Èý²ã£¨IP

ЭÒ飩µÄ¹¦ÄÜ£¬ËùÒÔ²»ÐèÒªÓÐרÃŵÄ·ÓÉÁË¡£

×îºó£¬ÒòΪ CPU ´¦ÀíµÄÊÇµçÆøÐźţ¬ËùÒÔ¹âÏËÖеĹâÏßÐèÒªÏÈʹÓÃÏà¹ØÉ豸ͨ¹ý¹âµçЧӦ½«¹âÐźÅת³ÉµçÐźţ¬È»ºó½øÈë·þÎñÆ÷Íø¿¨¡£

·þÎñÆ÷ CPU

Ç°ÃæËµµ½Êý¾ÝÒѾ­µ½´ï·þÎñÆ÷Íø¿¨ÁË£¬½Ó×ÅÍø¿¨»á½«Êý¾Ý¿½±´µ½ÄÚ´æÖУ¨DMA£©£¬È»ºóͨ¹ýÖжÏÀ´Í¨Öª CPU£¬Ä¿Ç°·þÎñÆ÷¶ËµÄ CPU »ù±¾É϶¼ÊÇ Intel Xeon£¬²»¹ýÕ⼸Äê³öÏÖÁËһЩеļܹ¹£¬±ÈÈçÔÚ´æ´¢ÁìÓò£¬°Ù¶ÈʹÓà ARM ¼Ü¹¹À´ÌáÉý´æ´¢Ãܶȣ¬ÒòΪ ARM µÄ¹¦ºÄ±È Xeon µÍµÃ¶à¡£¶øÔÚ¸ßÐÔÄÜÁìÓò£¬Google ×î½üÔÚ³¢ÊÔ»ùÓÚ POWER ¼Ü¹¹µÄ CPU À´¿ª·¢µÄ·þÎñÆ÷£¬×îÐ嵀 POWER8 ´¦ÀíÆ÷¿ÉÒÔ²¢ÐÐÖ´ÐÐ 96 ¸öỊ̈߳¬ËùÒԶԸ߲¢·¢µÄÓ¦ÓÃÓ¦¸ÃºÜÓаïÖú¡£

À©Õ¹Ñ§Ï°

The Datacenter as a Computer

Open Computer

¡¶Èí¼þ¶¨ÒåÍøÂç¡·

¡¶´ó»°ÎÞÏßͨÐÅ¡·

·þÎñÆ÷½ÓÊÕµ½Êý¾Ýºó»á½øÐÐÄÄЩ´¦Àí£¿

ΪÁ˱ÜÃâÖØ¸´£¬ÕâÀォ²»ÔÙ½éÉܲÙ×÷ϵͳ£¬¶øÊÇÖ±½Ó½øÈëºó¶Ë·þÎñ½ø³Ì£¬ÓÉÓÚÕâ·½ÃæÓÐÌ«¶à¼¼ÊõÑ¡ÐÍ£¬ËùÒÔÎÒÖ»Ìô¼¸¸ö³£¼ûµÄ¹«¹²²¿·ÖÀ´½éÉÜ¡£

¸ºÔؾùºâ

ÇëÇóÔÚ½øÈëµ½ÕæÕýµÄÓ¦Ó÷þÎñÆ÷ǰ£¬¿ÉÄÜ»¹»áÏȾ­¹ý¸ºÔð¸ºÔؾùºâµÄ»úÆ÷£¬ËüµÄ×÷ÓÃÊǽ«ÇëÇóºÏÀíµØ·ÖÅäµ½¶à¸ö·þÎñÆ÷ÉÏ£¬Í¬Ê±¾ß±¸¾ß±¸·À¹¥»÷µÈ¹¦ÄÜ¡£

¸ºÔؾùºâ¾ßÌåʵÏÖÓкܶàÖÖ£¬ÓÐÖ±½Ó»ùÓÚÓ²¼þµÄ F5£¬ÓвÙ×÷ϵͳ´«Êä²ã(TCP)É쵀 LVS£¬Ò²ÓÐÔÚÓ¦Óòã(HTTP)ʵÏֵķ´Ïò´úÀí£¨Ò²½ÐÆß²ã´úÀí£©£¬½ÓÏÂÀ´½«½éÉÜ LVS ¼°·´Ïò´úÀí¡£

¸ºÔؾùºâµÄ²ßÂÔÒ²Óкܶ࣬Èç¹ûºóÃæµÄ¶à¸ö·þÎñÆ÷ÐÔÄܾùºâ£¬×î¼òµ¥µÄ·½·¨¾ÍÊǰ¤¸öÑ­»·Ò»±é(Round-Robin)£¬ÆäËü²ßÂԾͲ»Ò»Ò»½éÉÜÁË£¬¿ÉÒԲο¼ LVS ÖеÄËã·¨¡£

LVS

LVS µÄ×÷ÓÃÊÇ´Ó¶ÔÍâ¿´À´Ö»ÓÐÒ»¸ö IP£¬¶øÊµ¼ÊÉÏÕâ¸ö IP ºóÃæ¶ÔÓ¦ÊǶą̀»úÆ÷£¬Òò´ËÒ²±»³ÉΪ Virtual IP¡£

Ç°ÃæÌáµ½µÄ NAT Ò²ÊÇÒ»ÖÖ LVS ÖеŤ×÷ģʽ£¬³ý´ËÖ®Í⻹ÓÐ DR ºÍ TUNNEL£¬¾ßÌåϸ½ÚÕâÀï¾Í²»Õ¹¿ªÁË£¬ËüÃǵÄȱµãÊÇÎÞ·¨¿çÍø¶Î£¬ËùÒÔ°Ù¶È×Ô¼º¿ª·¢ÁË BVS ϵͳ¡£

·´Ïò´úÀí

·½Ïò´úÀíÊǹ¤×÷ÔÚ HTTP Éϵ쬾ßÌåʵÏÖ¿ÉÒÔ»ùÓÚ HAProxy »ò Nginx£¬ÒòΪ·´Ïò´úÀíÄÜÀí½â HTTP ЭÒ飬ËùÒÔÄÜ×ö·Ç³£¶àµÄÊÂÇ飬±ÈÈ磺

½øÐкܶàͳһ´¦Àí£¬±ÈÈç·À¹¥»÷²ßÂÔ¡¢·Åץȡ¡¢SSL¡¢gzip¡¢×Ô¶¯ÐÔÄÜÓÅ»¯µÈ

Ó¦ÓòãµÄ·ÖÁ÷²ßÂÔ¶¼ÄÜÔÚÕâÀï×ö£¬±ÈÈç¶Ô /xx ·¾¶µÄÇëÇó·Öµ½ a ·þÎñÆ÷£¬¶Ô /yy ·¾¶µÄÇëÇó·Öµ½ b ·þÎñÆ÷£¬»òÕß°´ÕÕ cookie ½øÐÐСÁ÷Á¿²âÊÔµÈ

»º´æ£¬²¢ÔÚºó¶Ë·þÎñ¹ÒµôµÄʱºòÏÔʾÓÑºÃµÄ 404 Ò³Ãæ

¼à¿Øºó¶Ë·þÎñÊÇ·ñÒì³£

Nginx µÄ´úÂëдµÃ·Ç³£ÓÅÐ㣬´ÓÖÐÄÜѧµ½ºÜ¶à£¬¶Ô¸ßÐÔÄÜ·þÎñ¶Ë¿ª·¢¸ÐÐËȤµÄ¶ÁÕßÒ»¶¨Òª¿´¿´¡£

Web Server ÖеĴ¦Àí

ÇëÇó¾­¹ýÇ°ÃæµÄ¸ºÔؾùºâºó£¬½«½øÈëµ½¶ÔÓ¦·þÎñÆ÷É쵀 Web Server£¬±ÈÈç Apache¡¢Tomcat¡¢Node.JS µÈ¡£

ÒÔ Apache ΪÀý£¬ÔÚ½ÓÊÕµ½ÇëÇóºó»á½»¸øÒ»¸ö¶ÀÁ¢µÄ½ø³ÌÀ´´¦Àí£¬ÎÒÃÇ¿ÉÒÔͨ¹ý±àд Apache À©Õ¹À´´¦Àí£¬µ«ÕâÑù¿ª·¢ÆðÀ´Ì«Âé·³ÁË£¬ËùÒÔÒ»°ã»áµ÷Óà PHP µÈ½Å±¾ÓïÑÔÀ´½øÐд¦Àí£¬±ÈÈçÔÚ CGI ϾÍÊǽ« HTTP ÖеIJÎÊý·Åµ½»·¾³±äÁ¿ÖУ¬È»ºóÆô¶¯ PHP ½ø³ÌÀ´Ö´ÐУ¬»òÕßʹÓà FastCGI À´Ô¤ÏÈÆô¶¯½ø³Ì¡£

£¨µÈºóÐøÓпÕÔÙµ¥¶À½éÉÜ Node.JS ÖеĴ¦Àí£©

½øÈëºó¶ËÓïÑÔ

Ç°ÃæËµµ½ Web Server »áµ÷Óúó¶ËÓïÑÔ½ø³ÌÀ´´¦Àí HTTP ÇëÇó£¨Õâ¸ö˵·¨²»ÍêÈ«ÕýÈ·£¬ÓкܶàÆäËü¿ÉÄÜ£©£¬ÄÇô½ÓÏÂÀ´¾ÍÊǺó¶ËÓïÑԵĴ¦ÀíÁË£¬Ä¿Ç°´ó²¿·Öºó¶ËÓïÑÔ¶¼ÊÇ»ùÓÚÐéÄâ»úµÄ£¬Èç PHP¡¢Java¡¢JavaScript¡¢Python µÈ£¬µ«Õâ¸öÁìÓòµÄ»°Ìâ·Ç³£´ó£¬ÄÑÒÔ½²Çå³þ£¬¶Ô PHP ¸ÐÐËȤµÄ¶ÁÕß¿ÉÒÔÔĶÁÎÒ֮ǰдµÄ HHVM ½éÉÜÎÄÕ£¬ÆäÖÐÌáµ½Á˺ܶàÐéÄâ»úµÄ»ù´¡ÖªÊ¶¡£

Web ¿ò¼Ü(Framework)

Èç¹ûÄãµÄ PHP Ö»ÊÇÓÃÀ´×ö¼òµ¥µÄ¸öÈËÖ÷Ò³¡¸Personal Home Page¡¹£¬µ¹Ã»±ØÒªÊ¹Óà Web ¿ò¼Ü£¬µ«Èç¹ûËæ×Å´úÂëµÄÔö¼Ó»á±äµÃÔ½À´Ô½ÄÑÒÔ¹ÜÀí£¬ËùÒÔÒ»°ãÍøÕ¾¶¼»á»á»ùÓÚij¸ö Web ¿ò¼ÜÀ´¿ª·¢£¬Òò´ËÔÚºó¶ËÓïÑÔÖ´ÐÐʱÊ×ÏȽøÈë Web ¿ò¼ÜµÄ´úÂ룬ȻºóÓÉ¿ò¼ÜÔÙÈ¥µ÷ÓÃÓ¦ÓõÄʵÏÖ´úÂë¡£

¿ÉÑ¡µÄ Web ¿ò¼Ü·Ç³£¶à£¬ÕâÀï¾Í²»Ò»Ò»½éÉÜÁË¡£

¶ÁÈ¡Êý¾Ý

Õⲿ·Ö²»Õ¹¿ªÁË£¬´Ó¼òµ¥µÄ¶ÁдÎļþµ½Êý¾ÝÖмä²ã£¬ÕâÀïÃæ¿ÉÑ¡µÄ·½°¸ÊµÔÚÌ«¶à¡£

À©Õ¹Ñ§Ï°

¡¶ÉîÈëÀí½âNginx¡·

¡¶PythonÔ´ÂëÆÊÎö¡·

¡¶ÉîÈëÀí½âJavaÐéÄâ»ú¡·

¡¶Êý¾Ý¿âϵͳʵÏÖ¡·

·þÎñÆ÷·µ»ØÊý¾Ýºóä¯ÀÀÆ÷ÈçºÎ´¦Àí£¿

Ç°ÃæËµµ½·þÎñ¶Ë´¦ÀíÍêÇëÇóºó£¬½á¹û½«Í¨¹ýÍøÂç·¢»Ø¿Í»§¶ËµÄä¯ÀÀÆ÷£¬´Ó±¾½Ú¿ªÊ¼½«½éÉÜä¯ÀÀÆ÷½ÓÊÕµ½Êý¾ÝºóµÄ´¦Àí£¬ÖµµÃÒ»ÌáµÄÊÇÕâ·½ÃæÖ®Ç°ÓÐһƪ²»´íµÄÎÄÕ How Browsers Work£¬ËùÒԺܶàÄÚÈÝÎÒ²»ÏëÔÙÖØ¸´½éÉÜ£¬Òò´Ë½«Öصã·ÅÔÚÄÇÆªÎÄÕÂËùºöÂԵIJ¿·Ö¡£

´Ó 01 µ½×Ö·û

HTTP ÇëÇó·µ»ØµÄ HTML ´«µÝµ½ä¯ÀÀÆ÷ºó£¬Èç¹ûÓÐ gzip »áÏȽâѹ£¬È»ºó½ÓÏÂÀ´×îÖØÒªµÄÎÊÌâÊÇÒªÖªµÀËüµÄ±àÂëÊÇʲô£¬±ÈÈçͬÑùÒ»¸ö¡¸ÖС¹×Ö£¬ÔÚ UTF-8 ±àÂëÏÂËüµÄÄÚÈÝÆäʵÊÇ¡¸11100100 10111000 10101101¡¹Ò²¾ÍÊÇ¡¸E4 B8 AD¡¹£¬¶øÔÚ GBK ÏÂÔòÊÇ¡¸11010110 11010000¡¹£¬Ò²¾ÍÊÇ¡¸D6 D0¡¹£¬ÈçºÎ²ÅÄÜÖªµÀÎļþµÄ±àÂ룿¿ÉÒÔÓкܶàÅжϷ½·¨£º

Óû§ÉèÖã¬ÔÚä¯ÀÀÆ÷ÖпÉÒÔÖ¸¶¨Ò³Ãæ±àÂë

HTTP ЭÒéÖÐ

<meta> ÖÐµÄ charset ÊôÐÔÖµ

¶ÔÓÚ JS ºÍ CSS

¶ÔÓÚ iframe

Èç¹ûÔÚÕâЩµØ·½¶¼Ã»Ö¸Ã÷£¬ä¯ÀÀÆ÷¾ÍºÜÄÑ´¦Àí£¬ÔÚËü¿´À´¾ÍÊÇÒ»¶Ñ¡¸0¡¹ºÍ¡¸1¡¹£¬±ÈÈ硸ÖÐÎÄ¡¹£¬ËüÔÚ UTF-8 ÏÂÓÐ 6 ¸ö×Ö½Ú£¬Èç¹û°´ÕÕ GBK ¿ÉÒÔµ±³É¡¸ä¸­æ–‡¡¹Õâ 3 ¸öºº×ÖÀ´½âÊÍ£¬ä¯ÀÀÆ÷Ôõô֪µÀµ½µ×ÊÇ¡¸ÖÐÎÄ¡¹»¹ÊÇ¡¸ä¸­æ–‡¡¹ÄØ£¿

²»¹ýÕý³£ÈËÒ»ÑÛ¾ÍÄÜÈϳö¡¸ä¸­æ–‡¡¹ÊÇ´íµÄ£¬ÒòΪÕâ 3 ¸ö×ÖÌ«²»³£¼ûÁË£¬ËùÒÔÓÐÈ˾ÍÏ뵽ͨ¹ýÅжϳ£¼û×ֵķ½·¨À´¼ì²â±àÂ룬µäÐ͵ıÈÈç Mozilla µÄ UniversalCharsetDetection£¬²»¹ýÕâ¶«¶«ÎóÅÐÂÊÒ²ºÜ¸ß£¬ËùÒÔ»¹ÊÇÖ¸Ã÷±àÂëµÄºÃ¡£

ÕâÑùºóÐø¶ÔÎı¾µÄ²Ù×÷¾ÍÊÇ»ùÓÚ¡¸×Ö·û¡¹(Character)µÄÁË£¬Ò»¸öºº×Ö¾ÍÊÇÒ»¸ö×Ö·û£¬²»ÓÃÔÙ¹ØÐÄËü¾¿¾¹ÊÇ 2 ¸ö×Ö½Ú»¹ÊÇ 3 ¸ö×Ö½Ú¡£

JavaScript µÄÖ´ÐÐ

£¨ºóÐøÔÙµ¥¶À½éÉÜ£¬ÍƼö´ó¼Ò¿´ R ´óÈ¥ÄêÕûÀíµÄÕâ¸öÌû×Ó£¬ÀïÃæÓзdz£¶àÏà¹Ø×ÊÁÏ£¬ÁíÍâÎÒÁ½ÄêÇ°Ôø½²¹ý JavaScript ÒýÇæÖеÄÐÔÄÜÓÅ»¯£¬ËäÈ»ÓÐЩÄÚÈݲ»Ì«ÕýÈ·ÁË£¬µ«Ò²¿ÉÒÔ¿´¿´£©

´Ó×Ö·ûµ½Í¼Æ¬

¶þάäÖȾÖÐ×ÔÓµÄÒªÊýÎÄ×ÖÏÔʾÁË£¬ËäÈ»ÏëÏëËÆºõºÜ¼òµ¥£¬²»¾ÍÊǽ«Ä³¸öÎÄ×Ö¶ÔÓ¦µÄ×ÖÐÎ(glyph)ÕÒ³öÀ´Ã´£¿ÔÚÖÐÎĺÍÓ¢ÎÄÖÐÕâÑù×öÊÇûÎÊÌâµÄ£¬ÒòΪһ¸ö×Ö·û¾Í¶ÔÓ¦Ò»¸ö×ÖÐÎ(glyph)£¬ÔÚ×ÖÌåÎļþÖÐÕÒµ½×ÖÐΣ¬È»ºó»­ÉÏÈ¥¾Í¿ÉÒÔÁË£¬µ«ÔÚ°¢À­²®ÓïÖÐÊDz»Ðеģ¬ÒòΪËüÓÐÓÐÁ¬ÌåÐÎʽ¡£

£¨ÒÔºóÐøÔÙµ¥¶À½éÉÜ£¬ÕâÀï·Ç³£¸´ÔÓ£©

¿çƽ̨ 2D »æÖÆ¿â

ÔÚ²»Í¬²Ù×÷ϵͳÖж¼ÌṩÁË×Ô¼ºµÄͼÐλæÖÆ API£¬±ÈÈç Mac OS X Ï嵀 Quartz£¬Windows Ï嵀 GDI ÒÔ¼° Linux Ï嵀 Xlib£¬µ«ËüÃÇÏ໥²»¼æÈÝ£¬ËùÒÔΪÁË·½±ãÖ§³Ö¿çƽ̨»æÍ¼£¬ÔÚ Chrome ÖÐʹÓÃÁË Skia ¿â¡£

£¨ÒÔºóÔÙµ¥¶À½éÉÜ£¬Skia ÄÚ²¿ÊµÏÖµ÷Óò㼶̫¶à£¬Ö±½Ó½²´úÂë¿ÉÄܲ»ÊʺϳõѧÕߣ©

GPU ºÏ³É

£¨ÒÔºóÐøÔÙµ¥¶À½éÉÜ£¬ËäÈ»¼òµ¥À´Ëµ¾ÍÊÇ¿¿Ìùͼ£¬µ«»¹µÃ½éÉÜ OpenGL ÒÔ¼° GPU оƬ£¬ÄÚÈÝÌ«³¤£©

À©Õ¹Ñ§Ï°

Õâ½ÚÄÚÈÝÊÇÎÒ×îÊìϤ£¬½á¹û·´¶øÒòΪÕâÑù²ÅÏ뻨¸ü¶àʱ¼äдºÃ£¬ËùÒԵȵ½ÒÔºóÔÙ·¢³öÀ´ºÃÁË£¬´ó¼ÒÏÈ¿ÉÒÔÏÈ¿´¿´ÒÔϼ¸¸öÕ¾µã£º

Chromium

Mozilla Hacks

Surfin¡¯ Safari

ä¯ÀÀÆ÷ÈçºÎ½«Ò³ÃæÕ¹ÏÖ³öÀ´£¿

Ç°ÃæÌáµ½ä¯ÀÀÆ÷ÒѾ­½«Ò³ÃæäÖȾ³ÉÒ»ÕÅͼƬÁË£¬½ÓÏÂÀ´µÄÎÊÌâ¾ÍÊÇÈçºÎ½«ÕâÕÅͼƬչʾÔÚÆÁÄ»ÉÏ¡£

Framebuffer

ÒÔ Linux ΪÀý£¬ÔÚÓ¦ÓÃÖпØÖÆÆÁÄ»×îÖ±½ÓµÄ·½·¨Êǽ«Í¼ÏñµÄ bitmap дÈë /dev/fb0 ÎļþÖУ¬Õâ¸öÎļþʵ¼ÊÉÏÒ»¸öÄÚ´æÇøÓòµÄÓ³É䣬Õâ¶ÎÄÚ´æÇøÓò³ÆÎª Framebuffer¡£

ÐèҪעÒâµÄÊÇÔÚÓ²¼þ¼ÓËÙÏ£¬Èç OpenGL ÊDz»¾­¹ý Framebuffer µÄ¡£

´ÓÄÚ´æµ½ LCD

ÔÚÊÖ»úµÄ SoC ÖÐͨ³£¶¼»áÓÐÒ»¸ö LCD ¿ØÖÆÆ÷£¬µ± Framebuffer ×¼±¸ºÃºó£¬CPU »áͨ¹ý AMBA ÄÚ²¿×ÜÏß֪ͨ LCD ¿ØÖÆÆ÷£¬È»ºóÕâ¸ö¿ØÖÆÆ÷¶ÁÈ¡ Framebuffer ÖеÄÊý¾Ý£¬½øÐиñʽת»»¡¢Ù¤ÂíУÕýµÈ²Ù×÷£¬×îÖÕͨ¹ý DSI¡¢HDMI µÈ½Ó¿Ú·¢Íù LCD ÏÔʾÆ÷¡£

ÒÔ OMAP5432 ΪÀý£¬ÏÂͼÊÇËüËùÖ§³ÖµÄÒ»ÖÖ²¢ÐÐÊý¾Ý´«Ê䣺

LCD ÏÔʾ

×îºó¼òµ¥½éÉÜһϠLCD µÄÏÔʾԭÀí¡£

Ê×ÏÈ£¬ÒªÏëÈÃÈËÑÛÄÜ¿´¼û£¬¾Í±ØÐëÓйâÏß½øÈ룬Ҫôͨ¹ý·´É䡢ҪôÓйâÔ´£¬±ÈÈç Kindle ËùʹÓÃµÄ E-ink ÆÁÄ»±¾ÉíÊDz»·¢¹âµÄ£¬ËùÒÔ±ØÐëÔÚÓйâÏߵĵط½²ÅÄÜÔĶÁ£¬ËüµÄÓŵãÊÇÊ¡µç£¬µ«ÏÞÖÆÌ«´ó£¬ËùÒÔ¼¸ºõËùÓÐ LCD ¶¼»á×Ô´ø¹âÔ´¡£

Ŀǰ LCD ÖÐͨ³£Ê¹Óà LED ×÷Ϊ¹âÔ´£¬LED ½ÓÉϵçÔ´ºó£¬ÔÚµçѹµÄ×÷ÓÃÏ£¬ÄÚ²¿µÄÕý¸ºµç×Ó½áºÏ»áÊͷŹâ×Ó£¬´Ó¶ø²úÉú¹â£¬ÕâÖÖÎïÀíÏÖÏó½ÐµçÖ·¢¹â(Electroluminescence)£¬ÕâÔÚÇ°Ãæ½éÉܹâÏËʱҲ½éÉܹý¡£

ÒÔÏÂÊÇ iPod Touch 2 ²ð¿ªºóµÄÑù×Ó£º£¨À´×Ô Wikipedia£©£º

ÔÚÉÏͼÖпÉÒÔ¿´µ½ 6 Õµ LED£¬Õâ¾ÍÊÇÕû¸öÆÁÄ»µÄ¹âÔ´£¬ÕâЩ¹âÔ´½«Í¨¹ý·´ÉäµÄ·´ÉäÊä³öµ½ÆÁÄ»ÖС£

ÓÐÁ˹âÔ´»¹µÃÓÐÉ«²Ê£¬ÔÚ LED ÖÐͨ³£×ö·¨ÊÇʹÓòÊÉ«ÂË¹âÆ¬(Color filter)À´½« LED ¹âԴת³É²»Í¬ÑÕÉ«¡£

ÁíÍâÖ±½ÓʹÓÃÈýÖÖÑÕÉ«µÄ LED Ò²ÊÇ¿ÉÐеģ¬ËüÄܱÜÃâÁËÂ˹⵼ÖµĹâ×ÓÀË·Ñ£¬½µµÍºÄµç£¬ºÜÊÊÓÃÓÚÖÇÄÜÊÖ±íÕâÑùµÄСÆÁÄ»£¬Apple ÊÕ¹ºµÄ

LuxVue ¹«Ë¾¾Í²ÉÓõÄÊÇÕâÖÖ·½Ê½£¬¸ÐÐËȤµÄ»°¿ÉÒÔÈ¥Ñо¿ËüµÄרÀû

LCD ÆÁÄ»ÉϵÄÿ¸öÎïÀíÏñËØµãʵ¼ÊÉÏÊÇÓɺ졢ÂÌ¡¢À¶ 3 ÖÖÉ«²ÊµÄµã×é³É£¬Ã¿¸öÑÕÉ«µãÄܵ¥¶À¿ØÖÆ£¬ÏÂÃæÊÇÓÃÏÔ΢¾µ·Å´óºóµÄÇé¿ö£¨À´×Ô Wikipedia£©£º

´ÓÉÏͼ¿ÉÒÔ¿´µ½Ã¿ 3 ÖÖÑÕÉ«µÄÂË¹âÆ¬¶¼È«ÁÁµÄʱºò¾ÍÊǰ×É«£¬¶¼Ãð¾ÍÊǺÚÉ«£¬Èç¹ûÄã×Ðϸ¿´»¹ÄÜ¿´µ½ÓÐЩµã²¢²»ÊÇÍêÈ«ºÚ£¬ÕâÊÇ×ÖÌåÉϵķ´¾â³ÝЧ¹û¡£

ͨ¹ýÕâ 3 ÖÖÑÕÉ«ÁÁ¶ÈµÄ²»Í¬×éºÏ¾ÍÄܲúÉú³ö¸÷ÖÖÉ«²Ê£¬Èç¹ûÿ¸öÑÕÉ«µãÄܲúÉú 256 ÖÖÁÁ¶È£¬¾ÍÄÜÉú³É 256 256 256 = 16777216 ÖÖÉ«²Ê¡£

²¢²»ÊÇËùÓÐÏÔʾÆ÷µÄÁÁ¶È¶¼ÄÜ´ïµ½ 256£¬ÔÚÑ¡ÔñÏÔʾÆ÷ʱÓиö²ÎÊýÊÇ 8-Bit »ò 6-Bit Ãæ°å£¬ÆäÖÐ 8-Bit µÄÃæ°åÄÜÔÚÎïÀíÉÏ´ïµ½

256 ÖÖÁÁ¶È£¬¶ø 6-Bit µÄÔòÖ»ÓÐ 64 ÖÖ£¬ËüÐèÒª¿¿Ë¢ÐÂÂÊ¿ØÖÆ(Frame rate control)¼¼ÊõÀ´´ïµ½ 256 µÄЧ¹û¡£

ÈçºÎ¿ØÖÆÕâЩÑÕÉ«µãµÄÁÁ¶È£¿Õâ¾ÍÒª¿¿Òº¾§ÌåÁË£¬Òº¾§ÌåµÄÌØÐÔÊǵ±ÓеçÁ÷ͨ¹ýʱ»á·¢ÉúÐýת£¬´Ó¶ø½«²¿·Ö¹âÏßµ²×¡£¬ËùÒÔֻҪͨ¹ýµçѹ¿ØÖÆÒº¾§ÌåµÄת¶¯¾ÍÄÜ¿ØÖÆÕâ¸öÑÕÉ«µãµÄÁÁ¶È£¬Ä¿Ç°ÊÖ»úÆÁÄ»ÖÐͨ³£Ê¹Óà TFT ¿ØÖÆÆ÷À´¶ÔÆä½øÐпØÖÆ£¬ÔÚ TFT ÖÐ×îÖøÃûµÄÒªÊý IPS Ãæ°å¡£

ÕâЩ¹ýÂ˺óµÄ¹âÏߴ󲿷ֻáÖ±½Ó½øÈëÑÛ¾¦£¬ÓÐЩ¹â»¹»áÔÚÆäËü±íÃæÉϾ­¹ýÂþ(diffuse)·´Éä»ò¾µÃæ(specular)·´ÉäºóÔÙ½øÈëÑÛ¾¦£¬¼ÓÉÏ»·¾³¹âµÄÓ°Ïì£¬ÒªÕæÕýËã³öÓжàÉٹ⵽ÑÛ¾¦ÊÇÒ»¸ö»ý·ÖÎÊÌ⣬¸ÐÐËȤµÄ¶ÁÕß¿ÉÒÔÑо¿»ùÓÚÎïÀíµÄäÖȾ¡£

µ±¹âÏß½øÈëÑÛ¾¦ºó£¬½ÓÏÂÀ´¾ÍÊÇÉúÎïѧµÄÁìÓòÁË£¬ËùÒÔÎÒÃǵ½´Ë½áÊø¡£

   
2850 ´Îä¯ÀÀ       31
Ïà¹ØÎÄÕÂ

¹È¸è½ÌÄãÈçºÎ¹¹½¨Ò»¸öÓÅÐãµÄÒÆ¶¯ÍøÕ¾
ÈçºÎ¸ßЧµØ¹ÜÀíÍøÕ¾¾²Ì¬×ÊÔ´
¸ßÐÔÄÜÍøÕ¾½¨ÉèµÄ×î¼Ñʵ¼ù
Ïл°ÍøÕ¾×ó²àµ¼º½µÄʵÏÖ
 
Ïà¹ØÎĵµ

ÍøÕ¾½¨Éè·½°¸Á÷³Ì
ÍøÕ¾½¨Éècss½Ì³Ì
ÆóÒµÍøÕ¾½¨ÉèÓëÍÆ¹ã
ÍøÕ¾½¨Éè·½°¸Êé
Ïà¹Ø¿Î³Ì

Éè¼ÆÄ£Ê½Ô­ÀíÓëÓ¦ÓÃ
´ÓÐèÇó¹ý¶Éµ½Éè¼Æ
Èí¼þÉè¼ÆÔ­ÀíÓëʵ¼ù
ÈçºÎ±àд¸ßÖÊÁ¿´úÂë
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

Ê®Ììѧ»áDIV+CSS(WEB±ê×¼)
HTML 5µÄ¸ïУº½á¹¹Ö®ÃÀ
½éÉÜ27¿î¾­µäµÄCSS¿ò¼Ü
35¸öÓд´ÒâµÄ404´íÎóÒ³Ãæ
×îÈÝÒ×·¸µÄ13¸öJavaScript´íÎó
Éè¼ÆÒ×Àí½âºÍ²Ù×÷µÄÍøÕ¾

Éè¼ÆÄ£Ê½Ô­ÀíÓëÓ¦ÓÃ
´ÓÐèÇó¹ý¶Éµ½Éè¼Æ
Èí¼þÉè¼ÆÔ­ÀíÓëʵ¼ù
ÈçºÎ±àд¸ßÖÊÁ¿´úÂë
µ¥Ôª²âÊÔ¡¢Öع¹¼°³ÖÐø¼¯³É
Èí¼þ¿ª·¢¹ý³ÌÖ¸ÄÏ

¶«Èí¼¯ÍÅ ´úÂëÖØ¹¹
ij½ðÈÚÈí¼þ·þÎñÉÌ ¼¼ÊõÎĵµ
Öдïµçͨ Éè¼ÆÄ£Ê½Ô­ÀíÓëʵ¼ù
·¨¹úµçÐÅ ¼¼ÊõÎĵµ±àдÓë¹ÜÀí
Î÷ÃÅ×Ó Ç¶ÈëʽÉè¼ÆÄ£Ê½
ÖÐд󶫷½ÈËÊÙ ¼¼ÊõÎĵµ±àд