在不同的计算机体系结构中,对于数据(比特、字节、字)到等的存储和传输机制有所不同,引发了问题—通信双方交流的信息单元应该以什么样的顺序进行传递
通常采用的字符存储机制有两种,大端(big-endian)和小端(lillte-endian)
首先定义两个概念:
MSB(Mostsignificant bit/byte)最重要的字、字节。通常用来表明在一个Bit、byte中对整个取值影响最大的那个Bit、byte
LSB(lestsignificant bit\byte)最不重要。。。。。。
比如0x12345678:0x12/0x34/0x56/0x78
0x12是MSB,0X78是LSB,而对于0x78二进制是01111000,最左的0是MSB,最右的0是LSB
Big-endian和little-endian的区别就是big-endian规定MSB在存储时存放在低地址、在传输时MSB放在流的开始;LSB存储时放在高地址、在传输时放在流的末尾
Little-endian主要用于我们现在的pc的cpu中,即intel中的x86系列兼容机,big-endian则主要应用在目前的MAC机器,一般指powerpc系列处理器。目前的tcp/ip网络及java虚拟机的字节序都是big-endian的
温故而知新
向硬件发送i/o命令的方式有多种,最常见的一种就是通过读写I/o端,寄存器未实现
在x86平台中,共有65536个硬件端口寄存器,不同的硬件被分配到不同的i/o端口地址,CPU提供专门指令”in””Out”实现对硬件端口的读和写
对于IDE接口来说,有两个通道,分别为IDE0和IDE1,每一个通道可以连接两个设备—master和slave,一个PC中最多可以有四个IDE设备。正常硬件所在位置为IDE0的Master硬盘上。在PC中,IDE0通道的I/O端口地址是0x1f0~0x1f7及0x376~0x377,通过读写这些端口地址就能与IDE进程进行通信
每个进程都有自己独立的虚拟空间,而且每个进程只能访问自己的地址空间,从而有效做到进程隔离
通过分页,使得程序的局部性原理得到充分的利用,大大提高了内存的使用率