『Linux Cワンストッププログラミング』——ノート1

4227 ワード

丑い人はもっと本を読まなければなりません.最近、私ももっと本を読まなければなりません.本を読むにはもっと総括しなければなりません.そうしないと忘れてしまいます.
今日はChristmas Eve(书き终わったらクリスマス)で、私の诞生日でもあります(书き终わったらそうではありません)、実は私は旧暦を过ごしたので、今日こそ本当の公式认证の诞生日で、前の西暦はそれでみんなの感情をだましました.
この双喜の日、私はついに《Linux Cワンストッププログラミング》を見終わったが、分からないところがたくさんあって、読書ノートを書いて、整理したいと思っています.今日はみんなと一緒に簡単に整理して、コンピュータのアーキテクチャの基礎のいくつかの概念について、私たちは一日中私たちがコンピュータを知っていることを話していますが、私たちは本当にどれだけ知っていますか.一緒に整理しましょう.以下はx 86アーキテクチャを例に挙げます.
声明:内容は出す前に、できるだけよく校正して、もしカバーが不完全で、あるいは明らかに間違っているところがあれば、指摘して、私の進歩を助けてください.
CPU
では、まずCPUから始めましょう.CPUの最も核心的な部品は、以下のいくつかを含みます.
  • レジスタ
  •      CPU        ,           ,          ,     ,        [  ](http://www.ruanyifeng.com/blog/2013/10/register.html)    。
    
    CPU            ,        ,  eax,               ;        ,  eip,       。
    
  • プログラムカウンタ(PC)
  •  x86     ,   eip,      CPU     ,CPU PC       ,           ,  PC                 ,           ,CPU         。
    
  • 指令デコーダ
  • CPU  PC    ,             ,         0 1     ,             ,            ,ID           ,              。
    
  • 演算論理ユニット(ALU)
  •             ,               ,   ALU   ,               ,                    ,     。
    
  • 三バス
  • CPU             ,       ,         ,              ,  0 1。          ,                   ,               
    
    *    CPU        ,           ,      
    *      CPU                
    *                  
    *                ,                      ,                    ,       
    
  • 32/64ビット
  •     ,   、    CPU          ,               ,            ,         ,        ,  32       32 ,64     ,           。32      32    ,      4G,64   。
    
         CPU            ,            ,           ,          ,     MMU                    ,                ,  32                    4G 。            MMU   ,        ,           ,      。
    

    周辺機器
    CPUの内容を話し終わったら、次はCPUを出て、外の世界を見て、外付けを話しましょう.
    コンピュータの強さ、および各シーンに応用される重要な原因の一つは、キーボード、マウス、流行しているさまざまな体感デバイス、デジタルボードなど、多くの奇妙な外部デバイスを接続できることです.その様々な周辺機器はどのようにコンピュータと対話し、どのようにCPUに接続されているのだろうか.私たちは探しに来ました.
    まず図鎮楼を置こうと思っていたが、いい図床が見つからないので、まず乾いて話しましょう.
  • デバイスレジスタ
  •                   ,                  ,                    ,      ,         ,                 ,          ,                 ,                ,      。
    
  • メモリマッピングI/O
  •                  , CPU           ,            ,               ,                ,         ,           ,          IO,  ARM             。
    
  • ポートI/O
  •           ,   CPU                    ,              ,         in/out,        I/O,x86        
    
  • デバイスバスおよびデバイスコントローラ
  •   CPU  ,                    ,            ,       ,           ,          ,           ,            ,  PCI、AGP、USB SATA 。          CPU   ,CPU                    ,                     。
    
       x86   ,       ATA、SATA  SCSI   ,             CPU     ,           ,            ,        ,      『  』,       ,              ,    。
    
              ,                 ,         ,      (bootloader),            ,            。                    ,            ,              ,                ,      ,     ,           。
    
  • 割り込み(Interrupt)
  •                ,              ,              ,           CPU。       ,          ,      CPU      ,       ,      ,      。                ,           ,          CPU,        ,        ,               CPU,CPU            ,                ,CPU       ,          (ISR),                。
    
  • 割り込みサービスプログラム(ISR)
  • ISR             ,            ,          ,CPU      。                 ,                      ,         ,      ACM   ,      ,           ,            ,           。
    
  • ドライバ
  •                  ,                ,         ,           ,                     ,       ISR        。
    

    さて、今日は差が少なくてまとめました.いくつかのものを運んで自分の理解を加えました.細かくはありませんが、CPU内からCPU外へのアーキテクチャと通信もよく分かりました.その後、メモリの中に深く入り込んで、仮想メモリを見て、コンピュータのプログラムのアセンブリの角度からの理解、バイナリファイルの内容、メモリにロードされた様子を見てみましょう.でも、お師匠さんからお経を取りに行かなければなりません.
    最後に、やはりこのクリスマスの佳節と私の誕生日に値して、みんなのクリスマスの楽しみを祈って、Merry Christmas.
    もっと言えば、長年Antispamエンジニアを募集していることを知っています.住所はここです.履歴書はhdd at zhihu dot comに送ることができます.