Xv6使用lazy allocation当进程需要更多的内存的时候,调用malloc申请更多的堆内存,而系统调用sbrk()完成该工作但是有的进程会一次申请大量的内存,但是又可能根本用不到,比如说sparse array所以说复杂的内核涉及会将实际的allocation的工作推迟到实际用的时候,发生...
分类:
其他好文 时间:
2016-01-06 15:49:24
阅读次数:
204
这一部分要实现抢占式调度和进程间通信 前面的调度是进程资源放弃CPU,但是实际中没有进程会这样做的,而为了不让某一进程耗尽CPU资源,需要抢占式调度,也就需要硬件定时 但是外部硬件定时在Bootloader的时候就关闭了,至今都没有开启 而JOS采取的策略是,在内核中的时候,外部中断是始终关闭的,而...
分类:
其他好文 时间:
2016-01-06 15:40:22
阅读次数:
238
这里要实现的就是UNIX标准系统调用中的fork,核心当然是copy on write技术 至于为什么采用copy on write,是因为子进程在被创建之后很可能立刻执行exec()了,之前做的一系列的拷贝是无用功 所以说,当创建一个新的子进程的时候,只需要拷贝父进程的内存映射(页表)就可以了,而...
分类:
其他好文 时间:
2016-01-06 15:33:26
阅读次数:
209
这一部分是希望能够处理页错误、断点和系统调用处理系统页错误在发生了page fault之后,进入到系统中断中,然后经过_alltraps,进入到trap,再经过trap_dispatch分发,应该对中断类型为T_PGFLT的中断进行处理当然,页错误也有内核页错误和用户页错误处理断点在JOS中,断点中...
分类:
其他好文 时间:
2016-01-06 15:27:23
阅读次数:
179
这一部分要实现的是对多核处理器的支持,然后实现系统调用只喜欢用户应用创建新的应用,而且还要实现round-robin调度算法Multiprocessor supportjos中对CPU进行了抽象要描述一个CPU, 需要知道id,运行状态,当前正在运行的进程所有的cpu数目放在cpus数组中接下来则是...
分类:
其他好文 时间:
2016-01-06 15:27:01
阅读次数:
479
我也不知道安装的是Scheme这门语言还是编程环境还是其他的什么东西,反正能在控制台运行Scheme代码了。。。。谁能告诉我怎么在sublime使用scheme。。。。原地址首先下载安装MIT-Scheme如果你是64位操作系统之后在终端输入sudo ln -s /Applications/MIT\...
分类:
系统相关 时间:
2016-01-01 14:58:05
阅读次数:
196
MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。 MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就....
分类:
编程语言 时间:
2015-12-28 18:21:24
阅读次数:
247
Lab 1 Part 1: PC bootstrap 我们继续~PC机的物理地址空间 这一节我们将深入的探究到底PC是如何启动的。首先我们看一下通常一个PC的物理地址空间是如何布局的: 这张图仅仅展示了内存空间的一部分。 第一代PC处理器是16位字长的Intel 8088处理器,这...
分类:
其他好文 时间:
2015-12-26 16:52:12
阅读次数:
140
0. 简介操作系统是计算机科学中十分重要的一门基础学科,是一名计算机专业毕业生必须要具备的基础知识。但是在学习这门课时,如果仅仅把目光停留在课本上一些关于操作系统概念上的叙述,并不能对操作系统有着深层次的理解。必须要结合动手实践,才能真正掌握核心的知识。MIT的操作系统课程6.828是一门被广泛好评...
分类:
其他好文 时间:
2015-12-20 20:42:53
阅读次数:
214
The MIT License (MIT)Copyright © 2015 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated doc...
分类:
其他好文 时间:
2015-12-17 20:47:53
阅读次数:
142