程序员的自我修养1

在不同的计算机体系结构中,对于数据(比特、字节、字)到等的存储和传输机制有所不同,引发了问题—通信双方交流的信息单元应该以什么样的顺序进行传递

 

通常采用的字符存储机制有两种,大端(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进程进行通信

 

每个进程都有自己独立的虚拟空间,而且每个进程只能访问自己的地址空间,从而有效做到进程隔离

 

 

通过分页,使得程序的局部性原理得到充分的利用,大大提高了内存的使用率

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值