PSW, processor status word, 处理器状态字app
能够将操做系统看作是一种软件(集合),它对包括硬件和软件在内的计算机系统的各个组成部分进行管理,而且为用户提供了便于使用的操做界面,内核做为操做系统的核心部分,提供计算机系统必备的功能,经过阅读而且理解内核源代码,能够:
(1)对计算机系统的全貌有更加深刻的了解
(2)让操做计算机成为一种使人愉快的体验
(3)加深对于知识的理解
(4)提高技术人员自身的水平spa
(1)代码行数约为1万行
(2)充实的资料
(3)网罗了操做系统的基本功能
UNIX V6基本上实现了构成操做系统的大部分基本功能,目前最新的操做系统的大部分都是以它为基础发展而来的,线程、网络、GUI、多核支持、虚拟机等等这些UNIX V6不具有的功能在近些年的操做系统中得以实现,这些功能当中有不少实际上是以UNIX V6实现的功能为基础的
(4)简化的设计
(5)便于读者对系统有完整的了解
(6)有模拟器可供参考操作系统
1975年,Kenneth Lane Thompson
和 Dennis MacAlistair Ritchie
在贝尔实验室发布了UnixV6
, 接着, 1979年又发布了UNIX_V7,加州伯克利大学在1978年基于UNIX_V6发布了首个BSD版本,在此以后,UNIX和BSD不断有新的版本或者派生版本发布,而后,又出现了标准化的动向,指定了POSIX标准,意在统一各个操做系统所提供的API,著名的Linux也是将POSIX标准做为开发目标,所以,绝大多数的操做系统都和UNXI_V6有着千丝万缕的联系。线程
UNIX v6的内核提供了下面的功能:设计
(1)管理运行中的程序(进程)
(2)管理内存
(3)管理文件系统
(4)文件和周边设备共享IO
(5)中断
(6)支持终端处理unix
(1)如上图,用户程序能够直接经过系统调用机制(调用内核提供的功能)访问内核提供的功能;
(2)或者,用户程序利用UNIX V6提供的系统内置的用户程序集(处理用户登陆的程序或者守护程序等等)、辅助程序(例如: ls, cat等等)、程序库等进行处理,这些系统程序再利用系统调用访问内核功能;指针
PDP-11/40是一种16位计算机,指令和数据基本都是以16位(bit)位单位进行处理的,处理器处理数据的单位称为字(word),1个字的占位为16bitcode
没有专用的IO总线,使用一种称为Unibus的总线用于数据的输入输出,具备18bit宽的地址总线blog
PDP-11/40以及周边设备的寄存器被映射到内存最高位的8KB空间,能够采用和操做内存相同的方法操做寄存器,称为内存映射IO (memory mapped IO)
借位位,指令执行中发生进位或者借位时候置为1
溢出位,执行执行中发生溢出时候置为1
零位,指令执行结果为0时候置为1
负位,指令执行结果为负值时候置为1
处理器模式:内核模式用00
表示, 用户模式用11
表示
在对系统调用进行处理时候,处理器须要首先从用户模式切换到内核模式,内核模式和用户模式使用的进程的虚拟空间是相互独立的,所以在内核、用户模式之间传输数据时候,须要了解处理器当前、先前模式
PSW寄存器,0-3位借位位、溢出位、零位、负位,硬件根据执行结果自动设置
r6称为栈指针,指向各进程所拥有的栈的顶端r7称为程序计算器,处理器从r7指示的内存地址读取指令,随后解释并执行该指令,处理完后r7将指向容纳下一条指令的内存地址。