作業系統ENDIAN(位元組儲存次序)

keeptrying發表於2013-03-15

在各種計算機體系結構中,對於位元組、字等的儲存機制有所不同,因而引發了計算機通訊領域中一個很重要的問題,即通訊雙方交流的資訊單元(位元、位元組、字、雙字等等)應該以什麼樣的順序進行傳送。如果不達成一致的規則,通訊雙方將無法進行正確的編/譯碼從而導致通訊失敗。

目前在各種體系的計算機中,通常採用big-endianlittle-endian兩種位元組儲存機制描述在多位元組數中各個位元組的儲存順序。

 

1big-endian

按照最高位位元組(包含最高位,即MSB,的位元組)至最低位位元組(包含最低位,即LSB,的位元組)的順序,存放在連續的地址中。

採用這種機制的處理器有IBM3700系列、PDP-10Mortolora微處理器系列和絕大多數的RISC處理器。

MotorolaPowerPC系列CPU採用big endian方式儲存資料。

2little-endian

按照最低位位元組(包含LSB的位元組)至最高位位元組(包含MSB的位元組)的順序,存放在連續的地址中。

採用這種機制的處理器有PDP-11VAXIntel系列微處理器和一些網路通訊裝置。

Intelx86系列用little endian方式儲存資料。

3Middle-endian

除了big-endianlittle-endian之外的多位元組儲存順序就是middle-endian。這種儲存順序偶爾會在一些小型機體系中的十進位制數的壓縮格式中出現。

 

PLATFORM_ID PLATFORM_NAME                       ENDIAN_FORMAT

----------- -------------            ----------------------

          1 Solaris[tm] OE (32-bit)             Big

          2 Solaris[tm] OE (64-bit)             Big

          3 HP-UX (64-bit)                      Big

          4 HP-UX IA (64-bit)                   Big

          5 HP Tru64 UNIX                       Little

          6 AIX-Based Systems (64-bit)          Big

          7 Microsoft Windows IA (32-bit)       Little

          8 Microsoft Windows IA (64-bit)       Little

          9 IBM zSeries Based Linux             Big

         10 Linux IA (32-bit)                   Little

         11 Linux IA (64-bit)                   Little

12 Microsoft Windows 64-bit for AMD    Little

13 Linux 64-bit for AMD                Little

15 HP Open VMS                         Little

16 Apple Mac OS                        Big

17 Solaris Operating System (x86)      Little

18 IBM Power Based Linux               Big

 

 

 

 

 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25744374/viewspace-756236/,如需轉載,請註明出處,否則將追究法律責任。

相關文章