Mac系统是苹果机专用系统,正常情况下在普通pc上无法安装的操作系统
苹果公司不但生产MAC的大部分硬件,连MAC所用的操作系统都是它自行开发的,接下来,我们就来了解一下它的操作系统。
苹果机现在的操作系统已经到了OS 10,代号为MAC OSX(X为10的罗马数字写法),这是MAC电脑诞生15年来最大的变化。新系统非常可靠,它的许多特点和服务都体现了苹果公司的理念。
另外,现在疯狂肆虐的电脑病毒几乎都是针对Windows的,由于MAC的架构与Windows不同,所以很少受到病毒的袭击。MAC OSX操作系统界面非常独特,突出了形象的图标和人机对话(人机对话界面就是由苹果公司最早开创的,后来才被微软的Windows所看中并在Windows中广泛应用)。苹果公司能够根据自己的技术标准生产电脑、自主开发相对应的操作系统,可见它的技术和实力非同一般。打个比方,苹果公司就像是Dell和微软的联合体,在软硬件方面“才貌双全”。
环境:VMWare ESX4.0,Ubuntu 9.10 Server
在本地为Ubuntu创建VMWare的虚拟机后,复制,创建一个新的克隆镜像,启动,网卡无效,显示错误”eth0: ERROR while getting interface flags: No such device”。
原因
新克隆的虚拟机镜像的网卡mac地址已经变更。打开虚拟机的.vmx文件,ethernet0.generatedAddress项记录了该虚拟机的mac地址。
查看所有适配器信息
ifconfig -a
发现除了原来的eth0外,Ubuntu已经将新网卡命名为eth1。
Ubuntu保存网卡mac地址和设备名的配置文件在
/etc/udev/rules.d/70-persistent-net.rules
网卡的网络配置保存在
/etc/network/interfaces
该配置文件中只有原来eth0的配置信息。
解决方案1
移动/删除rules文件。(未验证)
重启后Ubuntu会创建新的rules文件。
将新网卡辨认为eth0,沿用原eth0的网络配置。
如果网络配置是自动获取IP,则无需做其他修改。
sudo mv /etc/udev/rules.d/70-persistent-net.rules
/etc/udev/rules.d/70-persistent-net.rules.old
解决方案2
修改rules文件。(未验证)
sudo pico /etc/udev/rules.d/70-persistent-net.rules
原内容如下
# PCI device 0×1022:0×2000 (pcnet32)
SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”,
ATTR{address}==”00:0c:29:50:xx:xx”, ATTR{type}==”1″, NAME=”eth0″
# PCI device 0×1022:0×2000 (pcnet32)
SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”,
ATTR{address}==”00:0c:29:36:xx:xx”, ATTR{type}==”1″, NAME=”eth1″
删除eth1的配置,用eth1的mac地址替代eth0的mac地址。
# PCI device 0×1022:0×2000 (pcnet32)
SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”,
ATTR{address}==”00:0c:29:36:xx:xx”, ATTR{type}==”1″, NAME=”eth0″
重启后Ubuntu同样会将新网卡辨认为eth0,沿用原eth0的网络配置。
如果网络配置是自动获取IP,则无需做其他修改。
解决方案3
修改interfaces文件。(已验证)
sudo pico /etc/network/interfaces
将所有的eth0替换为eth1。
如果是静态地址则同时修改相应设置。
Use this bidirectional, versatile method to pass data between kernel and user space.
Due to the complexity of developing and maintaining the kernel, only the most essential and performance-critical code are placed in the kernel. Other things, such as GUI, management and control code, typically are programmed as user-space applications. This practice of splitting the implementation [...]
网络文件系统(NFS,Network File System)是一种将远程主机上的分区(目录)经网络挂载到本地系统的一种机制,通过对网络文件系统的支持,用户可以在本地系统上像操作本地分区一样来对远程主机的共享分区(目录)进行操作。
在嵌入式Linux 的开发过程中,开发者需要在Linux 服务器上进行所有的软件开发,交叉编译后,通用FTP 方式将可执行文件下载到嵌入式系统运行,但这种方式不但效率低下,且无法实现在线的调试。因此,可以通过建立NFS,把Linux 服务器上的特定分区共享到待调试的嵌入式目标系统上,就可以直接在嵌入式目标系统上操作Linux 服务器,同时可以在线对程序进行调试和修改,大大的方便了软件的开发。因此,NFS 的是嵌入式Linux 开发的一个重要的组成部分,本部分内容将详细说明如何配置嵌入式Linux 的NFS 开发环境。
嵌入式Linux 的NFS 开发环境的实现包括两个方面:一是Linux 服务器端的NFS 服务器支持;二是嵌入式目标系统的NFS 客户端的支持。因此,NFS 开发环境的建立需要配置Linux 服务器端和嵌入式目标系统端。
一、Linux 服务器端NFS 服务器的配置
以root 身份登陆Linux 服务器,编辑/etc 目录下的共享目录配置文件exports,指定共享目录及权限等。
执行如下命令编辑文件/etc/exports:
# vi /etc/exports
在该文件里添加如下内容:
/home/work 192.168.0.*(rw,sync,no_root_squash)
然后保存退出。
添加的内容表示:允许ip 地址范围在192.168.0.*的计算机以读写的权限来访问/home/work 目录。
/home/work 也称为服务器输出共享目录。
括号内的参数意义描述如下:
rw:读/写权限,只读权限的参数为ro;
sync:数据同步写入内存和硬盘,也可以使用async,此时数据会先暂存于内存中,而不立即写入硬盘。
no_root_squash:NFS 服务器共享目录用户的属性,如果用户是 root,那么对于这个共享目录来说就具有 root 的权限。
接着执行如下命令,启动端口映射:
# /etc/rc.d/init.d/portmap start
最后执行如下命令启动NFS 服务,此时NFS 会激活守护进程,然后就开始监听 Client 端的请求:
# /etc/rc.d/init.d/NFS start
用户也可以重新启动Linux 服务器,自动启动NFS 服务。
在NFS 服务器启动后,还需要检查Linux 服务器的防火墙等设置(一般需要关闭防火墙服务),确保没有屏蔽掉NFS 使用的端口和允许通信的主机,主要是检查Linux 服务器iptables,ipchains 等选项的设置,以及/etc/hosts.deny,/etc/hosts.allow 文件。
我们首先在Linux 服务器上进行NFS 服务器的回环测试,验证共享目录是否能够被访问。在Linux服务器上运行如下命令:
# mount –t NFS 192.168.0.20:/home/work /mnt
# ls /mnt
命令将Linux 服务器的NFS 输出共享目录挂载到/mnt 目录下,因此,如果NFS 正常工作,应该能够在/mnt 目录看到/home/work 共享目录中的内容。
二、嵌入式目标系统NFS 客户端的配置
在Linux 服务器设置好后,还需要对客户端进行相关配置。在配置内核时选择Load an Alternate Configuration File输入配置文件的路径和文件名添加内核对NFS的支持:
选中networking options-》IP:kernel level auloconfiguralion项
选中file systems-》network file systems-》下的root file system on NFS
和NFS file system support重新编译内核下载bootloader和kernel到开发板上
在嵌入式目标系统的Linux Shell 下,执行如下命令来进行NFS 共享目录挂载:
# mkdir /mnt/NFS //建立Linux 服务器输出共享目录的挂载点;
# mount –t NFS 192.168.0.20:/home/work /mnt/NFS –o nolock
# cd /mnt/NFS
# ls
此时,嵌入式目标系统端所显示的内容即为Linux 服务器的输出目录的内容,即Linux 服务器的输出目。
录/home/work [...]
写一点关于minix引导过程的文章,这里从无系统状态下的引导写起。
我在google wave上发起了一个wave来注解minix。希望大家参与进来。
当系统起动的时候系统BIOS把默认起动盘的第一个扇区装进内存的固定位置(0×7C00),然后从装载的位置开始执行这段代码。这段代码就是master boot recod(简称MBR,中文意思是系统主引导),硬盘的第一个分区就是master boot block(系统主引导区)。在一个没有分区的硬盘上,硬盘的第一个分区上是一个用来加载系统引导程序的主引导程序(bootblock)。如果一个硬盘有分区,硬盘第一个扇区上的主引导程序(masterboot)开始执行后会先把自己移动到另一段内存空间,然后读取分区表,根据分区表找到分区,然后像BIOS一样把分区当作一个独立一硬盘,读取分区的第一个扇区(masterboot或jumpboot或bootblock)到首地址为0×7C00的内存空间并执行它。一个MINIX分区有和一个没有分区的硬盘一样的结构,每个分区的第一个扇区都是一个引导扇区可以用来加载系统引导程序,或者如果该分区没有安装系统就是一段跳到下一个分区引导的程序。
总结一下就是:对于一个分区了的硬盘,第一个扇区上是masterboot程序;硬盘上没有安装系统的分区的第一个扇区上是jumpboot程序;装有系统的分区的第一个扇区上是bootblock程序。对于没有分区的硬盘,硬盘第一个扇区上直接存放的就是bootblock程序。
下面进入源码:
! masterboot 2.0 – Master boot block code Author: Kees J. Bot
!
! This code may be placed in the first sector (the boot sector) of a floppy,
! hard disk or hard disk primary partition. There it will perform the
! following actions at boot time:
!
! – If the booted device is a [...]
0 Makefile概述
什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和 professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解 HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完 成大型工程的能力。
因为,makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定 义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个 Shell脚本一样,其中也可以执行操作系统的命令。
makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的 效率。make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的 make,Visual C++的nmake,Linux下GNU的make。可见,makefile都成为了一种在工程方面的编译方法。
现在讲述如何写makefile的文章比较少,这是我想写这篇文章的原因。当然,不同产商的make各不相同,也有不同的语法,但其本质 都是在“文件依赖性”上做文章,这里,我仅对GNU的make进行讲述,我的环境是RedHat Linux 8.0,make的版本是3.80。必竟,这个make是应用最为广泛的,也是用得最多的。而且其还是最遵循于IEEE 1003.2-1992 标准的(POSIX.2)。
在这篇文档中,将以C/C++的源码作为我们基础,所以必然涉及一些关于C/C++的编译的知识,相关于这方面的内容,还请各位查看相关的编译器的文档。这里所默认的编译器是UNIX下的GCC和CC。
0.1 关于程序的编译和链接
在此,我想多说关于程序编译的一 些规范和方法,一般来说,无论是C、C++、还是pas,首先要把源文件编译成中间代码文件,在Windows下也就是 .obj 文件,UNIX下是 .o 文件,即 Object File,这个动作叫做编译(compile)。然后再把大量的Object File合成执行文件,这个动作叫作链接(link)。
编译时,编译器需要的是语法的正确,函数与变量的声明的正确。对于后者,通常是你需要告诉编译器头文件的所在位置(头文件中应该只是声明,而定义 应该放在C/C++文件中),只要所有的语法正确,编译器就可以编译出中间目标文件。一般来说,每个源文件都应该对应于一个中间目标文件(O文件或是 OBJ文件)。
链接时,主要是链接函数和全局变量,所以,我们可以使用这些中间目标文件(O文件或是OBJ文件)来链接我们的应用程序。链接器并不管函 数所在的源文件,只管函数的中间目标文件(Object File),在大多数时候,由于源文件太多,编译生成的中间目标文件太多,而在链接时需要明显地指出中间目标文件名,这对于编译很不方便,所以,我们要给 中间目标文件打个包,在Windows下这种包叫“库文件”(Library File),也就是 .lib 文件,在UNIX下,是Archive File,也就是 .a 文件。
总结一下,源文件首先会生成中间目标文件,再由中间目标文件生成执行文件。在编译时,编译器只检测程序语法,和函数、变量是否被声明。如 果函数未被声明,编译器会给出一个警告,但可以生成Object File。而在链接程序时,链接器会在所有的Object File中找寻函数的实现,如果找不到,那到就会报链接错误码(Linker Error),在VC下,这种错误一般是:Link 2001错误,意思说是说,链接器未能找到函数的实现。你需要指定函数的Object File.
好,言归正传,GNU的make有许多的内容,闲言少叙,还是让我们开始吧。
1 Makefile 介绍
make命令执行时,需要一个 Makefile 文件,以告诉make命令需要怎么样的去编译和链接程序。
首先,我们用一个示例来说明Makefile的书写规则。以便给大家一个感兴认识。这个示例来源于GNU的make使用手册,在这个示例中,我们的 工程有8个C文件,和3个头文件,我们要写一个Makefile来告诉make命令如何编译和链接这几个文件。我们的规则是:
如果这个工程没有编译过,那么我们的所有C文件都要编译并被链接。
如果这个工程的某几个C文件被修改,那么我们只编译被修改的C文件,并链接目标程序。
如果这个工程的头文件被改变了,那么我们需要编译引用了这几个头文件的C文件,并链接目标程序。
只要我们的Makefile写得够好,所有的这一切,我们只用一个make命令就可以完成,make命令会自动智能地根据当前的文件修改的情况来确定哪些文件需要重编译,从而自己编译所需要的文件和链接目标程序。
1.1 Makefile的规则
在讲述这个Makefile之前,还是让我们先来粗略地看一看Makefile的规则。
target … : [...]
一种方法是在语言选项中选择中文,系统将会自动增加中文输入。
二是用”apt-get install scim”安装SCIM,然后用”apt-get install scim-chinese”或者“apt-get install scim-tables-zh”安装中文输入法。
在/etc/X11/Xsession.d/里新建一个名叫95xinput的文件,文件内容如下
/usr/bin/scim -d
XMODIFIERS=”@im=SCIM”
export XMODIFIERS
export GTK_IM_MODULE=scim
然后重起Xwindows。
想在GTK软件下使用就再安装“apt-get install scim-gtk2-immodule“,不用重起。
Add SCIM to startup for X11
sudo touch /etc/X11/Xsession.d/74custom-scim_startup
sudo chmod 646 /etc/X11/Xsession.d/74custom-scim_startup
echo ‘export XMODIFIERS=”@im=SCIM”‘ >> /etc/X11/Xsession.d/74custom-scim_startup
echo ‘export GTK_IM_MODULE=”scim”‘ >> /etc/X11/Xsession.d/74custom-scim_startup
echo ‘export [...]
shared-memory.tar.gz
这是我写的共享内存通信的程序,用了两个信号量,可以保证信息一条一条的发。
用下面两条命令编译和运行:
make -f makefile
./create_shm
这是我运行的结果:
jan@Jan:~$ make -f makefile
rm create_shm opr_shm print_shm
gcc create_shm.c -o create_shm
gcc opr_shm.c -o opr_shm
gcc print_shm.c -o print_shm
jan@Jan:~$ ./create_shm
create_shm:seccessfully created segment : 5341209
opr_shm:Segment attached at 0xb804f000
print_shm:segment attached at 0xb7ef1000
print:1 message send to print_shm
print:2 message send to print_shm
print:3 message send to print_shm
opr_shm:Segment detached
print:4 message send to print_shm
print_shm:Segment detached
jan@Jan:~$
进程终止函数 #include int atexit( void (*func) (void) );
ipcs 共享内存
man 系统帮助命令
目录及文件管理命令
ls 查看当前目录信息
pwd 查看当前路径
uname 查看当前系统信息
cd 切换目录
mkdir 创建目录
rmdir 删除目录
touch 创建/更新文件
rm 删除文件
cp 复制文件及目录
mv 剪切/重命名文件及目录
in 创建连接
file 查看文件信息
wc 统计文件信息
信息显示命令
cat 显示文件内容
more 逐屏显示内容
less 流览文件内容
tail 显示文件尾部信息
head 显示文件头部信息
网络基本配置命令
ifconfig 显示和配置网络设备属性
telent 远程登录
lokkit 图形化设置防火墙
系统注销及关机命令
logout 注销当前登录
poweroff 挂起、重启、关闭系统
shutdown 关机
查询系统命令
find 查找文件
grep 在特定文件夹下的文件查找字符串
which 在环境变量指定的路径中查找文件
where 在特定目录查找文件
文件权限管理
chmod 改变文件权限位
chown 修改文件与目录拥有者
umask 设置文件默认权限屏蔽码
命令行模式下用户管理
查看用户信息
whoani 查看当前用户名
who 查看当前登录系统用户
w 查看当前登录系统用户及详细信息
id 查看用户的UID、GID及所归属的用户组
su 用户切换
finger 查看指定用户详细信息
write 给username发送消息
wall 给所有用户发送消息
添加用户、修改密码
useradd adduser
修改用户属性
usermod
用户密码管理
passwd -d 删除
passwd -l 锁定账号
passwd [...]
NTLDR文件一般存放于C盘根目录下,是一个具有隐藏和只读属性的系统文件。 NTLDR是Windows NT 架构操作系统特有的一个文件,如Windows NT/Windows 2000/Windows XP,用于操作系统的引导。此文件丢失时启动系统会提示”NTLDR is missing…”并要求按任意键重新启动,不能正确进入系统。
NTLDR的恢复
昨天C盘提示空间不够,清理磁盘,看见NTLDR不爽,把它给删了!很明显的结果就是当我重新开机时发现电脑启动不了了。解决这个开机问题需要有两个条件:1、起码有另一个可操作的系统,功能不要多强大,至少要像DOS那样可以复制文件,有的盗版安装盘就有这样的功能,我有Linux的双系统;2、拷贝到可用的NTLDR,从其它电脑,或者网上下载。把拷贝到的文件复制到C盘根目录。今天成功恢复电脑。
关于NTLDR的小知识补充
一般系统的引导过程如下:
1、电源自检程序开始运行
2、主引导记录被装入内存,并且程序开始执行
3、活动分区的引导扇区被装入内存
4、NTLDR从引导扇区被装入并初始化
5、将处理器的实模式改为32位平滑内存模式
6、NTLDR开始运行适当的小文件系统驱动程序。
小文件系统驱动程序是建立在NTLDR内部的,它能读FAT或NTFS。
7、NTLDR读boot.ini文件
8、NTLDR装载所选操作系统
如果NT/XP被选择,NTLDR运行Ntdetect.com ,对于其他的操作系统, NTLDR装载并运行Bootsect.dos然后向它传递控制。windows NT过程结束。
9.Ntdetect.com 搜索计算机硬件并将列表传送给NTLDR,以便将这些信息写进\\HKEY_LOCAL_MACHINE\HARDWARE中。
10.然后NTLDR装载Ntoskrnl.exe,Hal.dll和系统信息集合。
11.Ntldr搜索系统信息集合,并装载设备驱动配置以便设备在启动时开始工作
12.Ntldr把控制权交给Ntoskrnl.exe,这时,启动程序结束,装载阶段开始
Windows XP在引导过程中将经历预引导、引导和加载内核三个阶段,NTLDR在这三个阶段的引导过程中将起到至关重要的作用。
1.预引导阶段
在预引导阶段里计算机所做的工作有:运行POST程序,POST将检测系统的总内存以及其他硬件设备的状况,将磁盘第一个物理扇区加载到内存,加载硬盘主引导记录并运行,主引导记录会查找活动分区的起始位置。接着活动分区的引导扇区被加载并执行,最后从引导扇区加载并初始化NTLDR文件。
2.引导阶段
在引导阶段中,Windows XP将会依次经历初始引导加载器阶段、操作系统选择阶段、硬件检测阶段以及配置选择阶段这四个小的阶段。
(1)在初始引导加载器阶段中,NTLDR将把计算机的微处理器从实模式转换为32位平面内存模式,在实模式中,系统会为MS-DOS预留640KB大小的内存空间,其余的内存都被看做是扩展内存,在32位平面模式中系统将所有内存都视为可用内存,然后NTLDR执行适当的小型文件系统驱动程序,这时NTLDR可以识别每一个用NTFS或FAT格式的文件系统分区,至此初始引导加载器阶段结束。
(2)当初始引导加载器阶段结束后将会进入操作系统选择阶段,如果计算机上安装了多个操作系统,由于NTLDR加载了正确的Boot.ini文件,那么在启动的时候将会出现要求选择操作系统的菜单,NTLDR正是从boot.ini文件中查找到系统文件的分区位置。如果选择了NT系统,那么NTLDR将会运行NTDETECT.COM文件,否则NTLDR将加载BOOTSECT.DOS,然后将控制权交给BOOTSECT.DOS。如果Boot.ini文件中只有一个操作系统或者其中的timeout值为0,那么将不会出现选择操作系统的菜单画面,如果Boot.ini文件非法或不存在,那么NTLDR将会尝试从默认系统卷启动系统。
小提示:NTLDR启动后,如果在系统根目录下发现有Hiberfil.sys文件且该文件有效,那么NTLDR将读取Hiberfil.sys文件里的信息并让系统恢复到休眠以前的状态,这时并不处理Boot.ini文件。
(3)当操作系统选择阶段结束后将会进入硬件检测阶段,这时NTDETECT.COM文件将会收集计算机中硬件信息列表,然后将列表返回到NTLDR,这样NTLDR将把这些硬件信息加载到注册表“HKEY_LOCAL_MACHINE”中的Hardware中。
(4)硬件检测阶段结束后将会进入配置选择阶段,如果有多个硬件配置列表,那么将会出现配置文件选择菜单,如果只有一个则不会显示。
3.加载内核阶段
在加载内核阶段中,NTLDR将加载NTOKRNL.EXE内核程序,然后NTLDR将加载硬件抽象层(HAL.dll),接着系统将加载注册表中的“HKEY_MACHINESystem”键值,这时NTLDR将读取“HKEY_MACHINESystemselect”键值来决定哪一个ControlSet将被加载。所加载的ControlSet将包含设备的驱动程序以及需要加载的服务。再接着NTLDR加载注册表“HKEY_LOCAL_MACHINESystemservice”下的start键值为0的底层设备驱动。当ControlSet的镜像CurrentControlSet被加载时,NTLDR将把控制权传递给NTOSKRNL.EXE,至此引导过程将结束。
小提示:如果在启动的时候按F8键,那么我们将会在启动菜单中看到多种选择启动模式,这时NTLDR将根据用户的选择来使用启动参数加载NT内核,用户也可以在Boot.ini文件里设置启动参数。
NTLDR具有向下兼容性,也就是说高版本的NTLDR可以启动低版本的Windows NT操作系统,目前最新版本的NTLDR是在Windows Server 2003 SP1附带的版本。
如果你已经安装了一个高版本的操作系统,那么如果再想安装一个低版本的操作系统,那么低版本的操作系统在安装后会出现无法进入原来高版本的操作系统的故障。问题的原因是低版本的NTLDR和NTDETECT.COM不能识别高版本操作系统的NTOSKRNL.EXE,从而造成系统不能正常启动。
<!–由上一篇文章想到–>
希望做个软件把我的U盘变得高级点:软件我希望可以直接安装在盘里,不喜欢每到一个地方就把每个软件安装一通;文件我希望有更高级的管理方式,向邮箱那样比较好,我不喜欢自己建文件夹。
谈操作系统就想起昨天遇到的问题了。原先我装了个linux,成了个双系统。启动的时候可以选择是进入linux还是windows。但我昨天在windows下把原先安装linux的那个分区格了。结果系统每次启动就停留在grub命令行下。在网上查了好半天资料才通过命令进入了windows:root (hd0,0) chainloader +1 boot。到现在这个问题我还没弄大明白,不知道为什么不能直接引导windows,或者至少该给我一个图形的登录界面啊,每次输入命令来引导windows实在不过瘾。
两种计数器
一个是大家可以在我页面最下面看到的51.la计数器。国内比较专业的计数器,还不错,alexa排名上还有它。
还有一个大家在我的页面看不到,但是我确实在使用。Getclicky。我在侧边栏留了一个它的链接。
计数器还有其他很多,并不只有这两个。浏览其他博客会发现一些计数一样的小图标,喜欢的话就点击它,自己弄一个。
两种留言
在我的侧边栏都有。
上面的一个可以和你的IM端相连。
下面一个是个单纯的留言板。想要的话就点击上面的链接,可以直接通到服务商。
小猫小狗
朋友Terry的博客上有个小宠物。喜欢的话你也去弄一个http://doll-doll.com/。
google ad
很容易弄,只要你的服务商容许你弄。http://www.google.com/ads/
标签、标签云
给你的文章加上标签功能。启动Jerome’s Keywords插件,编辑文章后在下方的Keywords栏下加上标签。
新建文章或页面加上代码”[ tagcloud min_include=0 min_scale=2 max_scale=0 ]“生成标签云。min_include表示tag的最少使用次数,多于这个数值的才能被显示,默认值为3;min_scale表示最小字体;max_scale表示最大字体。
按月归档
启动插件SRG Clean Archives。新建页面,写入”%% srg clean archives %%”。可在SRG Clean Archives Options中选者是否显示评论数目。
顺应前几天的文章:《稍后我也来写个建博教程》。其实只是也常用功能的简单罗列。没有办法,谁叫我弄出了前面那篇文章呢!以后得注意,话可不能乱说呀!!!
建议呢,大家还启用这几个插件:中文 WordPress 工具箱、侧边栏区块管理插件 (Sidebar Widgets)、Google Sitemaps(方便搜索引擎找到你)、Lightbox JS v2.2 Plugin(如果要帖图片这个插件很有意思)、MyCSS + Page Header & Footer、Quote Comment、Quotmarks Replacer、Smiley Javascript Buttons、yo2keywords plugin for wordpress、yo2similar plugin for wordpress。这都是我已经启用的。
附:关于永久链接。优博提供两种永久链接:/articles/%postname%.html和/go/%post_id%.html。前一种是经过SEO优化的,链接中含有关键词,但是这种链接巨长,所以又提供了后面这种较短的链接。当然你可以自己定义其他形式的永久链接。也有一些耐心的人使用前一种链接形式,然后每篇文章都用英语关键词来个缩略名,这样就大大缩短了链接长度。可惜我是没有这种耐心
Svchost.exe,是系统必不可少的一个进程,很多服务都会多多少少用到它.Windows 系统服务分为独立进程和共享进程两种,在windows NT时只有服务器管理器SCM(Service*.**e)有多个共享服务,随着系统内置服务的增加,在windows 2000中ms又把很多服务做成共享方式,由svchost.exe启动。windows 2000一般有2个svchost进程,一个是RPCSS(Remote Procedure Call)服务进程,另外一个则是由很多服务共享的一个svchost.exe。而在windows XP中,则一般有4个以上的svchost.exe服务进程,windows 2003 server中则更多,可以看出把更多的系统内置服务以共享进程方式由svchost启动是ms的一个趋势。这样做在一定程度上减少了系统资源的消耗,不过也带来一定的不稳定因素,因为任何一个共享进程的服务因为错误退出进程就会导致整个进程中的所有服务都退出.
Svchost本身只是作为服务宿主,并不实现任何服务功能,需要Svchost启动的服务以动态链接库形式实现,在安装这些服务时,把服务的可执行程序指向svchost,启动这些服务时由svchost调用相应服务的动态链接库来启动服务。
Svchost知道某一服务是由哪个动态链接库负责,不是由服务的可执行程序路径中的参数部分提供的,而是服务在注册表中的参数设置的,注册表中服务下边有一个Parameters子键其中的ServiceDll表明该服务由哪个动态链接库负责。并且所有这些服务动态链接库都必须要导出一个ServiceMain()函数,用来处理服务任务。ms把这些服务分为几组,同组服务共享一个svchost进程,不同组服务使用多个svchost进程,组的区别是由服务的可执行程序后边的参数决定的。svchost的所有组和组内的所有服务都在注册表的如下位置: HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionSvchost
在启动一个svchost.exe负责的服务时,服务管理器如果遇到可执行程序内容ImagePath已经存在于服务管理器的映象库中,就不在启动第2个进程svchost,而是直接启动服务。这样就实现了多个服务共享一个svchost进程。
我用过的也只限于Windows,但是可以狂想~~~
操作简单之如Windows,所见既所得,图形界面,减少鼠标控制,更多键盘控制,提供智能化的控制方式(语音等).
强大的命令控制,整个系统处于数据库管理中,不必理会文件存放地.
不区分本机与网络,特定时候,本地存储充当本机与网络之间的缓冲.
三维输出,有时间轴,分块管理,看资料犹如点网页.
智能家庭.
(整理中,待续…)
突然想到了点事。人在小时候,还没开始学习。是可塑性最强的时候。正像现在的个人电脑,硬件基本一样,却可以配制不同的软件,做不同的工作。到了后来,人开始向不同的方向发展。工作在特定的领域。可塑性到了最低,某个人能做哪类事情基本是一一对应了。在计算机上就应该表现为,硬件与软件的统一。硬件与软件同时可以代表某种功能。那么到时我们拿到手上的硬件也可以说成时某种软件—-拿到手上的软件。可以拿现实中的手机,电子词典等来理解这个概念。我们大概只想到它们是为实现某种功能而设计制作的硬件,不会想到它上面所配备的软件。
到某个时候,也许现在的计算机模式将不能满足需要。普遍适用的硬件是不可能的。我们可以在家用电脑上安装摄象头来录制视频。但是它能达到什么要求呢?如果要求再高一点怎么办?人类的要求种是在不断提高的嘛!那么我们于是提升它的制作视频的功能。于是不如干脆放弃电脑其他方面的功能,把电脑改装成专门制作视频算了。那么到了这个时候Windows还有必要吗?谁的手机上是使用的Win?干脆为它特制一个操作系统吧。于是拿在手上的数码相机出来了。
我想这也许是计算机在某个未来的发展方向。CPU不只是计算机里才可以装的。而至少到目前看来只要有CPU的地方就是可以有智能的。那么何为电脑?我已经无法理解了。软件也许在虚拟到极至后,会回到向现实发展。物极必反嘛!