如何制作可启动U盘

如果你还在用光盘装系统,你就OUT啦……从Windows Vista开始,U盘已经可以被用来启动机器并安装系统了。

在制作可启动U盘之前,你需要:

  1. 一个U盘,最好是4G或更大的
  2. 一张Windows 7或者Vista的光盘
  3. 一台正在运行Windows 7或者Vista的电脑

然后按照下列步骤:

  1. 将U盘连上电脑
  2. 打开管理员模式的命令行(开始菜单->所有程序->附件->命令提示符,右键单击,选择“以管理员方式打开”)
  3. 在命令行中输入下列命令(粗体部分):
    1. diskpart (进入diskpart工具)
    2. list disk (列出所有的磁盘,其中可以看到U盘的信息,通常是最后一个)
    3. select disk 1 (选择磁盘1,其中数字'1'需要按实际情况更改)
    4. clean (清除磁盘上的分区信息)
    5. create partition primary (创建一个主分区)
    6. select partition 1 (选择刚才创建的分区)
    7. active (激活这个分区)
    8. format fs=NTFS quick (快速格式化磁盘)
    9. assign (给这个分区分配一个盘符)
    10. exit (退出diskpart工具)
  4. 现在在资源管理中就可以看到新的U盘的分驱了
  5. 把Windows 7/Vista的光盘塞进光驱
  6. 把光盘中的内容全部复制到U盘

大功告成。以后就可以把光盘抛弃,直接使用这个U盘来装系统了……

我想要的手机和笔记本套装

这年头,什么都注重整合,整合有助于资源共享,减少不必要的损失。手机和笔记本也不例外。

以下是我想要的手机和笔记本套装,之所以称之为套装,是因为它们可以协同工作:

1. 两者可以通过某种方式连接

连接方式可以是无线(WIFI),也可以是有线;当然有线的更好,因为速度快。连接后,笔记本和手机之间可以共享数据。

2. 两者可以共享电力

主要是笔记本可以为手机充电,这样出门在外,带一个充电器就够了;在极端情况下,手机也可为笔记本充电。

3. 两者可以共享硬件资源

  • 笔记本可自动使用手机的无线通信功能,用户不需要主动设置无线AP,也可以防止无线路由被盗用。
  • 手机可置于笔记本的一侧,作为笔记本的小键盘、鼠标或者手写板;或者置于笔记本键盘和屏幕之间,作为笔记本的副屏幕(类似罗技的G19的设计);双屏幕的好处是,用户在进行全屏操作时(如玩游戏或看电影),不会被一些通知和提醒打断(如QQ消息)。
  • 笔记本中的应用程序可使用手机的部份硬件,如摄像头、GPS等,来增强笔记本的功能。

4. 两者可以共享软件数据

  • 手机可自动为笔记本作某些认证,如付款时的短信认证,或者以某个帐户登录,不需要用户额外的操作。
  • 手机和笔记本可以自动同步资料,如未看完的视频、文档等,方便用户随时切换所使用的设备。
希望不久的将来能有类似的产品出现……

数据未对齐产生的内存异常

CPU读取数据的时候,通常以4字节(Word)为一个单位来读取(32位CPU);换句话说,当一个Word的地址为4的倍数的时候,CPU的读取速度会比较快。于是编译器会有一个优化,就是当某个变量(比如char[])的长度不是4的倍数的时候,编译器会把它补齐,填充一些没用的数据,以便之后的数据的地址可以继续为4的倍数。这样一来CPU也就开心了。

但是总有情况是编译器没办法处理的,比如下面的代码:

很明显,如果a的地址为4*N,那么b的地址就是4*N+1,就不是4的倍数了。

在这种情况下,一些CPU,如X86和AMD64,会通过一些复杂指令,比如多次读取然后移位来计算b的值,这样会损失一些性能,但好歹是能正常工作的。但是另一些CPU,如ARM和IA-64,会拒绝读取这样的地址,直接扔出一个异常,说是数据有问题(memory corruption)。这样就导致了一些在X86上跑得好好的应用程序,拿到IA-64上就出问题了。

要解决对齐的问题,需要看具体情况,能修复成对齐就最好了,如果很困难的话,可以偷懒用__unaligned关键字。加了__unaligned关键字的变量,编译器使把存取操作自动改成单字节操作,这样就不会产生对齐的问题了,当然,性能会有损失。

HDD vs SSD

以前在选购硬盘的时候,注重的参数大概只有容量(320G、500G或1T之类)和转速(5400rpm或7200rpm),而现在又多了一个名词:SSD(固态硬盘)。相比之下,传统的硬盘可被称机械硬盘(HDD)。

机械硬盘的工作原理和光盘类似,硬盘内部的盘片高速旋转,有一个磁头在它表面读取(或写入)数据;而固态硬盘更像是U盘(闪存),内部没有转动的部件,读取靠电路实现,于是固态硬盘没有转速(rpm)这个参数。

两种类型的硬盘各有千秋,尽管很多厂商都看好SSD的前景,但也有不看好的。这里有一些粗略的比较,希望对你选购硬盘有帮助:

  • 价格:SSD技术仍在发展中,而HDD已经相当成熟了,所以SSD的价格远高于HDD。一块250G、2.5寸的笔记本HDD售价大概是400元,同样的价格只能买一个30G的SSD。
  • 容量:目前发售的SSD通常在512G以下,HDD的容量可能2T或3T。
  • 重量:相对来说SSD轻一点。
  • 可靠性:由于HDD中有活动部件,在使用过程中应尽量避免倾斜或震动,而SSD没有这种担忧。
  • 读写速度:SSD的读写速度是HDD的10倍以上,且SSD不受磁盘碎片的影响。
  • 寿命:HDD中每个存储单元的读写次数理论上没有限制,SSD中每个单元的读写次数上限大概是2百万次,在SSD的使用中应该尽量避免频繁地读写某一块特定区域,比如虚拟内存文件之类的。Windows 7中已经对SSD提供了比较好的支持

如果你既想享受SSD的速度,又只想花费HDD的价格的话,有一个折衷的方案——双硬盘。一些OEM厂商提供了双硬盘的机型,一个较小的SSD用来装系统和应用程序,一个较大的HDD用来存放数据,这样既加快了系统的运行速度,又不用花太多钱。

多核 vs 超线程

在Windows的任务管理器中会显示CPU的信息(如下),右侧的几个矩形框表示有多少个CPU,从下图来看,似乎我的机器上有4个CPU,但实际上呢?

实际上我的机器上可能有4个独立的CPU,或者有2个双核的CPU,或者有一个2双核带有超线程功能的CPU,……可能性有很多,性能差距也会很大。

为什么这么说呢?首先来看一下多核的概念。简单来说一个多核的CPU就相当于多个单核的CPU,比方说双核的Intel T7300,它的性能大约相当于2个单核同规格的CPU,(可能会差一点点,比如二级缓存是共享的)。在仅支持单CPU的主板上(大部分个人电脑的主板都这样),使用多核CPU可以明显提升运算速度。

相对于多核,超线程是指在一个CPU的核心上有多个线程,一般是两个。不支持超线程的CPU在同一时刻只会运行一条指令,这样就产生了一个问题,这条指令可能只用到了CPU 50%的电路,还有50%是空闲着的,于是计算资源就浪费了。于是Intel就提出了超线程技术,如果相临的两条指令可以同时执行而互不影响,那CPU会优化这个过程,以达到提升计算速度的效果,但实际使用过程中效果并不明显。

所以,即使任务管理器中显示有两个方框,也并不代表所用的是双核的CPU,比如Atom N450,而大多数Atom芯片都是单核双线程的。买电脑之前还是先查一下资料为好,不要被商家忽悠了。

ARM vs x86

CPU(中央处理器)是冯·诺依曼体系的五大部件之一。说到CPU,就一定会提到著名的386架构,又称80386或者i386。尽管它在20年前就已经被淘汰了,但它的设计一直影响至今。386及其后续产品被统称为x86,是现在主流的32位CPU架构之一,后来的AMD64架构是从x86中扩展出来的,也被称为x86-64架构。现在主流的Intel Core 2、i3/i5/7、Atom、Sandy Bridge、AMD Phenom都是基于x86架构设计的,所以如果你正在使用台式机或者笔记本电脑的话,有99%的可能性,你正在使用x86架构的CPU。

那ARM又是什么呢?ARM是另外一种CPU的架构,它是由一个同名的公司设计的。ARM公司是一种很奇特的公司,它只做ARM芯片的设计,但不生产,其它公司需要购买ARM的授权才可以生产ARM芯片。这样做的好处之一是ARM公司可以专注于芯片设计,而不用在建造生产线上投入很多精力;但也有坏处,就是公司之间的互相扯皮会影响ARM的推广。ARM现在主要流行于移动设备中,比如手机。很多手机都使用Cortex-A8芯片,如iPhone 4、Motorola Droid、Palm Pre、三星i9000、Nokia N900等。

那ARM和x86有什么不同呢?从使用它们的设备可以看出,x86主要被用于个人电脑,而ARM被用于手机。这也体现出它们的特性:相对来说x86芯片计算能力更强,效率更高;但ARM芯片比较省电,在同样计算量的情况下,待机时间要比x86芯片更长。这两种芯片的应用领域不同,它们之间并没有很好的可比性,我们只需要了解这些名词,买东西的时候不要被不良商家给骗了就行了……

高清 vs 1080p

现在显卡性能好了,网速也快了,下载的影片的画质也逐渐变好了,于是就出现了“高清”这个词。无论是在线播放的视频,还是下载的电影,都开始套用“高清”的概念,那到底什么高清呢?

一般来说,高清电影是指分辨率达到720p或者1080p的影片,其中1080p又被称为全高清。720p即分辨率1280*720,1080p则是1920*1080。也就是说,如果你的显示器分辨率是1920*1080,某部电影播放的时候直接撑满整个屏幕,(而不需要放大),那这部电影就是1080p的。720p同理。通常一部1080p的影片文件大小要超过8GB(H.264格式),即视频比特率在1MB/s(注意是大B)左右。720p的影片至少要2GB。偏小的文件就会不算高清了……

而现在一些在线视频网站很不厚道地拿高清来做噱头,用一些画质相对较好的片子来冒充高清,其实720p影片的比特率都要超过256KB/s,2M的ADSL即使全速下载,也会有延迟。所以想看高清的同学,还是下载了再看吧……

顺便附一张各种缩略语和尺寸的对照表,一目了然: