修改sig为sigmap 注:在代码中有一些被注释的内容是原来的unix v6++的内容,新增的内容是我写的 首先,可以在Process.h中找到要改的两个变量 /* 信号与控制台终端 */intp_sig;/* 进程信号 */TTy*p_ttyp;/* 进程tty结构地址 */unsignedlongp_sigmap;/*位图*/ 我们要做的就是改成使用p_sigmap作为位图响应...
UNIX V6以其适中的规模和优秀的架构设计,为那些渴望进入操作系统领域的新人提供了一条平缓的学习曲线。
UNIX V6内核源码剖析——unix v6 全貌 1. UNIX V6 运行硬件环境——PDP-11/40 PDP-11/40指令和数据都是以16比特为单位。对它而言,一个字的宽度为16比特。 PDP-11/40以及周边设备的寄存器被映射到内存最高位的8K空间(内存映射IO)。 利用内存映射IO,可以通过操作内存来访问寄存器。如下: View Code 2. PSW(...
前段时间看了一下 tinyhttp 这个项目的源码,很短,就几百行代码,不过这段时间没看估计又忘了差不多了,因为当时只是看了看 也没有做过笔记,这次打算看一下unix v6的源代码,反正闲着也是闲着,也打算在博客上记录下自己学习的过程,也算是种监督和 激励吧。 好,开始吧!!! 阅读用的材料是 《莱昂氏UNIX源代码分...
unix v6代码结构 UNIXv6代码结构包含了许多不同的目录和文件。其中一些是核心操作系统的核心组件,而另一些则是支持库和其他工具。 其中一些主要目录和文件包括: 1. /usr/include -该目录包含了所有的C库头文件。 2. /usr/src -该目录包含了UNIX操作系统的所有源代码文件。 3. /usr/sys -该目录包含了UNIX...
UNIX系统的分类及特点 1:UNIX的分类 UNIX主要的几个版本为:①V1(1971年):第一版的UNIX,以PDP-11/20的汇编语言写成。②V4(1973年):以C语言从头写起,这使得UNIX修改容易,可以在几个月内移植到新的硬件平台上。最初C语言是为UNIX 设计的,所以C与UNIX 间有紧密的关系。③V6(1975年);第一个在贝尔实验...
#一、UNIX V6++简介 项目来自同济大学操作系统课程。 UNIX V6++是经典的UNIX 第6版在Intel X86上的实现,它沿用了UNIX V6的思想和算法,并采用C++和面向对象的设计方法对代码进行了重构,代码结构更加清晰,更易为学生理解。 UNIX V6++采用C++、AT&T汇编和X86汇编开发(使用g++编译器和nasm汇编器编译和汇编),运行在bo...
UNIX的各种版本和变体都起源于在PDP-11系统上运行的UNIX分时系统第6版(1976年) 和第7版(1979年) (通常称为V6和V7)。这两个版本是在贝尔实验室以外首先得到广泛应用的UNIX系统。 从整体上来看,这棵树上共演进出以下3个分支: AT&T分支,从此引出了System和SystemV (被称为UNIX的商用版本) ...
UNIXV6管理交换区 •1.设置外存交换区的原因 •只有马上需要执行的进程保留在内存中,其它进程可调出到外存的一个空间,这个空间称为交换区或者交换文件。•多道程序设计有多个就绪进程在内存,存在内存竞争现象。•设置外存交换区的原因是提高内存利用率。•2.管理交换区的方法•UNIXV6的管理进程通过定期执行...
1.UNIXv6的利他性体现 在UNIX中,进程的用户态优先级由一个公式表述(数值越小,优先级越高): prio = USER + p_cpu/4 + 2*nice 解释一下其中的字段: USER:是用户态的基准优先级,这是为了保证但凡生活在用户态的进程的优先级都高于USER,因为处在内核态的优先级都要小于USER,保证机要机构快速出入。