2008年11月9日 | 分类: Learning, Programming | 标签: , ,
问题描述:The Cigarette-Smokers Problem. Consider a system with three smoker processes and one agent process. Each smoker continuously rolls a cigarette and then smokes it. But to roll and smoke a cigarette, the smoker needs three ingredients: tobacco, paper, and matches. One of the smoker processes has paper, another has tobacco, and the third has matches. The agent has an infinite supply of all three materials. The agent places two of the ingredients on the table. The smoker who has the remaining ingredient then makes and smokes a cigarette, signaling the agent on completion. The agent then puts out another two of the three ingredients, and the cycle repeats.

问题分析:通过问题描述,可以构建出一个 4 进程的系统,其中 3 个进程为 smoker 程序的实例,另一个是 agent 程序的实例。首先,Agent 执行提供材料的操作(原则上来说,抽烟者先就座等待也是可行的,代码上也易于实现,但是我编写了一段代码发现很累赘,这作为一个需要改进的部分,暂时在代码中做 TODO 标记),然后执行对 Smoker_i的 V 操作唤醒 Smoker_i,其信号量增 1,i 的值由 Agent 随机确定。接着,Agent 开始等待,进程切换到Smoker_i,Smoker_i 执行 P 操作,信号量减为 0,开始获取材料,卷烟,抽烟操作。抽完烟后 Smoker_i执行 V 操作,通知 Agent,然后 Smoker_i 循环至开头,开始等待,进程切换回 Agent。Agent 也开始循环,如此周期往复。采用同步机制的 PV 操作伪码如下:

阅读全文...

7 条评论 (2,096 views)
2008年11月2日 | 分类: Softwares | 标签: , ,
Summer大人告知,飞信手机版已经有3.0测试版了。我最关心的问题是3.0版本能否支持震动提醒,其原因是我在教室上课的时候开着飞信,关闭了声音提示,结果某慕老是说我不回短信,我不是没收到提醒么……

前往这里查看,果然有3.0的测试版了,查看了下我的N81在支持列表上,可惜下下来之后是N95的,不过装好后能正常使用。

体验了一把,感觉相当cool,类iPhone的界面(配在N95上确实会显得更合适),进飞信界面之后不是像2.0版本一样直接出聊天窗口,而是有一个集成界面,包含了设置、聊天、电话簿管理、资讯、掌上营业厅等功能,不过对我来说这些功能都是偶尔用到而已,我更关心的是飞信聊天。

震动提示果然有了,而且可以和手机情景模式关联了。就凭这一点,我就毫不犹豫地换下了原来的2.0版本。

不过毕竟是测试版,刚用了半个小时,就发现了好多BUG,等下去社区提交吧,对这个版本还是非常期待的~~

3 条评论 (2,469 views)
2008年11月1日 | 分类: Configuration | 标签: ,
重装之前,打开“新立德软件包管理器”->“文件”->“保存标记的项目”。

重装之后,打开“新立德软件包管理器”->“文件”->“读取标记的项目”,然后安装,就可以快速恢复以前的Ubuntu配置了。

因为版本的关系,这个或许不适用于跨版本的Ubuntu,因为有的包安装时是带上版本号的。

17 条评论 (4,122 views)
2008年10月31日 | 分类: Configuration | 标签: , ,
值此Ubuntu 8.10发布之际(终于发布了,再不发布那就得叫Ubuntu 8.11了),特作此文。本文只是作为一个Ubuntu入门教材参考,因为很多人说我写Ubuntu安装教程时很多地方写的很模糊,对于没有Linux基础的人来说无异于天书- -b 孩子们,满足你们的愿望吧…

本文基于如下对读者的假设:

1. Ubuntu Linux安装成功。如果迄今为止没有成功,请询问身边已经安装成功的人。我相信安装成功的人的数量,在学校抓一把至少其中含有一个。

2. 了解终端是什么,知道如何打开终端输入命令,了解命令语法。如果不知道如何打开终端输入命令,我也没办法……以下所有叙述,如果涉及命令操作,必然是在终端中进行操作。学过DOS的人应该对这一点在理解上没有难度,在Windows下用过cmd 运行ping命令检测网络的人在理解上应该也没有难度。关于命令的语法,比如sudo apt-get install OO_AND_XX这个命令,表示在使用root权限(sudo)的情况下使用软件包管理工具(apt-get)进行安装 (install)OO_AND_XX这个软件包的操作;同理sudo gedit /etc/apt/sources.list这个命令表示在使用root权限的情况下使用gedit这个文本编辑器打开/etc/apt/路径下的 sources.list这个文件进行编辑(真费劲- -b)

阅读全文...

6 条评论 (1,414 views)
2008年10月23日 | 分类: Copid Entries | 标签: , ,
在支付宝的官方Blog上,已经可以使用了。打开alipay的页面终于可以登录了,只是登录后要付款,发现招行还是不行,支付宝里面没钱也是白搭啊……

下载地址在这里:http://blog.alipay.com/

下面是官方消息的转载,暂时不支持数字签名。不管怎么说,还是值得期待的。

阅读全文...

6 条评论 (1,739 views)
2008年10月19日 | 分类: Configuration | 标签: , ,
第一步,安装mod_python

sudo apt-get install libapache2-mod-python

第二步,将mod_python模块加入到启用列表中

sudo ln -s /etc/apache2/mods-available/mod_python.load /etc/apache2/mods-enabled/

注:在Ubuntu 8.10中,对应的模块配置文件名已经改成了python.load,后文中提到的也应相应改成python.conf

第三步,配置mod_python

先在/etc/apache2/mods-available/下新建一个文件mod_python.conf

sudo vi /etc/apache2/mods-available/mod_python.conf

加入如下内容:

1
2
3
4
5
<directory /var/www>
    AddHandler mod_python .py
    PythonHandler test
    PythonDebug On
</directory>

阅读全文...

10 条评论 (1,893 views)
2008年10月17日 | 分类: Softwares | 标签: , ,
这几天太忙,好久没有更新了。今天上来推荐一个软件:几天前,永中推出了它的Office2009版本,永中的Office一直都支持Linux平台,这次的亮点是永中有了免费的版本:集成Office个人版

永中Office的排版和WORD比较相近,这下交老师的实验报告就不用跑虚拟机下开Windows了。永中Office还支持M$ Office 2007格式,也支持UOF格式(虽然现在我还用不到)。永中Office的导出PDF功能还包含了自动书签功能,这一点比OOo好。不过OOo3.0发布了,我还没去下载,不知道使用效果如何。

顺便提示一个小技巧,因为永中Office用的永中宋体是直接放到了/usr/share/fonts/zh_CN/TrueType下,这个字体会直接影响系统中的字体,比如我的Qterm,为了恢复系统字体的原状,我尝试修改字体配置文件未果,最后发现永中Office字体除了上面的路径,还需要查找自带的JRE的路径,因此将字体文件移动到/opt/Evermore/EIOffice/Jre/lib/fonts/下即可,这样永中Office可以用宋体字体,系统字体也不会受到影响(话说宋体在Linux下显示的效果灰常难看……)。

最后上个截图:

阅读全文...

17 条评论 (2,743 views)
2008年9月28日 | 分类: Learning | 标签: ,
在开始之前,请你想几个问题:

  • 当你学Windows的时候,你花了多长时间?几小时?几天?几个月?还是现在仍旧有各种各样解决不了的问题?
  • 当你在War3上为了手速记键盘操作快捷键的时候,你是否觉得记几个长度不超过10个字母的命令比这困难很多?
  • 当你在Windows下碰到问题的时候,你是抱怨Windows这个系统太不人性化还是老老实实虚心向别人请教问题?

当你仔细考虑了这些问题之后,再往下看。

也许你接触计算机很早,但是在你面前的界面很有可能是带着窗口的系统——有可能是Windows 3.1,也有可能是Windows95。还记得你拿着鼠标努力记住左右键的作用的那一刻么,还记得你背诵104键盘的每个按键的名称的那一段时光么?当然一段时间之后,你解决了基本设备的问题,你开始使用你面前的这个带着窗口的系统。你开始经历蓝屏、死机、鼠标无响应,当你步入新千年,网络开始大面积普及的时候,你开始经历病毒、流氓软件。也许你右手边的鼠标已经被你摔坏过好几次。但是我问你,你有抱怨过Windows XXX系统怎么这么糟糕,一点也不人性化,不方便“非专业人士”使用之类的话么?

好吧,在Windows的熏陶下,你度过了你的青少年时代,你是一个有理想有道德有文化有纪律的大学生,你现在每天学习偶尔还打游戏,你自己很忙。你不再有时间呆坐在电脑面前,你不再有热情像以前探究Windows一样来学习一个新的操作系统。你用了几天之后,你碰到了你最初学Windows一样的问题——也许你当初连C盘D盘是什么东东都不知道——你开始抱怨为什么Linux与你的习惯差距那么大。

阅读全文...

10 条评论 (1,667 views)
2008年9月22日 | 分类: Softwares | 标签: , , ,
看来Google推出for Linux的Chrome还有待时日,那我就在实验室的XP上用用win下的版本好了。那天在三联生活周刊上都看到了Chrome的文章,看来Google推出的东西当真是能引起水波荡漾啊。

其实Chrome出来的当天我就下载试用了,安装包只有那么一丁点大,还要进行在线安装。这就意味着某人叫我帮她下载一个Chrome给她离线安装的愿望不能实现了- -|||当时用了一会儿马上就卸掉了,原因是:没有鼠标手势……

后来在网上看到可以用软件代替的方法启用鼠标手势。就是使用strokeit这个软件。这个软件专门针对Chrome作了优化,我安装后使用起来和Firefox插件感觉没有什么两样,相当不错。所以Chrome从此就常驻我的系统了。

Google采用的是Webkit+V8,对于Web上的新技术我不了解,但是V8的前景据很多人说很好,这样看来Google有戏。

Google俨然成了一个品牌,据说推出下载没多久就下载记录破百万了~

11 条评论 (1,885 views)