博文

未来操作系统发展趋势面向的三个焦点[zt](2008-01-10 10:53:00)

摘要: 原文:http://www.xxlinux.com/linux/article/news/dt/2006-11-14/5813.html 在对用户使用操作系统软件的需求调研后,最受用户关注的前三位因素分别是:安全性、易操作性、界面友好。无独有偶,2006年,Novell发布了当前Linux桌面操 作系统中,最具代表性的作品SuSE Linux 10.1版,同年微软也向全世界推出了,Windows vista操作系统测试版本,通过对这两种不同平台下的桌面操作系统与以往操作系统对比研究,操作系统未来的发展将聚焦在以下三个方面: 比以往更加强大的集成搜索功能 以上两种操作系统都在开始菜单、功能选项、弹出窗口等多方面添加了搜索条,并且这些搜索功能不但搜索速度极快,而且搜索范围也有很大的扩大。以往的操作 系统仅仅支持按文件类型,文本文件全文搜索,而新的操作系统作了很大改进,如:SuSE10除支持原有功能外,还支持电子数据表、演示片、电子邮件信息、 最近访问过的网站内容、图像或图片标签、短信聊天和即时聊天内容、PDF文件内容搜索等等。同样,windows vista除具有很强的搜索功能外,还有其他特色功能,如输入你想执行的工作,相应的应用程序会自动打开。 更加绚丽的桌面和3D视觉效果 在桌面显示视觉效果和3D加速图形能力方面,上述两种操作系统比以往有很大提升,并且各有特点,如:windows vista采用了半透明的窗口,图片显示效果更加绚丽,显示的图标立体感更强,SuSE10特有的六面正方体3D桌面效果,可拖动不同的程序在不同维度的 桌面上运行,甚至可跨越在两个维度运行,SuSE10还支持半透明窗口、窗口颤动、雨滴等效果。 系统安全度有很大提升 随着用户使用水平的不断提高,用户对操作系统的安全性要求也越来越高,。在windows vista操作系统中,设定了新的用户帐户等级程序、高级数据保护技术,降低了数据被未授权用户查看的风险、支持硬件全卷加密,以防止其他操作系统从磁盘 访问文件、全新的防火墙程序、使用安全性更强的IE7等多重手段来提高其安全性。对于Linux操作系统,虽然安全性是它们的优势,但仍然还存在漏洞,因 此也在不断的完善中,SuSE10采用了AppArmor技术,是一种新的应用层安全服务,可以快速制定并实行安全策略,避免攻击者......

阅读全文(1958) | 评论:0

linux 驱动程序 tasklet 笔记 [ZT](2008-01-07 14:40:00)

摘要:原文:http://www.21cstar.com/dhome/2007/0403/content_1056_2.html Tasklet机制是一种较为特殊的软中断。Tasklet一词的原意是“小片任务”的意思,这里是指一小段可执行的代码,且通常以函数的形式出现。软中断向量HI_SOFTIRQ和TASKLET_SOFTIRQ均是用tasklet机制来实现的。 从某种程度上讲,tasklet机制是Linux内核对BH机制的一种扩展。在2.4内核引入了softirq机制后,原有的BH机制正是通过tasklet机制这个桥梁来纳入softirq机制的整体框架中的。正是由于这种历史的延伸关系,使得tasklet机制与一般意义上的软中断有所不同,而呈现出以下两个显著的特点: 1. 与一般的软中断不同,某一段tasklet代码在某个时刻只能在一个CPU上运行,而不像一般的软中断服务函数(即softirq_action结构中的action函数指针)那样——在同一时刻可以被多个CPU并发地执行。 2. 与BH机制不同,不同的tasklet代码在同一时刻可以在多个CPU上并发地执行,而不像BH机制那样必须严格地串行化执行(也即在同一时刻系统中只能有一个CPU执行BH函数)。 Linux用数据结构tasklet_struct来描述一个tasklet。该数据结构定义在include/linux/interrupt.h头文件中。如下所示:struct tasklet_struct { struct tasklet_struct *next; unsigned long state; atomic_t count; void (*func)(unsigned long); unsigned long data; }; 各成员的含义如下: (1)next指针:指向下一个tasklet的指针。 (2)state:定义了这个tasklet的当前状态。这一个32位的无符号长整数,当前只使用了bit[1]和bit[0]两个状态位。其中,bit[1]=1表示这个tasklet当前正在某个CPU上被执行,它仅对SMP系统才有意义,其作用就是为了防止多个CPU同时执行一个tasklet的情形出现;bit[0]=1表示这个tasklet已经被调度去等待执行了......

阅读全文(6204) | 评论:0

grub 从网络nfs引导方法(2007-12-29 16:40:00)

摘要:假设tftpserver被配置在192.168.39.2机器上,且在tftp boot 下有ljqy目录,其中存有系统文件:bzImage和initrd-2.6.23.1.img. 同时nfs也被配置在tftp同一台机器上,文件系统在目录为worknfs/home/ljqy下 在grub提示符下: (1) dhcp (2) tftpserver 192.168.39.2   /*依据实际情况选择*/ (3) root (nd) (4) kernel (nd)/ljqy/bzImage ip=dhcp nfsroot=192.168.39.2:/worknfs/home/ljqy (5) boot 系统启动后文件系统并不在本机,所以为了看到本机内容,需要mount根目录: 如 mount -t ext3 /dev/sda2 sda2......

阅读全文(2967) | 评论:0

grub 网络引导系统方法(2007-12-29 16:32:00)

摘要:假设tftpserver被配置在192.168.39.2机器上,且在tftp boot 下有ljqy目录,其中存有系统文件:bzImage和initrd-2.6.23.1.img. 在grub提示符下: (1) dhcp (2) tftpserver 192.168.39.2   /*依据实际情况选择*/ (3) root (nd) (4) kernel (nd)/ljqy/bzImage ro root=/dev/sda2 (5)initrd  (nd)/jlqy/initrd-2.6.23.1.img (6) boot  ......

阅读全文(2711) | 评论:0

linux 内核编译命令(简简……约)(2007-12-29 16:25:00)

摘要:(1) make mrproper (2) make clean (3) make ARCH=x86_64  注:体系结构根据实际选择 (4) make install 完毕重起系统,即可看到新编后被加载的内核  ......

阅读全文(1802) | 评论:0

[zt]计算机的工作原理和流程(2007-12-02 11:20:00)

摘要:引导过程

我们几乎每天都要打开电源启动机器,面对屏幕上出现的一幅幅启动画面,我们一点儿也不会感到陌生,但是,计算机在显示这些启动画面时都做了些什么工作呢?

打开计算机机电源后到计算机准备接受你发出的命令之间计算机所运行的过程称为引导(Boot)过程。我们知道,当关闭电源后,RAM的数据将丢失,因此,计算机不是用RA来保持计算机的基本工作指令,而是使用另外的方法将操作系统文件加载到RAM中,再由操作系统接管对机器的控制。这是引导过程中的一个主要部分。总的说来,引导过程有下面几个步骤:

① 加电––––打开电源开关,给主板和内部风扇供电。

② 启动引导程序––––CPU开始执行存储在ROM BIOS中的指令。

③ 开机自检––––计算机对系统的主要部件进行诊断测试。

④ 加载操作系统––––计算机将操作系统文件从磁盘读到RAM中。

⑤ 检查配置文件,定制操作系统的运行环境––––读取配置文件,根据用户的设置对操作系统进行定制。

⑥ 准备读取命令和数据––––计算机等待用户输入命令和数据。

(一) 加电

引导过程的第一步就是通电。电扇开始运转,电源指示灯应该变亮,否则说明系统电源供应有问题,或是主板等部件和机箱发生短路。

(二) 启动引导程序

CPU是从内存地址FFFF0H处开始执行指令的,从前面的介绍可知,这个地址实际上在系统BIOS的地址范围内,无论是哪家公司的 BIOS,放在这里的只是一条跳转指令,跳到系统BIOS中真正的启动代码处。

(三) 开机自检

系统BIOS的启动代码首先要做的事情就是进行POST(Power-On Self Test,加电后自检),POST的主要任务是检测系统中一些关键设备是否存在和能否正常工作,例如内存和显卡等设备。由于POST是最早进行的检测过程,此时显卡还没有初始化,如果系统BIOS在进行POST的过程中发现了一些致命错误,例如没有找到内存或者内存有问题(此时只会检查640K常规内存),那么系统BIOS就会直接控制喇叭发声来报告错误。正常情况下,POST过程进行得非常快。

POST结束之后,系统BI......

阅读全文(3099) | 评论:0

[zt]中国移动公司老总上厕所 (2007-12-02 11:03:00)

摘要:中国移动公司老总上厕所
"干什么的?"看厕所的大婶喊。
"我是中国移动老总,我内急。"
"你不知道现在什么都要收费啊?"大婶。
"行,多少钱?"
"进去5毛,出来3毛。"大婶看着他。
"什么出来也要收费?"老总瞪着眼睛。
"看什么看,我们这里实行双向收费。如果你办个厕所套餐的话,就可以单向收费了。
"行,我付钱。"老总掏出十块钱。
"大便还是小便?"大婶捏住钱问。
"大便,快点。"
"恩,你需要办理套餐吗?如果你一次性大便五十次,可以给你优惠再大便三十次。"大婶说。
"别说了,我先进去,马上出来付钱。"老总进去后,选择了最后一个坑位爽了好久后出来了。
"先生,您选择的是五号坑位,得付选号费用5毛钱,你在里面呆的时候没有说不要选择放音乐,所以每次收费6毛钱。另外你在里面蹲了十五分零一秒,前一分钟按5毛每分钟计费,后面按每分钟四毛计费。不足一分钟按一分钟计费。另外由于你的排泄量占用了我们的下水道宽带,所以请你另外按包月付出费用50元。最后你可以通过小孔看到进厕所的其他人,请付来人显示费1块钱。"老总已经呆在那里。
"所以,老总先生,我们这里不刷卡,总共你要付59.4元钱,如果逾期不交纳,按每日千分之三的费用计滞纳金,我方不另行通知,到积累到千元我方将通过法律手段催缴"。
大婶刚刚说完,移动老总"扑通"一声倒在小便池里!!
移动老总迷迷糊糊的说:还有没有王法了?
大婶说:我的地盘,我做主! ......

阅读全文(1512) | 评论:0

[ZT]Linux 关于地址空间和MMAP映射(2007-11-01 10:17:00)

摘要:笔记原创: 兰特
联系邮件: epost_guo@126.com

参考资料:
1. Linux Device Drivers, Second Edition, Alessandro
2. Linux kernel development, second edition, Robert Love

进程地址空间 Linux采用虚拟内存技术,系统中的所有进程之间以虚拟方式共享内存。对每个进程来说,它们好像都可以访问整个系统的所有物理内存。更重要的是,即使单独一个进程,它拥有的地址空间也可以远远大于系统物理内存。        进程地址空间由每个进程中的线性地址区组成,每个进程都有一个32位或64位的平坦(flat)空间,空间的具体大小取决于体系结构。“平坦”指地址空间范围是一个独立的连续区间。通常情况下,每个进程都有唯一的这种平坦空间,而且每个进程的地址空间之间彼此互不相干。两个不同的进程可以在它们各自地址空间的相同地址内存存放不同的数据。但是进程之间也可以选择共享地址空间,我们称这样的进程为线程。        在地址空间中,我们更为关心的是进程有权访问的虚拟内存地址区间,比如08048000~0804c000。这些可被访问的合法地址区间被成为内存区域(memory area),通过内核,进程可以给自己的地址空间动态地添加或减少内存区域。        进程只能访问有效范围内的内存地址。每个内存区域也具有相应进程必须遵循的特定访问属性,如只读、只写、可执行等属性。如果一个进程访问了不在有效范围中的地址,或以不正确的方式访问有效地址,那么内核就会终止该进程,并返回“段错误”信息。 <!--[if !supportLists]-->²        <!--[endif]-->内存区域可以包含各种内存对象,如下: <!--[if !supportLists]-->²   &nbs......

阅读全文(6906) | 评论:0

好的文章链接(2007-10-26 09:35:00)

摘要:(1)彩票方案综合评价模型 http://202.115.21.138/wlxt/ncourse/model/web/resource/paper/internation/year2002p3.htm?gid=12&fid=65 (2) Linux 设备驱动 Edition 3 http://www.deansys.com/doc/ldd3/index.html (3)Debian GNU/Linux 安装手册 http://www.debian.org/releases/stable/i386/ch01s01.html.zh_CN (4)Linux海量教程  每日更新的Linux文章:http://www.linuxdiyf.com/articlelist.php?id=3   需要Linux电子书籍可以到这下载:http://www.linuxdiyf.com/bbs/forum-6-1.html   需要Linux技术文章可以到这:http://www.linuxdiyf.com/bbs/forum-3-1.html   Linux电子书籍推荐下载:http://www.linux286.com/linux/linuxdzsj.htm    ......

阅读全文(440) | 评论:0

UNIX系统结构 UNIX System Overview (1)(2007-10-18 07:25:00)

摘要:   1.   系统结构 系统结构图如上: (1)    硬件被内核封装,实现了应用程序与硬件无关性; (2)    操作系统内核被系统调用接口或系统类库(最终是通过前者来实现)封装,实现了应用程序与系统内核无关性;   下图继续说明:     (1)    系统通过硬件控制与硬件进行交互,或实现对硬件的控制; (2)    文件系统通过驱动来实现与硬件控制的交互; (3)    与磁盘文件交互时,文件系统使用“buffer cache”作为缓存中介来实现; (4)    系统管理设备和管理文件的方式一致由VFS(Virtual File System)统一管理; (5)    用户模式下,进程通过系统调用或调用类库(通过调用系统调用)来实现与内核的交互。 总之,Unix操作系统实现了用户层、内核层和硬件层的分离和统一管理。
    备注: 仅供《the Design of Unix OS 》学习初学者参考。......

阅读全文(3964) | 评论:0