好奇,弄了一個Chromium OS for VMWare 玩玩,發現Chromium OS並非像我之前想象的一樣,並非完全是一個自主研發的獨立操作系統。
啟動 Chromium OS 時 vmware 被設置成圖形模式,但一片漆黑什麼都看不到,感覺很神秘的樣子。啟動后登錄界面如下圖,登錄必須聯網才可以,默認使用 gmail 賬號。
登錄進去以後就是一個Chrome瀏覽器(如下圖),沒有桌面,感覺光禿禿,真的彷彿一個嵌入式。好奇,按了一下 Ctrl + o,試圖在Chrome瀏覽器中打開磁碟中的文件,發現文件目錄結構與 Linux 很像並且通過“lost+found”字樣初步推斷,該分區屬於 ext3 文件系統。
由於 VMWare 通過 DHCP 自動獲取 IP 上網,在 DHCP 伺服器上查到 Chromium OS 地址,無法 ping 通,無法 ssh,無法 telnet,彷彿有防火牆。
既然是工作在 VMWare 里的,那麼乾脆把 Chromium OS 磁碟掛在其他 VMWare 中試試看。
# fdisk -l
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0001d9d5
Device Boot Start End Blocks Id System
/dev/sda1 1 13 104391 83 Linux
/dev/sda2 14 78 522112+ 82 Linux swap / Solaris
/dev/sda3 79 1044 7759395 83 Linux
Disk /dev/sdb: 2988 MB, 2988442112 bytes
255 heads, 63 sectors/track, 363 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdb1 1 122 972800 83 Linux
Partition 1 has different physical/logical endings:
phys=(950, 0, 1) logical=(121, 27, 35)
Partition 1 does not end on cylinder boundary.
/dev/sdb2 122 243 972800 82 Linux swap / Solaris
Partition 2 has different physical/logical beginnings (non-Linux?):
phys=(950, 0, 2) logical=(121, 27, 36)
Partition 2 has different physical/logical endings:
phys=(1023, 63, 32) logical=(242, 55, 6)
Partition 2 does not end on cylinder boundary.
/dev/sdb3 * 243 364 972800 83 Linux
Partition 3 has different physical/logical beginnings (non-Linux?):
phys=(1023, 63, 32) logical=(242, 55, 7)
Partition 3 has different physical/logical endings:
phys=(1023, 63, 32) logical=(363, 82, 40)
Partition 3 does not end on cylinder boundary.
root@LinuxDev ~
#
看到了分區結構,/deb/sda 是我的 Linux 系統,/dev/sdb 是 Chromium OS,不過結構挺奇怪的,沒有見過。從表象上看,sdb2 是 SWAP,sdb1 和 sdb3 則可能是 ext3 文件系統。試一下:
root@LinuxDev /
# mkdir -p /mnt/chos
root@LinuxDev /
# mount /dev/sdb1 /mnt/chos
root@LinuxDev /
# ll /mnt/chos
總用量 32
drwxr-xr-x 6 platinum platinum 4096 12月 6 2009 ./
drwxr-xr-x 7 root root 168 12月 5 21:03 ../
drwxr-xr-x 2 root root 4096 12月 6 2009 etc/
drwxr-xr-x 4 root root 4096 12月 6 2009 home/
drwx------ 2 root root 16384 11月 20 08:17 lost+found/
drwxr-xr-x 4 root root 4096 12月 6 2009 var/
root@LinuxDev /
# ll /mnt/chos/etc
總用量 8
drwxr-xr-x 2 root root 4096 12月 6 2009 ./
drwxr-xr-x 6 platinum platinum 4096 12月 6 2009 ../
lrwxrwxrwx 1 root root 30 12月 6 2009 localtime -> /usr/share/zoneinfo/US/Pacific
root@LinuxDev /
# ll /mnt/chos/home/
總用量 16
drwxr-xr-x 4 root root 4096 12月 6 2009 ./
drwxr-xr-x 6 platinum platinum 4096 12月 6 2009 ../
drwx--x--x 2 platinum platinum 4096 12月 6 2009 chronos/
drwxr-xr-x 4 root root 4096 12月 6 2009 .shadow/
root@LinuxDev /
#
成功了,裡面有數據,但沒有什麼和系統相關的,換個分區試試。
root@LinuxDev /
# umount /dev/sdb1
root@LinuxDev /
# mount /dev/sdb3 /mnt/chos
root@LinuxDev /
# ll /mnt/chos
總用量 96
drwxr-xr-x 22 root root 4096 11月 20 08:08 ./
drwxr-xr-x 7 root root 168 12月 5 21:03 ../
drwxr-xr-x 2 root root 4096 11月 20 08:07 bin/
drwxr-xr-x 2 root root 4096 12月 5 20:37 boot/
drwxr-xr-x 4 root root 4096 11月 20 08:07 dev/
drwxr-xr-x 69 root root 4096 12月 5 20:35 etc/
drwxr-xr-x 3 root root 4096 11月 20 08:07 home/
drwxr-xr-x 18 root root 4096 11月 20 08:08 lib/
drwx------ 2 root root 16384 11月 20 08:06 lost+found/
drwxr-xr-x 2 root root 4096 11月 20 08:07 media/
drwxr-xr-x 3 root root 4096 11月 20 08:08 mnt/
drwxr-xr-x 3 root root 4096 11月 20 08:07 opt/
lrwxrwxrwx 1 root root 28 11月 20 08:08 postinst -> ./usr/sbin/chromeos-postinst*
drwxr-xr-x 2 root root 4096 7月 14 10:36 proc/
drwx------ 2 root root 4096 12月 5 20:38 root/
drwxr-xr-x 2 root root 4096 11月 20 08:07 sbin/
drwxr-xr-x 2 root root 4096 7月 14 06:42 selinux/
drwxr-xr-x 2 root root 4096 11月 20 08:07 srv/
drwxr-xr-x 2 root root 4096 8月 7 18:31 sys/
drwxrwxrwt 5 root root 4096 11月 20 08:09 tmp/
drwxr-xr-x 2 root root 4096 11月 20 08:07 trunk/
drwxr-xr-x 10 root root 4096 11月 20 08:07 usr/
drwxr-xr-x 13 root root 4096 11月 20 08:07 var/
root@LinuxDev /
#
恩,這個是我們的 Chromium OS 系統了。這哪是什麼獨立的系統,就是個 Linux 殼,但圖形界面是怎麼回事呢?繼續看。
既然有完整的 / 結構,那麼 chroot 進去好了:
# chroot /mnt/chos
groups: cannot find name for group ID 11
root@LinuxDev:/# cat /etc/shadow
root:*:14583:0:99999:7:::
daemon:*:14568:0:99999:7:::
bin:*:14568:0:99999:7:::
sys:*:14568:0:99999:7:::
sync:*:14568:0:99999:7:::
games:*:14568:0:99999:7:::
man:*:14568:0:99999:7:::
lp:*:14568:0:99999:7:::
mail:*:14568:0:99999:7:::
news:*:14568:0:99999:7:::
uucp:*:14568:0:99999:7:::
proxy:*:14568:0:99999:7:::
www-data:*:14568:0:99999:7:::
backup:*:14568:0:99999:7:::
list:*:14568:0:99999:7:::
irc:*:14568:0:99999:7:::
gnats:*:14568:0:99999:7:::
nobody:*:14568:0:99999:7:::
libuuid:!:14568:0:99999:7:::
syslog:*:14568:0:99999:7:::
chronos:$1$Oq2yFY0k$w.F/wm/r6ozX3RmkZgn/C0:14568:0:99999:7:::
messagebus:*:14568:0:99999:7:::
ntp:*:14568:0:99999:7:::
sshd:*:14568:0:99999:7:::
root@LinuxDev:/#
看來 root 沒有密碼,不能登錄。乾脆自己創建一個 root 級別的用戶算了,從 Chromium OS 里進入,這樣看得更清楚。
root@LinuxDev:/# useradd platinum
root@LinuxDev:/# vi /etc/passwd (修改 uid 和 gid 為 0,修改 shell 為 /bin/bash,因為發現默認是 /bin/sh)
root@LinuxDev:/# passwd platinum
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
root@LinuxDev:/#
重啟前,看看 iptables 是否被設置了
由於不知道是什麼發行版,是怎麼設置的腳本,看一下 /etc/issue 看有什麼線索。
root@LinuxDev:/# cat /etc/issue
Ubuntu karmic (development branch) \n \l
root@LinuxDev:/#
原來是 Ubuntu……
查看一下 /etc/init/iptables.conf
root@localhost:/# cat /etc/init/iptables.conf
# Copyright (c) 2009 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# iptables
#
start on login-prompt-ready
# This is run-once rather than a service.
task
script
/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT DROP
# Accept everything on the loopback
/sbin/iptables -I INPUT -i lo -j ACCEPT
/sbin/iptables -I OUTPUT -o lo -j ACCEPT
# Accept return traffic inbound
/sbin/iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# ssh
/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# Accept new and return traffic outbound
/sbin/iptables -I OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
end script
root@localhost:/#
果不其然,怪不得無法 ping 通呢,都是 DROP,全都把默認改成 ACCEPT。
關閉目前的 VMWare,啟動 Chromium OS,啟動后按 Ctrl + Alt + t 進入 terminal 模式(如圖)su 到 platinum,啟動 ssh,通過 ssh 遠程用 platinum 賬號登錄,得到提示。
QUOTE:
login as: platinum
platinum@172.17.40.102's password: ********
Linux localhost 2.6.30-chromeos-intel-menlow #1 SMP Fri Nov 20 00:03:08 UTC 2009 i686
To access official Ubuntu documentation, please visit:
http://help.ubuntu.com/
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
Could not chdir to home directory /home/platinum: No such file or directory
root@localhost:/#
看看啟動參數
QUOTE:
root@localhost:/home/chronos# cat /boot/extlinux.conf
DEFAULT chromeos-usb
PROMPT 0
TIMEOUT 0
label chromeos-usb
menu label chromeos-usb
kernel vmlinuz
append quiet console=tty2 initrd=initrd.img init=/sbin/init boot=local rootwait root=LABEL=C-ROOT ro noresume noswap i915.modeset=1 loglevel=1
label chromeos-hd
menu label chromeos-hd
kernel vmlinuz
append quiet console=tty2 init=/sbin/init boot=local rootwait root=HDROOT ro noresume noswap i915.modeset=1 loglevel=1
root@localhost:/home/chronos#
看看映射結構
QUOTE:
QUOTE:
root@localhost:/# df
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 957496 603088 305768 67% /
udev 255548 169284 86264 67% /dev
/dev/disk/by-label/C-ROOT
957496 603088 305768 67% /
/tmp 255548 8 255540 1% /tmp
shmfs 255548 140 255408 1% /dev/shm
/dev/sda1 957496 80328 828528 9% /mnt/stateful_partition
/dev/sda1 957496 80328 828528 9% /var/cache
/dev/sda1 957496 80328 828528 9% /var/log
vartmp 255548 20 255528 1% /var/tmp
/dev/sda1 957496 80328 828528 9% /home
varrun 255548 56 255492 1% /var/run
varlock 255548 0 255548 0% /var/lock
/media 255548 0 255548 0% /media
/dev/mapper/cryptohome
811972 36088 740900 5% /home/chronos
root@localhost:/# mount
rootfs on / type rootfs (rw)
none on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
none on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type tmpfs (rw,relatime,mode=755)
none on /dev/.bootchart/proc type proc (rw,relatime)
/dev/disk/by-label/C-ROOT on / type ext3 (ro,relatime,errors=continue,data=writeback)
/tmp on /tmp type tmpfs (rw,relatime)
shmfs on /dev/shm type tmpfs (rw,nosuid,nodev,relatime)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620)
/dev/sda1 on /mnt/stateful_partition type ext3 (rw,relatime,errors=continue,data=writeback)
/dev/sda1 on /var/cache type ext3 (rw,relatime,errors=continue,data=writeback)
/dev/sda1 on /var/log type ext3 (rw,relatime,errors=continue,data=writeback)
vartmp on /var/tmp type tmpfs (rw,nosuid,nodev,noexec,relatime)
/dev/sda1 on /home type ext3 (rw,relatime,errors=continue,data=writeback)
varrun on /var/run type tmpfs (rw,nosuid,relatime,mode=755)
varlock on /var/lock type tmpfs (rw,nosuid,nodev,noexec,relatime)
/media on /media type tmpfs (rw,relatime)
/dev/mapper/cryptohome on /home/chronos type ext4 (rw,nosuid,nodev,noexec,relatime,barrier=1,data=ordered)
root@localhost:/#
看到了嗎,/home/chronos 是個加密分區,裡面存放的全是 Chromium 自己的私有數據信息。奇怪,不是 Chromium 或叫 Chrome 嗎?
這個“chronos”是不是作者想寫“chromos”時的筆誤?而這個 Chromium OS for VMWare 又是誰製作的呢?呵呵,不得而知……
比較奇怪,有 3 個 /dev/sda1 分別映射到3 個不同的目錄,但3 個目錄裡面內容卻不同,具體原因不明,不知道哪位朋友清楚ps ax 看看都跑了什麼吧
QUOTE:
PID TTY STAT TIME COMMAND
1 ? Ss 0:01 /sbin/init
2 ? S< 0:00 [kthreadd]
3 ? S< 0:00 [migration/0]
4 ? S< 0:00 [ksoftirqd/0]
5 ? S< 0:00 [migration/1]
6 ? S< 0:00 [ksoftirqd/1]
7 ? S< 0:00 [events/0]
8 ? S< 0:00 [events/1]
9 ? S< 0:00 [cpuset]
10 ? S< 0:00 [khelper]
13 ? S< 0:00 [netns]
16 ? S< 0:00 [async/mgr]
161 ? S< 0:00 [kblockd/0]
162 ? S< 0:00 [kblockd/1]
164 ? S< 0:00 [kacpid]
165 ? S< 0:00 [kacpi_notify]
282 ? S< 0:00 [ata/0]
283 ? S< 0:00 [ata/1]
284 ? S< 0:00 [ata_aux]
288 ? S< 0:00 [ksuspend_usbd]
293 ? S< 0:00 [khubd]
296 ? S< 0:00 [kseriod]
364 ? S 0:00 [pdflush]
365 ? S 0:00 [pdflush]
366 ? S< 0:00 [kswapd0]
417 ? S< 0:00 [aio/0]
418 ? S< 0:00 [aio/1]
433 ? S< 0:00 [crypto/0]
434 ? S< 0:00 [crypto/1]
514 ? S< 0:00 [pciehpd]
708 ? S< 0:00 [scsi_eh_0]
711 ? S< 0:00 [scsi_eh_1]
747 ? S< 0:00 [kpsmoused]
754 ? S< 0:00 [kstriped]
759 ? S< 0:00 [kondemand/0]
760 ? S< 0:00 [kondemand/1]
764 ? S< 0:00 [usbhid_resumer]
1015 ? S< 0:00 [kjournald]
1036 ? S< 0:00 [kjournald]
1060 ? SLs 0:01 /usr/bin/slim -d
1065 tty2 Ss+ 0:00 /sbin/getty -8 38400 tty2
1069 tty1 Ss+ 0:05 /usr/bin/X -nolisten tcp vt01 -auth /var/run/slim.auth
1079 ? S 0:00 /bin/dd if=/proc/kmsg of=/var/run/rsyslog/kmsg
1081 ? Ss 0:00 /bin/dbus-daemon --system --fork
1082 ? Ss 0:00 /sbin/wpa_supplicant -u -s -O/var/run/wpa_supplicant
1085 ? Sl 0:00 /usr/sbin/rsyslogd -c4
1089 ? Ss 0:00 /usr/sbin/connmand
1092 ? Ssl 0:00 /usr/sbin/console-kit-daemon
1155 ? S 0:00 /sbin/dhclient -d -q -e BUSNAME=org.moblin.connman -pf /var/run/connman/dhclient.eth0.pid -lf /var/run/connman/dhclient.eth0.leases -cf /usr/lib/connma
1167 ? Ts 0:00 /sbin/init
1185 ? Ss 0:00 /usr/sbin/acpid --confdir /etc/acpi/events --socketfile /var/run/acpid.socket
1238 ? S<s 0:00 /sbin/udevd --daemon
1351 ? S< 0:00 /sbin/udevd --daemon
1357 ? S< 0:00 /sbin/udevd --daemon
1432 ? Ss 0:00 /usr/sbin/ntpd -g -u ntp:ntp
1683 ? S< 0:01 [loop0]
1697 ? S< 0:00 [kdmflush]
1721 ? S< 0:00 [kcryptd_io]
1722 ? S< 0:00 [kcryptd]
1726 ? S< 0:00 [kjournald2]
1741 ? S 0:00 /usr/bin/ck-launch-session /etc/X11/chromeos-xsession
1762 ? S 0:17 /usr/bin/chromeos-wm --hotkey_overlay_image_dir=/usr/share/chromeos-assets/images --panel_anchor_image=/usr/share/chromeos-assets/images/panel_anchor.p
1763 ? S 0:00 /bin/sh /usr/bin/chromeos-chrome --loop
1765 ? S 0:00 /usr/bin/xscreensaver -no-splash
1793 ? S 0:00 /usr/lib/devicekit-power/devkit-power-daemon
1800 ? S 0:00 /usr/lib/devicekit-disks/devkit-disks-daemon
1801 ? S 0:00 devkit-disks-daemon: not polling any devices
1819 ? Sl 0:08 /opt/google/chrome/chrome --enable-plugins --enable-gview --no-first-run --user-data-dir=/home/chronos/cu.platinum@gmail.com/.config/google-chrome
1827 ? S 0:00 /opt/google/chrome/chrome --enable-plugins --enable-gview --no-first-run --user-data-dir=/home/chronos/cu.platinum@gmail.com/.config/google-chrome
1828 ? S 0:00 /opt/google/chrome/chrome --type=zygote
1839 ? Sl 0:01 /opt/google/chrome/chrome --channel=1819.b6192a8.686734735 --type=renderer --lang=en-US --force-fieldtest=AsyncSlowStart/_AsyncSlowStart_off/DnsImpact/
1848 ? Sl 0:00 /opt/google/chrome/chrome --channel=1819.b6d9bb0.155889903 --type=renderer --lang=en-US --force-fieldtest=AsyncSlowStart/_AsyncSlowStart_off/CacheSize/
1851 ? S 0:00 /usr/bin/xterm -bg black -fg grey
1852 pts/0 Ss 0:00 bash
1863 pts/0 S 0:00 su - platinum
1872 pts/0 S+ 0:00 -su
1891 ? Ss 0:00 /usr/sbin/sshd
1894 ? Rs 0:00 sshd: platinum@pts/1
1908 pts/1 Ss 0:00 -bash
1931 pts/1 R+ 0:00 ps ax
無線用的是:/sbin/wpa_supplicant
DHCP 客戶端:/sbin/dhclient
kill 掉 chrome 進程,回到登錄界面,進程變為
QUOTE:
PID TTY STAT TIME COMMAND
1 ? Ss 0:01 /sbin/init
2 ? S< 0:00 [kthreadd]
3 ? S< 0:00 [migration/0]
4 ? S< 0:00 [ksoftirqd/0]
5 ? S< 0:00 [migration/1]
6 ? S< 0:00 [ksoftirqd/1]
7 ? S< 0:00 [events/0]
8 ? S< 0:00 [events/1]
9 ? S< 0:00 [cpuset]
10 ? S< 0:00 [khelper]
13 ? S< 0:00 [netns]
16 ? S< 0:00 [async/mgr]
161 ? S< 0:00 [kblockd/0]
162 ? S< 0:00 [kblockd/1]
164 ? S< 0:00 [kacpid]
165 ? S< 0:00 [kacpi_notify]
282 ? S< 0:00 [ata/0]
283 ? S< 0:00 [ata/1]
284 ? S< 0:00 [ata_aux]
288 ? S< 0:00 [ksuspend_usbd]
293 ? S< 0:00 [khubd]
296 ? S< 0:00 [kseriod]
364 ? S 0:00 [pdflush]
365 ? S 0:00 [pdflush]
366 ? S< 0:00 [kswapd0]
417 ? S< 0:00 [aio/0]
418 ? S< 0:00 [aio/1]
433 ? S< 0:00 [crypto/0]
434 ? S< 0:00 [crypto/1]
514 ? S< 0:00 [pciehpd]
708 ? S< 0:00 [scsi_eh_0]
711 ? S< 0:00 [scsi_eh_1]
747 ? S< 0:00 [kpsmoused]
754 ? S< 0:00 [kstriped]
759 ? S< 0:00 [kondemand/0]
760 ? S< 0:00 [kondemand/1]
764 ? S< 0:00 [usbhid_resumer]
1015 ? S< 0:00 [kjournald]
1036 ? S< 0:00 [kjournald]
1065 tty2 Ss+ 0:00 /sbin/getty -8 38400 tty2
1079 ? S 0:00 /bin/dd if=/proc/kmsg of=/var/run/rsyslog/kmsg
1081 ? Ss 0:00 /bin/dbus-daemon --system --fork
1082 ? Ss 0:00 /sbin/wpa_supplicant -u -s -O/var/run/wpa_supplicant
1085 ? Sl 0:00 /usr/sbin/rsyslogd -c4
1089 ? Ss 0:01 /usr/sbin/connmand
1092 ? Ssl 0:00 /usr/sbin/console-kit-daemon
1155 ? S 0:00 /sbin/dhclient -d -q -e BUSNAME=org.moblin.connman -pf /var/run/connman/dhclient.eth0.pid -lf /var/run/connman/dhclient.eth0.leases -cf /usr/lib/connma
1167 ? Ts 0:00 /sbin/init
1185 ? Ss 0:00 /usr/sbin/acpid --confdir /etc/acpi/events --socketfile /var/run/acpid.socket
1238 ? S<s 0:00 /sbin/udevd --daemon
1351 ? S< 0:00 /sbin/udevd --daemon
1357 ? S< 0:00 /sbin/udevd --daemon
1432 ? Ss 0:00 /usr/sbin/ntpd -g -u ntp:ntp
1793 ? S 0:00 /usr/lib/devicekit-power/devkit-power-daemon
1800 ? S 0:00 /usr/lib/devicekit-disks/devkit-disks-daemon
1801 ? S 0:00 devkit-disks-daemon: not polling any devices
1891 ? Ss 0:00 /usr/sbin/sshd
1894 ? Rs 0:01 sshd: platinum@pts/1
1908 pts/1 Ss 0:00 -bash
2107 ? Ss 0:00 /usr/bin/slim -d
2115 tty1 Ss+ 0:01 /usr/bin/X -nolisten tcp vt01 -auth /var/run/slim.auth
2128 ? Ts 0:00 /sbin/init
2426 pts/1 R+ 0:00 ps ax
圖形界面依賴於 X,而 google 系統實際上就是 slim 了。也許我分析的不正確,但如果真是這樣,Chromium OS 充其量就是做了個類似 GNOME、KDE 的東西而已。
個人認為,這樣的東西不能稱之為“OS”,OS 是 Operating System 的縮寫,也就是“操作系統”。
什麼是操作系統?
操作系統在維基百科中文版中的定義如下:
操作系統(Operating System,簡稱OS) , 是電子計算機系統中負責支撐應用程序運行環境以及用戶操作環境的系統軟體,同時也是計算機系統的核心與基石。它的職責常包括對硬體的直接監管、對各種計算資源(如內存、處理器時間等)的管理、以及提供諸如作業管理之類的面嚮應用程序的服務等等。
操作系統在維基百科英文版的定義 如下:
An operating system is a special computer program that manages the relationship between application software, the wide variety of hardware that makes up a computer system, and the user of the system.
那麼,既然 google 出了這個 OS,那麼我們很正常地從字面上認為他是自己來實現的,否則為何叫自己的 OS 呢?但是呢?他所做的部分僅僅是一個定製好的圖形界面,大多數內容不是自己的。
如果這樣的話,我們自己寫一個 shell,替換 /bin/bash,當用戶登錄的時候,完全是我所安排的人機對話界面。那麼試問,我們這個安裝在 Linux 中的 shell 算不算是“POS”(Platinum-OS) 呢?
如果不算,那麼 Chromium OS 與我們的“POS”又有什麼本質區別呢?如果“POS”算是“OS”的話,那麼微軟的“DOS”可是真夠冤的了,畢竟人家什麼都做了,而“POS”只是一個 shell……
以上是我的一些分析,可能有不對的地方,歡迎大家指正。