前沿
前沿
- LJ 指数,2010年8月
- Android:好事过多了吗?
- 我有什么硬件?
- 运行 Linux 的自动驾驶汽车
- diff -u:内核开发的新内容
- 非 Linux FOSS
- HTML5,老手的新技术
- 2010年读者选择奖
- LJ 商店本月特色产品:终极 Linux 礼品包
- 他们说过
- Ubuntu One:出售免费
- 发行版聚焦
LJ 指数,2010年8月
1. 英特尔 8080 微处理器的晶体管数量(千):4.5
2. 英特尔 80286 微处理器的晶体管数量(千):134
3. 英特尔 80386 微处理器的晶体管数量(千):275
4. 英特尔奔腾微处理器的晶体管数量(千):3,100
5. 英特尔奔腾 4 微处理器的晶体管数量(千):42,000
6. AMD K8 (Athlon 64) 微处理器的晶体管数量(千):105,900
7. 英特尔酷睿 i7 微处理器的晶体管数量(千):731,000
8. 八核至强 Nehalem-EX 微处理器的晶体管数量(千):2,300,000
9. RV820 ATI/AMD GPU 的晶体管数量(千):2,154,000
10. GF100 NVIDIA GPU 的晶体管数量(千):3,000,000
11. 1990 年每千兆字节硬盘驱动器成本:53,000 美元
12. 1995 年每千兆字节硬盘驱动器成本:850 美元
13. 2000 年每千兆字节硬盘驱动器成本:20 美元
14. 2005 年每千兆字节硬盘驱动器成本:1 美元
15. 2010 年每千兆字节硬盘驱动器成本:0.10 美元
16. 1990 年每千兆字节内存成本:119,706 美元
17. 1995 年每千兆字节内存成本:33,024 美元
18. 2000 年每千兆字节内存成本:1,598 美元
19. 2005 年每千兆字节内存成本:189 美元
20. 2010 年每千兆字节内存成本:21 美元
1–10: en.wikipedia.org/wiki/Transistor_count
11–14: ns1758.ca/winch/winchest.html
15, 20: www.newegg.com
Android:好事过多了吗?
Android 无处不在。真的。它运行在手机、平板电脑上,最近,我甚至看到它运行在 iPhone 上。就在几年前,这会让我欣喜若狂。说实话,现在仍然如此,但我现在更加怀疑了。你看,两年前,Linux 在上网本上无处不在。我以为这是一个重大突破——Linux 终于进入了主流。
但是,供应商的自定义和“简化”使 Linux 看起来像是一个不一致的拼凑物,而不是一个自由而强大的选择。到目前为止,Android 在不同硬件上看起来相当一致。到目前为止,许多应用程序都可以工作,无论您的设备支持哪个 Android 版本。希望供应商能够看到上网本所犯的错误,并将他们的“品牌”保持在最低限度。手机供应商和无线运营商有很多方法可以搞砸我们征服世界的努力。再次。
尊敬的供应商,请不要试图通过在 Android 之上添加专有软件来销售更多手机。如果您添加软件,请将其贡献回社区。如果您想销售更多手机,请制造比竞争对手更好的手机。(拜托!)
我有什么硬件?
通常您可能不一定知道您拥有什么样的硬件——您可能有一个来自小型公司的无名盒子或一台二手机器。本月,我将介绍您可以用来找出已安装硬件的工具。
首先是 lshw。这个实用程序 LiSts HardWare (lshw)。如果您以普通用户身份运行它,它实际上会警告您以 root 身份运行它。所以继续运行sudo lshw。您应该看到系统的屏幕信息。第一部分将是常规信息,应该看起来像这样
jbernard-eeepc description: Notebook product: 700 vendor: ASUSTeK Computer INC. version: 0129 serial: EeePC-1234567890 width: 32 bits capabilities: smbios-2.5 dmi-2.5 smp-1.4 smp configuration: boot=normal chassis=notebook ↪cpus=1 uuid=XXXXXX-XXXXX-XXXXX-XXXXX
这是我在我的小 ASUS EeePC 上运行时得到的结果。您可以立即找到这款小野兽的制造商 (ASUSTeK)、BIOS 版本 (0129) 以及它是一台具有一个 CPU 的 32 位机器的事实。更多信息分为以下几类
core firmware - motherboard and BIOS information cpu - CPU information cache - cache information memory - memory information bank - specific bank memory information pci - PCI bus information display - PCI display adapter multimedia - PCI audio adapter pci - other PCI devices network - PCI network adapter usb - USB devices ide - IDE information disk - individual disks volume - volumes on this disk
为了了解有多少信息可用,主内存部分显示了关于我的 EeePC 的这些信息
*-memory description: System Memory physical id: 1f slot: System board or motherboard size: 512MiB *-bank description: DIMM DDR2 Synchronous 400 MHz (2.5 ns) product: PartNum0 vendor: Manufacturer0 physical id: 0 serial: SerNum0 slot: DIMM0 size: 512MiB width: 64 bits clock: 400MHz (2.5ns)
这个实用程序基本上是一个一体化工具,可以一次性吐出系统上的所有内容。但是,如果您只想了解机器中特定子系统的信息怎么办?为此存在一整套实用程序,当您需要一些特定信息或想在脚本中进行一些系统查询时,它们可能会更有用。
您可能想查看 CPU。lscpu 实用程序提供类似于以下的输出
Architecture: i686 CPU op-mode(s): 32-bit CPU(s): 1 Thread(s) per core: 1 Core(s) per socket: 1 CPU socket(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 13 Stepping: 8 CPU MHz: 571.427
由此,您可以看到制造商、它是 32 位还是 64 位、确切的版本和型号以及当前的 CPU 频率。
如果您想知道您的显卡是否受 X11 支持,或者您是否需要找到第三方驱动程序,您可以使用 lspci。此实用程序列出了插入 PCI 总线的所有设备。输出看起来像这样
00:02.0 VGA compatible controller: Intel Corporation ↪Mobile 915GM/GMS/910GML Express Graphics Controller (rev 04) 00:02.1 Display controller: Intel Corporation ↪Mobile 915GM/GMS/910GML Express Graphics Controller (rev 04)
此信息表明我的 EeePC 中的视频控制器是英特尔控制器。因此,如果您愿意,您现在可以使用此信息在 Google 上搜索以了解您的显卡以及如何最好地配置它。如果您想查看系统上有哪些 USB 设备,请使用 lsusb。在我的 EeePC 上,我安装了一张 SD 卡,它显示为这样
Bus 001 Device 002: ID 0951:1606 Kingston Technology
如果您对磁盘子系统感兴趣,您可以使用 blkid 实用程序找出您的系统有哪些。此实用程序打印出所有可用的文件系统,输出格式如下
/dev/sda1: UUID="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" TYPE="ext2" /dev/sda2: UUID="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" TYPE="swap" /dev/sda3: UUID="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" TYPE="ext2" /dev/sdb1: UUID="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" TYPE="ext2"
使用此实用程序,您可以了解哪些设备可用以及在这些设备上使用了哪些文件系统。如果您想在 /etc/fstab 中的条目中使用 UUID,也可以使用关联的 UUID。
现在您知道了系统上有什么样的硬件,最后要检查的是内核是否真的在使用可用的硬件。在大多数现代发行版中,内核被编译为使用模块。您可以使用 lsmod 命令检查以查看加载了哪些模块。您将获得一个看起来像这样的列表
agpgart 31788 2 drm,intel_agp lp 7028 0 video 17375 1 i915 output 1871 1 video
您可以看到 agpgart 模块的大小为 31788 字节,并被 drm 和 intel_agp 模块使用。
现在,希望您可以配置和优化您的硬件,以便充分利用它。如果您发现此处未涵盖的其他实用程序,我很乐意听到它们。
运行 Linux 的自动驾驶汽车
今年夏天,两辆电动汽车将沿着古老的丝绸之路(vislab.it/Projects/view/32/VisLab%27s_new_adventure_on_the_Silk_road)从意大利米兰行驶到中国上海。驾驶将完全是自主的,由 Linux 识别和处理软件控制。这些汽车正在帕尔马大学的人工视觉和智能系统实验室由 Alberto Broggi 和他的团队开发。请继续阅读 Alberto 关于该项目的采访。
Anton: 您最近宣布了米兰-上海倡议。您能解释一下其背后的主要目的吗?
Alberto: 我们设计驾驶员辅助系统来帮助驾驶员并减少事故(提高道路安全)。通过这次旅行,我们正在将我们的技术推向极限,并试图赋予车辆足够的智能,使其能够完全自主驾驶。
Anton: 您的意思是,通过这次旅行,您试图获得尽可能多的道路统计数据吗?
Alberto: 不仅如此。车辆不仅在某些危险情况下帮助驾驶员,而且将在 整个 行程中完全自我管理(它将完全控制油门、转向和刹车)。换句话说,它不仅会在给定的情况下处于活动状态,而且会在整个 13,000 公里的行程中处于活动状态。我们还将记录所有数据,以便我们返回帕尔马后可以多次回放整个行程。最后,我们计划在大量完全不同的情况下(例如山地、平坦、丘陵、交通、无交通、雨天、灰尘、越野等等)测试其他驾驶辅助系统。
Anton: 哪些组织帮助您设计汽车和支持技术?
Alberto: 只有我们自己,这要归功于我从 ERC(欧洲研究委员会)获得的资助。
Anton: 那么您有一辆普通的菲亚特汽车,您创建了支持软件,然后就出发了吗?
Alberto: 不,我们有意大利汽车公司比亚乔制造的电动汽车。我们将在中国之旅中使用的车辆是电动的,并将配备太阳能电池板为电子驾驶员供电。最初,我们想用太阳能电池板为驱动电池充电,但目前的技术还不够成熟。因此,我们仅为传感器、PC 和执行器(即整个自动驾驶仪)供电。我们现在使用的车辆(但不是将前往中国的车辆)称为 BRAiVE (www.braive.vislab.it),它包含我们将在中国车辆上拥有的技术的超集。BRAiVE 是一辆传统的汽油车。
Anton: 详细说明车辆的架构——尤其是软件部分。
Alberto: 架构很简单:七个摄像头、五个激光扫描仪、GPS、IMU(惯性测量单元)——全部连接到三台 Linux PC。PC 获取数据,处理数据并将命令发送到驱动方向盘、油门和刹车的执行器。所有软件都是我们在过去 15 年中开发的。我们一直在将此软件用于其他挑战,例如 DARPA Grand Challenge 或 Urban Challenge。
Anton: DARPA 挑战赛是在干燥和阳光充足的地方进行的。您是否尝试在更恶劣的条件下进行测试,例如在雨雪天气中?
Alberto: 我们在 2006 年在美国亚利桑那州尤马基地(我们在那里自动化了一辆 PLS 车辆)和 2001 年在南极洲(我们自动化了一辆雪地车,该雪地车沿着先前车辆留下的轨迹行驶)进行了测试。BRAiVE 也可以在小雨中工作。大雨确实是一个问题(就像大雾或雪一样)。
Anton: 在这辆公路赛车之前开发了多少个原型?
Alberto: 嗯,很多!BRAiVE、TerraMax T2、Oshkosh PLS、Mini、Hummer——只需看看我们的原型页面:vislab.it/Prototypes。
Anton: 您是如何开始使用 Linux 的?
Alberto: 我从 Linux 创建之初就开始使用它了!Linux 比 Windows 更稳定,对于这些关键应用程序,它可以提供我们需要的性能。
Anton: 您具体使用哪种 Linux 版本,以及您如何处理数据(识别视频对象)——这是一个 HPC 集群还是普通的 PC?
Alberto: 我们从 Fedora 11 开始,并对其进行了自定义,以删除桌面发行版的典型所有功能(服务和软件包),仅保留最低限度。我们使用 Fluxbox 作为窗口管理器,gcc-4.4.3、kdevelop-3.9.99、gdb-7.0.1 作为开发环境。我们在本地 LAN 上使用普通 PC(Core 2 Duo T7100,主频 1.8GHz,2MB 缓存 L2,FSB 800MHz,1GB DDR2)。
Anton: 哪些组件是由您的团队编程的,哪些是由开源社区完成的?
Alberto: 我们工作的真正实质是视觉识别和数据处理,因此我的团队在过去 15 年中一直忙于这项内部任务。环境重建是最困难的任务。一旦您有了周围环境的 3D 表示,控制车辆就不是很复杂了。我们的软件是用 ISO C++ 编写的,使用了一些最少的附加开源库,如 boost、loki 和 wxWidgets。
Anton: 您的车辆现在可以绕过哪些一般障碍物,哪些障碍物还不能绕过?
Alberto: 可以检测到从路面升起的任何障碍物。我们无法检测到小型障碍物。例如,路缘并不总是被检测到,但行人、车辆和小型动物等较大的障碍物会被检测到。从技术上讲,我们可以定位到足够可见的障碍物。确实,这需要时间,因此,该系统将无法以 200 英里/小时的速度工作(我们需要增加我们的计算机马力)。我们的电动汽车以较低的速度运行(到目前为止的最高速度为 70 公里/小时),因此我们没有问题。其他系统(硬件和软件)是为其他车辆开发的,具体取决于其速度(基于更具穿透性的传感器和更快的处理速度)。
Anton: 这种技术(无人驾驶)在哪些领域已经需求旺盛,您认为在哪些领域部署它会很有用?
Alberto: 肯定是在军事领域,但在农业领域也有巨大的需求。想想在田野里自动移动并 24/7 工作的自动拖拉机。而且,我们已经与卡特彼勒合作多年(并且目前正在合作),他们对将我们的技术应用于他们的矿用车辆感兴趣。此外,这些年来,我们在航空(PEGASE 项目)、道路建设(TOPCON 项目)和许多其他领域(vislab.it/Projects)做了一些辅助项目。
Anton: 是什么阻止他们现在使用您的技术?
Alberto: 环境条件是最困难的挑战。我们现在正在努力调整我们的算法,使其在非常崎岖的地形上工作,当车辆在地形颠簸上跳跃时。现在我们能够实时(10Hz)用两个摄像头重建 3D 世界,并警告驾驶员注意障碍物的存在。
Anton: 介绍一下您的团队。
Alberto: 我团队的所有人都是工程师,几乎所有人都是博士,我们都有电气/计算机科学背景。
Anton: 您有一个校友程序。您期望加入您的团队以帮助进一步开发此原型的学生具备哪些资格?
Alberto: 嗯,关于这个原型,我们已经快完成了(我们将在不到三个月的时间内出发)。但对于进一步的项目(我们有很多项目!),理想的候选人应该有积极性,并且应该能够流利地说 C++。
diff -u:内核开发的新内容
Jonathan Cameron 在尝试为 环境光传感器 引入新的子系统时,感到有些失望。他的理由并不差。有几个现有的环境光传感器驱动程序,它们都分散在不同的子系统中。他创建新子系统只不过是将这些驱动程序收集在一起并编写一些文档。但是,Linus Torvalds 否决了整个计划,称环境光传感器本质上是输入设备,不应该被赋予自己的子系统。因此,Jonathan 的新 ALS 子系统 可能不会实现,但据推测,人们现在正在努力将这些驱动程序收集到一个更合理的组织中。
Constantine Shulyupin 正在征求关于如何更新他的 Linux 内核地图 的意见,该地图位于 www.makelinux.net/kernel_map。它是内核整体结构的高级视图,完整链接到 lxr.free-electrons.com,其中定义和跟踪了各种标识符。
Greg Kroah-Hartman 一直在维护 staging tree,但最近他开始在考虑补丁提交方面落后了。Joe Perches 询问原因,结果发现 Greg 一直在做演讲、撰写文章和搬家,结果现在积压了 600 个补丁。各种人讨论了 Greg 的标准流程可能发生的变化,其中包括他只是查看收到的补丁并对其做出决定。Joe 自愿提供帮助。Greg 不愿意改变他的工作流程,特别是自从问题是由事件的汇合造成的,但他确实接受了 Joe 的提议,并请他处理收到的补丁请求,而 Greg 继续处理积压的工作。
Phillip Lougher 在 SquashFS 方面遇到了障碍。他试图更新一些非常难看的代码,Linus Torvalds 要求他首先修复难看之处。现在 Phillip 陷入了这堆棘手的难看之处,它触及了许多不同的架构,这些架构与 SquashFS 项目没有直接关系,但如果他希望他的 SquashFS 补丁进入内核,他就无法避免处理这些架构。Tim Bird 最近询问了 SquashFS 的状态,而这基本上就是 Phillip 在回复中告诉他的内容。这些补丁将不得不等到 Phillip 找到时间来深入研究那些混乱的包含文件。
Linux Plumber's Conference 将于今年 11 月 3 日至 5 日在马萨诸塞州剑桥市举行。总体主题将是跨越多个接口的项目,因此,将涉及可能通常不直接相互合作的开发人员组。形式将是一系列集思广益的“轨道”,人们将在其中尝试找出处理这些各种跨项目问题的最佳方法。查看 wiki.linuxplumbersconf.org/2010:topics 以获取正在考虑的“轨道”的当前列表。
SCST 通用 SCSI 目标子系统 已从使用 ProcFS 进行配置迁移到使用 SysFS。新的接口记录在源代码树中的 README 文件中。Vladislav Bolkhovitin 最近宣布了这一更改,并补充说旧的 ProcFS 接口现在已正式过时,这意味着维护驱动程序、dev 处理程序和管理实用程序的开发人员应开始更新其代码,并期望 ProcFS 接口将在某个时候消失。这种情况通常的工作方式是,所有活跃的维护人员都会迁移他们的代码,然后有人会尝试删除 SCST ProcFS 接口。接下来,有人会从幕后跳出来说,有这个或那个驱动程序会崩溃,然后会有另一个等待期。该过程将重复进行,直到明确表明任何剩余的使用 ProcFS 接口的代码要么完全无人维护,要么根本没有用户。然后 ProcFS 接口将被删除,并且可能仍然依赖它的项目也可能从内核中删除。
非 Linux FOSS
仅仅因为您的手机运行的是 Linux(并且让我们希望它是),这并不意味着您不能使用 Windows 计算机与其通信。Droid Explorer 是一个开源程序,允许您以 Windows 资源管理器允许您管理本地文件的方式管理您的 Android 设备。
Droid Explorer 支持多个设备,允许您轻松地将文件复制到您的设备和从您的设备复制文件,协助应用系统更新,提供 shell 窗口,允许您重启到恢复模式,提供包管理器来安装/卸载 Android 包 (APK),它甚至可以让您拍摄 Android 设备的屏幕截图。而这仅仅是个开始。
Droid Explorer 是用 C# 为 .NET 平台编写的。当前版本是 0.8.4.3-Beta,它位于 de.codeplex.com。如果您是一位正在寻找新项目的 Mono 程序员,那么开发人员正在寻找有人参与并帮助转换 UI 以在 Mono 上运行。
HTML5,老手的新技术
每个人(包括我自己)都对 HTML5 以及它将如何使我们能够在没有专有插件的情况下拥有更丰富的内容感到兴奋。那些讨厌 Adobe 的人对摆脱 Flash 在互联网场景中的统治地位感到兴奋,但还有一群人对在互联网多媒体场景中拥有 任何 选择感到兴奋——PowerPC 用户。
Flash 的开源替代品当然存在,但不幸的是,它们在大多数需要 Flash 的站点上都不能很好地工作。由于 Adobe 从未为 Linux 用户发布 PPC 版本的 Flash,因此当我们希望重新利用旧的 Apple 计算机时,当用户询问 Flash 时,我们没有任何答案——而 Flash 无处不在!
HTML5 会成为在 G4 和 G5 计算机上运行 Linux 的人们的白马骑士吗?互联网向 HTML5 的过渡是否会比旧的 PowerPC 野兽剩余的运行时间更长?我们很快就会看到。我当然很想看到我们的旧 Apple 计算机重新投入使用!
2010年读者选择奖
在今年的读者选择奖中,在 www.linuxjournal.com/rc10 投票选出您最喜欢的 Linux 和开源项目。投票将于 2010 年 8 月 20 日截止。获奖者将在 Linux Journal 2010 年 12 月刊中公布。
LJ 商店本月特色产品:终极 Linux 礼品包
终极 Linux 礼品包包括一年的(12 期)Linux Journal 礼品印刷订阅。除了为期一年的订阅外,您的收件人还将立即收到礼品包。包裹中的物品包括
最新一期 Linux Journal 的副本,以便收件人可以在订阅生效之前开始阅读。
Powered by Linux 磁铁。
2010 Linux Odyssey T 恤。
一包什锦贴纸。
Penguin Party bumpersticker。
I Want YOU! 按钮。
包含超过 180 期杂志过刊的 Linux Journal 存档 CD-ROM。
2010 Tux the Penguin 壁挂日历。

零售价值为 120 美元。您的价格仅为 59.95 美元(美国境外为 79.95 美元)。立即在 www.linuxjournalstore.com 订购。
他们说过
我们都同意你的理论很疯狂,但它够疯狂吗?
—尼尔斯·玻尔
如果你认为教育很昂贵,那就试试无知。
—德里克·博克
痛苦是不可避免的。苦难是可选的。
—M. Kathleen Casey
坏事除非更糟发生,否则永远不是好事。
—丹麦谚语
像你将永远活着一样梦想。像你今天就要死去一样生活。
—詹姆斯·迪恩
困难吸引了有性格的人,因为正是在拥抱困难的过程中,他实现了自我。
—夏尔·戴高乐
技术就像鱼。在货架上停留的时间越长,就越不受欢迎。
—Andrew Heller,IBM
用 C++ 编写的最后一个好东西是帕赫贝尔卡农。
—杰瑞·奥尔森
看我不在乎。
—呆伯特
Ubuntu One:出售免费
爱它或恨它,云计算都将继续存在。现在正在向计算机用户提供大量的云服务,就像我之前提到的那样,Canonical 也在做同样的事情。随着它的成熟,Ubuntu One 开始在其功能集中推出越来越多的服务,包括
文件同步(如 Dropbox 或 Macs 的 Mobile Me)。
首选项同步(Mobile Me 做了一些)。
联系人同步(Mobile Me 和 Google 都这样做)。
我相信,随着越来越多的开发人员利用 Ubuntu One 的开源客户端,我们将看到越来越多的应用程序利用同步、备份和离线功能。不幸的是,虽然 Canonical 为所有用户提供云中的免费存储空间,但这并不意味着所有功能都将包含在免费安装中。例如,联系人同步使用 Funambol 的技术与移动设备同步。这意味着 Canonical 必须为联系人同步付费,并且必须将该费用转嫁给最终用户。
当然,为服务付费不是一件坏事。不幸的是,Google 确实 免费提供其绝大多数服务,包括在移动设备上同步联系人。希望 Canonical 继续尽可能保持 Ubuntu One API 的开放性,社区将与他们并肩作战,以提供否则会花钱的功能。我不介意为云中的存储付费,但为其他地方免费提供的功能付费是一件难以接受的事情。
发行版聚焦
每周左右,我们都会选择一个 Linux 发行版在 LinuxJournal.com 上突出显示。您会在我们网站的每个页面上看到发行版聚焦。我们希望您经常访问并添加评论来为您最喜欢的发行版加油,并分享您的想法、技巧和陷阱。在这个过程中,我们希望展示一些鲜为人知的瑰宝,尽管我们仍然会庆祝大众喜爱的内容。请务必查看当前的精选,也许您会找到您新的最喜欢的发行版。如果您想接受有趣的挑战,请与我们一起尝试每个发行版!谁不喜欢重新安装 Linux 的理由呢?
当您在 LinuxJournal.com 时,请随时给我留言,告诉我网站上的内容对您来说效果如何。您可以在 www.linuxjournal.com/users/webmistress 找到我。