突然之间想到查询一下 Python 中 sort 是使用何种算法实现, goole 之在 stackoverflow 中找到如下了回答
about-pythons-built-in-sort-method
继续阅读 »
这几个实验都是上课时候一两小时实现的,因为老师给出的参考代码有些惨不忍睹(虽然我写的也没好到哪去).因为时间有限,就没用C++.
同样是因为时间有限,仅供参考,有bug概不负责.
代码如下
# -- coding: utf-8 --
class Bank(object):
def init(self):
self.totalpro = 0
self.process = []
self.res_num = 4
self.res_type = ['A', 'B', 'C', 'D']
self.Resources = {'A':10,
继续阅读 »
一个很简陋的Python实现 : )
# -- coding: utf-8 --
class Pcb(object):
def init(self):
self.pid = None
self.ppid = None # id of parent
self.arrive_time = 0
self.need_time = 0
self.pprio = 0 #priority
继续阅读 »
简陋的FCFS实现
# -- coding: utf-8 --
class Pcb(object):
def init(self):
self.pid = None
self.ppid = None # id of parent
self.arrive_time = 0
self.need_time = 0
self.pprio = 0 #priority
继续阅读 »
dynamite关卡和之前的不同,之前是要求跳转到其他地方执行,而这一关则是返回test函数继续执行.
test源码如下
void test()
{
unsigned long long val;
volatile unsigned long long local = 0xdeadbeef;
char* variable_length;
entry_check(3); /* Make sure entered this function properly */
val = getbuf();
if (val <= 40) {
variable_length = alloca(val);
继续阅读 »
[CDATA[<p class="text"
上一个lab还有两关没有做完,但是懒的挨个截图写下来咯=.=,先看看第三个实验,听起来就很好玩 : )
找了半天才找到一个可用的32位的版本,原版会要求在他的shark machine上运行, The Hardware/Software Interface上又是64位的版本.最后在github上找到了一个可以用的32位版https://github.com/Mithrilwoodrat/CSAPP-Labs/tree/master/buflab.
继续阅读 »
第一次听说Paul,是在学习sicp的时候,在程序设计技术和方法看到了阅读材料:一个新兴企业的故事.
继续阅读 »
凌晨三点半,失眠胡思乱想继而把这三个词搅到了一起,反正也睡不着,不写点什么的话可能心里不能舒畅。
愤青:
他是一个愤青,大概是武侠看的太多,满脑子都是江湖快意恩仇。就觉得酒就是应该倒而不是喝,朋友就是得两肋插刀,刀山火海。喜欢一个人就恨不得将心剖出来给她看。
可是生活中,买包玉溪也得纠结半天,总觉得朋友不够仗义,喜欢的女孩也全都被他吓跑。
于是愤青他很愤怒。他总说老师就只会照本宣科,说他恨不得取而代之。他总嫌食堂的菜又贵又难吃,老是怀疑食堂炒菜用的地沟油。总说学校让他挂科就是为了收重修费,说学校收学费就是为了骗钱。
老是牛皮哄哄的愤青他没有几个朋友,每次当愤青说他那些愤青的话时,他的同学总是笑他说:“你行你上啊
继续阅读 »
[CDATA[<p class="text"
在coursera上有个csapp有关的公开课 The Hardware/Software Interface
上面的lib2和csapp上的二进制炸弹实验一样,但是是64位的=.=,于是我还是去 http://csapp.cs.cmu.edu/public/labs.html上下载了一个32位的文件来练习.
下面是第一关的反汇编
Dump of assembler code for function phase_1:
0x08048b20 <+0>: push %ebp
继续阅读 »