当前位置:文档之家› 微内核技术.ppt

微内核技术.ppt

2.地址空间
以段为单位组成,但段数量与长度可以动态增加。段的 属性有:段长、线程对其访问权限、能否动态(向上/向下) 增加。
虚拟地址空间描述
对象表
可用对象
第二章 微内核技术
3.创建进程
选择目标机器
Copy-on-write方式:
创建进程执行环境
创建初始线程
共享页
共享页
进程A
进程B 写之前
进程A
写之后
用户态下运行。实现如淘汰算法、管理磁盘空间与内存 空间,解决策略性问题。
第二章 微内核技术
2.存储对象 即段,由于采用段页式管理,为页的有序集合。 用户可以通过文件管理进程的通信端口写入消息提出
对存储对象的操作要求。如: 分配:分配一段虚拟地址空间 释放:释放一段虚拟地址空间 映射:将别的内容映射到存储对象上 复制:将存储对象的内容复制到另一个存储对象上 置保护:对存储对象置保护信息(可以以页为单位) 读:读取另一个进程的存储对象内容 写:向另一个进程的存储对象写入内容 等等。
务 置描述表 挂起 重新开始 报警线程 检测线程警报 寄存器终止端口
取得描述表
第二章 微内核技术
2.线程调度 所谓线程调度,就是确定在何时、给何线程赋予
CPU,运行多长时间。由系统核心进行。 ● 线程的状态 运行态 阻塞态 就绪态 ● 线程的优先数 以基本优先数为基础,可以浮动。
第二章 微内核技术
第二章 微内核技术
2.端口的管理 分配。创建一个端口,将其访问权限插入相应的进程权
限表中。 撤消。删除一个端口,并从相应权限表中撤销表项。 去分配。从权限表中撤销相应的权限表项。 收回授权。从其它进程权限表中撤销某个表项。 修改端口集。在端口集中增加或减少端口。 置消息数目。确定端口可以拥有消息的最大数目,通常
核心
第二章 微内核技术



进程id
I/O计数器
存取令牌
VM操作计数器
基本优先级 退出状态
缺省处理器族
配额限制
执行时间
异常情况/调试端口



创建进程
读/写虚拟内存
打开进程
保护虚拟内存
查进程信息
锁定/解锁虚拟内存
置进程信息
查询虚拟内存
当前进程
刷新虚拟内存
终止进程
分配/释放虚拟内存
第二章 微内核技术
由拥有接收权的进程确定。创建端口时缺省值为5。
第二章 微内核技术
3. 发送与接收 ● 消息格式
消息类型 消息长度 消息种类 说明1 数据域1 说明2 数据域2

回答权限 目标权限 目的地端口表 应答端口表 功能码第二章 微内核技术来自4. 消息的接收与发送
对照表 4 21
对照表 7 21
计算机A
进程S ①
数据信道。 支持顺序传送的法则,同一线程的消息先来先送,但不
保证多个线程消息的时间顺序。
第二章 微内核技术
绝大部分归进程所有,线程可以被授权使用。 线程只拥有与核心通信的特殊端口。 同一段口可有多个进程拥有发送权(一次或多次),但 任一时刻最多只有一个进程拥有接收权。拥有发送权的进程 可以向其他进程转让发送权。 多个端口可以组成端口集,以便对多个端口实施组播 (收)操作。 端口数据结构包括:消息队列、当前消息、消息数量、 所属的端口集、拥有转让访问权的进程数、发出错报告的端 口名、端口上阻塞的线程队列、拥有接收权的进程、指向核 心对象的指针,等等。
第二章 微内核技术
3. 存储共享 ● 几个进程处于同一处理机的情形 ⑴ 充分共享 通过将各自的虚拟地址都映射到同一个物理地址,
实现共享物理存储。
进程1
物理存储
进程2
第二章 微内核技术
⑵ 父子进程共享 父进程为子进程复制一个存储区。为了解决大 量的只读数据区(或主要是读)可以节省内存,通 常建议采用copy-on-write方法。 ● 多机情形 ⑴ 外部存储管理器 用来处理存储语义问题,确定其页面离开内存 后存放在何处、存储对象去除映射后的处理规则等。 为了将一个对象映射到进程的地址空间,需要 三个端口。
● 一个仅仅用来实现初始化的可执行程序 ● 一个专用地址空间,定义了进程可以使用的虚拟地 址集合 ● 一组系统资源,包括信号量、通信端口、文件等, 由操作系统分配给进程 ● 若干执行线程
第二章 微内核技术
地址空间 线程
进程
进程 端口
例外 端口
寄存器 端口
初始 端口
其它: 挂起指针 调度参数 仿真地址 统计部件
线程存在于进程的地址空间中,使用进程的地址空间 进行工作。
在面向对象的系统中,线程也是一个对象。
第二章 微内核技术
Windows-NT中的线程对象
线
属 线程ID 线程描述表 动态优先级 基本优先级 线程处理器族 线程退出状态
性 线程执行时间 报警状态 挂起计数 模仿令牌 终止端口

服 创建线程 打开线程 查询线程信息 置线程信息 当前线程 终止线程
进程B
第二章 微内核技术
§2 线程
1.线程概念 线程是系统中的活动实体,任何线程属于、且仅属于
一个进程,同一个进程中的线程可以并行执行。一个处 理器上可以有多个进程,但一个时间瞬间只能执行一个 线程。从而将并行引入进程内部。
同一个进程中的线程共享进程的地址空间和所有资源。 但是,线程也有自己的专用资源,如线程端口。
创建并初始化线程
终止
完成初始化
就绪 抢先
执行 结束
事件未 发生
等待
事件发生
资源不可用
转化
资源 变为 可用
抢先或 时间片到
运行
切换描述表
调度 备用
第二章 微内核技术
§3 端口
计算机系统中各部分实现通信的方式: 利用公共存储区交换数据 利用消息传送交换数据
1. 端口对象 一类受保护的信箱,是核心中的数据结构,属于单向的
第二章 微内核技术
目标:
为构造其它操作系统提供通用的基础 支持大容量、稀疏的地址空间 实现网络资源透明性 在系统和应用集上拓展并行性 实现高度的可移植性
为此,尽可能地将代码由低层移向高层,由核 心移向进程,由系统态移向用户态。
第二章 微内核技术
§1 进程
进程不再是系统中独立的可执行单位和资源调度单位。 进程只代表了一个资源集合以及它可以提供的服务集合, 通过其内含的线程的执行来提供服务,只是一个分配资 源的单位。 1.进程组成
网络消息服务器 ②
计算机B
网络消息服务器 ④
进程R ⑤

网络
第二章 微内核技术
§4 存储对象
1.存储管理的组成 ● 页面映射部分 管理MMU,在核心中运行,实现地址映射并捕捉
缺页中断。 ● 缺页处理部分 管理地址映射表,处理内外存交换,在核心中运
行。 ● 存储管理部分 又称外部存储对象管理器,通常组织为进程,在
相关主题