百度空间 | 百度首页 
 
查看文章
 
Google的Android
2007-11-20 13:53
by tombkeeper@xfocus.org
from http://hi.baidu.com/tombkeeper


看了一下google发布的Android SDK。这个SDK带的模拟器是基于qemu做的,模拟的CPU是ARM926EJ-S。内核是Linux,版本居然是簇新的2.6.23。而且我发现还开启了SELinux,看来想溢出Android是没戏了。网上无数人贴Android的运行界面,我这里贴点内核启动信息让大家看看爽一下:

Uncompressing Linux................................................................................. done, booting the kernel.
Linux version 2.6.23-gcc3bc3b4 (arve@arvelnx.corp.google.com) (gcc version 4.2.1) #3 Tue Oct 30 16:28:18 PDT 2007
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00003137
Machine: Goldfish
Memory policy: ECC disabled, Data cache writeback
CPU0: D VIVT write-through cache
CPU0: I cache: 4096 bytes, associativity 4, 32 byte lines, 32 sets
CPU0: D cache: 65536 bytes, associativity 4, 32 byte lines, 512 sets
Built 1 zonelists in Zone order. Total pages: 24384
Kernel command line: qemu=1 console=ttyS0 androidboot.console=ttyS0 android.checkjni=1 keycharmap=qwerty2 android.ril=ttyS1
Unknown boot option `androidboot.console=ttyS0': ignoring
Unknown boot option `android.checkjni=1': ignoring
Unknown boot option `android.ril=ttyS1': ignoring
PID hash table entries: 512 (order: 9, 2048 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 96MB = 96MB total
Memory: 94212KB available (2268K code, 458K data, 96K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
android_power_init
android_power_init done
NET: Registered protocol family 16
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
checking if image is initramfs... it is
Freeing initrd memory: 295K
goldfish_new_pdev goldfish_interrupt_controller at ff000000 irq -1
goldfish_new_pdev goldfish_device_bus at ff001000 irq 1
goldfish_new_pdev goldfish_timer at ff003000 irq 3
goldfish_new_pdev goldfish_rtc at ff010000 irq 10
goldfish_new_pdev goldfish_tty at ff002000 irq 4
goldfish_new_pdev goldfish_tty at ff011000 irq 11
goldfish_new_pdev smc91x at ff012000 irq 12
goldfish_new_pdev goldfish_fb at ff013000 irq 13
goldfish_new_pdev goldfish_events at ff014000 irq 14
goldfish_new_pdev goldfish_nand at ff015000 irq -1
goldfish_new_pdev goldfish-switch at ff016000 irq 15
goldfish_new_pdev goldfish-switch at ff017000 irq 16
goldfish_pdev_worker registered goldfish-switch
goldfish_pdev_worker registered goldfish-switch
goldfish_pdev_worker registered goldfish_nand
goldfish_pdev_worker registered goldfish_events
goldfish_pdev_worker registered goldfish_fb
goldfish_pdev_worker registered smc91x
goldfish_pdev_worker registered goldfish_tty
goldfish_pdev_worker registered goldfish_tty
goldfish_pdev_worker registered goldfish_rtc
goldfish_pdev_worker registered goldfish_timer
goldfish_pdev_worker registered goldfish_device_bus
goldfish_pdev_worker registered goldfish_interrupt_controller
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
yaffs Oct 30 2007 16:24:34 Installing.
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
allocating frame buffer 480 * 320, got ffc00000
Console: switching to colour frame buffer device 60x40
console [ttyS0] enabled
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
loop: module loaded
nbd: registered device at major 43
smc91x.c: v1.1, sep 22 2004 by Nicolas Pitre <nico@cam.org>
No IRQF_TRIGGER set_type function for IRQ 12 (goldfish)
eth0: SMC91C11xFD (rev 1) at c6800000 IRQ 12 [nowait]
eth0: Ethernet addr: 52:54:00:12:34:56
goldfish nand dev0: size 4000000, page 2048, extra 64, erase 131072
goldfish nand dev1: size 4000000, page 2048, extra 64, erase 131072
mice: PS/2 mouse device common for all mice
*** events probe ***
events_probe() addr=0xc6804000 irq=14
input: goldfish-events-keyboard as /class/input/input0
goldfish_rtc goldfish_rtc: rtc core: registered goldfish_rtc as rtc0
logger: created 64K log 'log_main'
logger: created 64K log 'log_events'
logger: created 64K log 'log_radio'
IPv4 over IPv4 tunneling driver
GRE over IPv4 tunneling driver
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
VFP support v0.3: implementor 41 architecture 1 part 10 variant 9 rev 0
goldfish_rtc goldfish_rtc: setting the system clock to 2007-11-20 01:08:55 (1195520935)
Freeing init memory: 96K
init:
HOW ARE YOU GENTLEMEN
init: reading config file
init: device init
init: mtd partition -1,
init: mtd partition 0, "system"
yaffs: dev is 32505856 name is "mtdblock0"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.0, "mtdblock0"
init: mtd partition 1, "userdata"
yaffs: dev is 32505857 name is "mtdblock1"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.1, "mtdblock1"
eth0: link up
# binder_open(c0844300 c0918440) (pid 456) got c5542000
binder_open(c0844300 c0918dc0) (pid 467) got c46fc000
android_power: auto off timeout set to 604800 seconds
binder_open(c0844300 c0adcde0) (pid 464) got c473b000
binder_open(c0844300 c0adc460) (pid 503) got c3967000
binder_open(c0844300 c425fcc0) (pid 507) got c3a1c000
binder_open(c0844300 c3541ce0) (pid 515) got c354a000
binder_open(c0844300 c2fa3be0) (pid 604) got c2d8b000
System halted.

以前零星听到关于google要涉足手机市场的消息时,我还有些纳闷:智能手机市场的争夺其实主要是软件的争夺,google如何跟发展了这么多年的WM和Symbian争天下?Moto当年的试水linux的时候,基本就是死在这个原因上。最近我逐渐明白了:有钱,一切皆有可能。

首先,google花钱砸出了一个兼容java的“gava”。也就是说,你用java写的程序,拿gava的编译器可以直接编译,然后就可以在Android上运行。这样既绕过了sun关于java的许可证限制,又解决了以前那么多基于j2ee/j2me开发的手机程序的兼容问题。

第二,google拿了一千万美金作为奖金,搞了一个基于Android的编程竞赛。50个入围的,每人可以拿2.5万;10个银奖,每人10万;10个金奖,每人27.5万(算一下,这好像才500万,还有500万干吗用了呢?)。可以想象一下,那些辛辛苦苦写ListPro、Handstory的程序员们得卖多少份软件才能卖出27.5万啊。此举一定会吸引大批给Windows CE、PALM、Symbian写软件的人们来尝试一下。

解决了软件来源问题,其它就都好办了。作为手机厂商来说,有这么一个不花钱的平台可用,何乐而不为呢?所以包括微软的老搭档HTC在内的几乎所有大手机厂商都和google达成了合作协议。

顺便说一句,我发现Android居然内置了中文字体,我估计应该CJK都可以:



很多年前,业内就有人说linux未来最大的发展将是嵌入式领域,其次才是服务器。Android的出现,也许会成为Linux嵌入式时代的一个里程碑。

 
网友评论:
1
2007-11-20 14:01 | 回复
按照惯例,先顶再看
 
2
2007-11-20 14:56 | 回复
好爽!
 
3
2007-11-20 15:51 | 回复
下一个增长点一定在手机上了。 我正琢磨,电子书、电子新闻这些东西,是否有可能成为咱可做的东西。
 
4
2007-11-20 17:40 | 回复
微软雅黑
 
5
2007-11-20 19:13 | 回复
如果实物有截图那么大 就不叫手机 叫掌机了
 
6
2007-11-20 22:32 | 回复
突然有个想法, 当linus宣布他停止开发linux时,linux是否会开始天下大乱? 不知道这个想法是否和千年虫一样不必要.
 
7
2007-11-20 22:56 | 回复
不会。linux社区和freebsd不同,少了谁都照样能运转。最多redhat的股票短暂地跌两天。
 
8
2007-11-20 23:36 | 回复
嗯,希望是这个样子. 不过任何团体都希望有一个具有开拓和影响力的人来做一个"core". 也许到时候"linux"会稍稍打点折扣.
 
10
2009-08-31 13:57 | 回复
Orz....看了半天,最后是一句System halted.
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu