12月18日消息,据国外媒体报道,PCWorld网站日前评出了2007年15大科技失望。这其中,既包括产品和服务,也涵盖一些令人失望的事件。
排行榜显示,微软新一代操作系统Windows Vista位居15大科技失望榜首,而苹果的新系统Leopard也未能幸免。此外,苹果iPhone手机和微软Zune播放器也都榜上有名。以下为PCWorld评出的2007年15大科技失望:
1. 微软新一代操作系统Windows Vista
历经5年的打造,Windows Vista在界面、安全、搜索和无线等方面均有较大提升。但Vista也并不是那么完美,兼容性问题,以及新增的用户帐户功能(UAC)等均给用户带来了不少麻烦。
2. 新一代DVD标准大战
对于蓝光DVD和HD DVD两大阵营,他们并未从VHS与Betamax,CD-R与CD-RW,DVD-A与SACD大战中汲取经验和教训。
3. Facebook新广告计划Beacon令人失望
4. 雅虎公司
在搜索市场落后于Google,但更重要的是向美国国会撒谎。
5. 苹果iPhone手机
除了个别小缺陷,iPhone手机本身可以说是完美的。但600美元的高价上市后不久,就下降了200美元,让用户感到很气愤。另外,不能更换运...

>> 阅读全文

Linux支持多种文件系统,包括ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等,为了对各类文件系统进行统一管理,Linux引入了虚拟文件系统VFS(Virtual File System),为各类文件系统提供一个统一的操作界面和应用编程接口。
Linux下的文件系统结构如下:
498)this.style.width=498;">
Linux下的文件系统结构
Linux启动时,第一个必须挂载的是根文件系统;若系统不能从指定设备上挂载根文件系统,则系统会出错而退出启动。之后可以自动或手动挂载其他的文件系统。因此,一个系统中可以同时存在不同的文件系统。
不同的文件系统类型有不同的特点,因而根据存储设备的硬件特性、系统需求等有不同的应用场合。在嵌入式Linux应用中,主要的存储设备为RAM(DRAM, SDRAM)和ROM(常采用FLASH存储器),常用的基于存储设备的文件系统类型包括:jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpfs等。
1. 基于FLASH的文件系统
Flash(闪存)作为嵌入式系统的主要存储媒介,有其自身的特性。Flash的写入操作只能把对应位置的1修改为0,而不能把0修改为1(擦除Flash就是把对应存储块的内容恢...

>> 阅读全文

底层软件开发人员,及所有的程序员,若想作好软件设计(良好的结构和移植性),能适应新项目的变化,就要遵循下面的原则:
·最重要的是要理解基本概念 ( 如操作系统 ),掌握设计原则 ( 如接口分层 )。
·第二是经验的积累。实践经验比书本知识更可贵,可极大提高后续工作和学习效率。
·第三是关注新的软件技术,提高自己对软件设计的理解。
需要注意的是,一个完整固定的学习路线是很难确定的,原因一是因人而异,二是技术进步很快。
这是从todaygood的blog上面摘下来的,todaygood的学习效率比我高,可能工作的环境更能锻炼人吧。就嵌入式系统软件开发的学习思路而言,我们的观点还是一致的。现在这三个方面我还都是注意的,基本上是白天在导师公司的时间里,就根据项目积累经验,总结和改进学习方法,晚上进行软件设计基础和理论基础的学习。中间穿插的休息时间就可以泡论坛,看blog,关注新的软件技术,先知道有这种技术,技术的发展状况如何。
当然,这些工作的前提是确定一个基本的知识体系框架,在校期间把框架的基础打好,尽量多扩展填充。工作之后,继续深入细化,形成专长...

>> 阅读全文

ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标:
(1)掌握主流嵌入式微处理器的结构与原理(初步定为arm9)
(2)必须掌握一个嵌入式操作系统 (初步定为uclinux或linux,版本待定)
(3)必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。
从事嵌入式软件开发的好处是:
(1)目前国内外这方面的人都很稀缺。这一领域入门门槛较高,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,大多数人无条件接触。
(2)与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。
(3)哪天若想创业,搞自已的产品,嵌入式不像应用软件那样容易被盗版。硬件设计一般都是请其它公司给订做(这叫“贴牌”:OEM),都是通用的硬件,我们只管设计软件就变成自己的产品了。
(4)兴趣所在,这是最主要的。
从事嵌入式软件开发的缺点是:
(1) 入门起点较高,所用到的技术往往都有一定难度,若软硬件基础不好,特别是操作系统级软件功底不深,则可能不适于此行。
...

>> 阅读全文

1 嵌入式系统中对内存分配的要求
①快速性。嵌入式系统中对实时性的保证,要求内存分配过程要尽可能地快。因此在嵌入式系统中,不可能采用通用操作系统中复杂而完善的内存分配策略,一般都采用简单、快速的内存分配方案。当然,对实性要求的程序不同,分配方案也有所不同。例如,VxWorks采用简单的最先匹配如立即聚合方法;VRTX中采用多个固定尺寸的binning方案。
②可靠性。也就是内存分配的请求必须得到满足,如果分配失败可能会带来灾难性的后果。嵌入式系统应用的环境千变万化,其中有一些是对可靠性要求极高的。比如,汽车的自动驾驶系统中,系统检测到即将撞车,如果因为内存分配失败而不能相应的操作,就会发生车毁人亡的事故,这是不能容忍的。
③高效性。内存分配要尽可能地少浪费。不可能为了保证满足所有的内存分配请求而将内存配置得无限大。一方面,嵌入式系统对成本的要求使得内存在其中只是一种很有限的资源;另一方面,即使不考虑成本的因素,系统有限的空间和有限的板面积决定了可配置的内存容量是很限的。
2 静态分配与动态分配
究竟应用使用静态分配还是动态分配,一直是嵌入式系统设计中...

>> 阅读全文

在Linux操作系统下有3类主要的设备文件类型:块设备、字符设备和网络设备。这种分类方法可以将控制输入/输出设备的驱动程序与其他操作系统软件分离开来。
字符设备与块设备的主要区别是:在对字符设备发出读/写请求时,实际的硬件I/O一般紧接着发生。块设备则不然,它利用一块系统内存作为缓冲区,若用户进程对设备的请求能满足用户的要求,就返回请求的数据;否则,就调用请求函数来进行实际的I/O操作。块设备主要是针对磁盘等慢速设备设计的,以免耗费过多的CPU时间用来等待。网络设备可以通过BSD套接口访问数据。
每个设备文件都有其文件属性(c/b),表示是字符设备还是块设备。另外每个文件都有2个设备号,第一个是主设备号,标识驱动程序;第二个是从设备号,标识使用同一个设备驱动程序的、不同的硬件设备。设备文件的主设备号必须与设备驱动程序在登记时申请的主设备号一致,否则用户进程将无法访问驱动程序。
系统调用时操作系统内核与应用程序之间的接口,设备驱动程序是操作系统内核与机器硬件之间的接口。设备驱动程序是内核的一部分,它完成以下功能:
◆对设备初始化和释放
◆把数据从内核传送到...

>> 阅读全文

不同于平常开发的软件,在开发嵌入式系统时,常常把所有的软件模块最终都生成一个单一的文件,我们把这个单一的文件称为image,它一般包括以下布局:
bootloader
embedded linux kernel
device driver
root filesystem
application
因此开发流程如下:
1、开发target硬件系统。
2、需要一套交叉编译工具,能够产生target目标代码
3、开发一个bootloader到target上去,用来引导内核
4、开发linux内核到target上去
5、开发一个rootfs
6、开发特定硬件的驱动程序
7、或许还需要一个实时的linux
8、开发上层的应用程序。

>> 阅读全文

手机市场已经成为中国电子终端产品中竞争最为激烈的领域之一。市调公司赛迪顾问(CCID)的一项报告显示:2003年中国智能手机市场仅有30余个型号可供消费者选择,2005年这个数字增加到87个,而到2006年市场在售的智能手机已经有120个型号之多。中国智能手机市场已经走出了最初的缓慢增长期:2006年中国智能手机市场销量已经高达1,554.2万部,占整个手机市场的12.9%。报告预测,2011年中国智能手机市场总量将会突破7,000万台。
智能手机的操作系统市场中。已经站稳脚跟的四大操作系统主要有:由微软推出的Window Mobile操作系统、以Nokia为主要发起厂商的Symbian操作系统、风光不再的Palm操作系统以及后起之秀Linux操作系统。
目前智能手机操作系统市场主要由Symbian和Windows Mobile所把持,尤以前者为甚。Nokia已经在全球手机市场取得了事实上的垄断地位,这使得由其参与并主导开发的Symbian操作系统在整个智能手机市场处于一家独大的地位:据悉,目前全球有88%的智能手机采用的是这种操作系统。由于Nokia的市场地位仍然处于持续上升的势头,因此其前景看好。Symbian的优势是它充分考虑了手机的按键设置,用户界面和操作性都非常优秀,这在一定程度上...

>> 阅读全文