免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3442 | 回复: 14
打印 上一主题 下一主题

进程独立 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-11-24 08:40 |只看该作者 |倒序浏览
在目前的操作系统里(如:linux,BSD,winxp等),实现进程的独立(我所理解的进程独立是进程拥有自己的地址空间和相关的访问机制)是通过硬件实现的。是这样吗?如果是这样的话,那我相信如果一个进程非法访问了另一个进程(如:进程A非法将数据写入了进程B),系统一定报硬件错误。我查了一下资料,应该会报一个叫做“#GP”的错误。而这个错误的产生过程通常是跟特权级相关联的。如果以上猜测都是对的话,那是否可以说目前的操作系统的“进程独立”是通过特权级保护(硬件)去实现的?如果以上说法都是对的,那如何由软件的方式(取代硬件的方式)实现进程独立?

论坛徽章:
0
2 [报告]
发表于 2010-11-24 08:41 |只看该作者
回复 1# kallytin


    顶一下

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
3 [报告]
发表于 2010-11-24 08:50 |只看该作者
MMU来模拟切换,通过软件理论上也可不断切换,但软件的不断复制数据实在太慢,因此根本不现实.
你试想,为什么软件实现慢呢,比如每一个进程有着独立的2G空间,没有硬件级的支持,纯软,怎么办呢?只好在这个进程不用的时候,把其纯2G的内存数据压到固定存储上,每当进程切换的时候,就必须要把所有的2G数据都先保存,然后再调2G数据出来,这个,太恐怖了

论坛徽章:
0
4 [报告]
发表于 2010-11-24 09:10 |只看该作者
MMU来模拟切换,通过软件理论上也可不断切换,但软件的不断复制数据实在太慢,因此根本不现实.
你试想,为什么 ...
cjaizss 发表于 2010-11-24 08:50



    为何要复制数据?我的理解是,在不同进程之间切换的话,要不断的保护现场和恢复现场(寄存器,堆栈等),并不需要复制数据吧(只需要告诉进程的起始地址(物理地址)及作相应的边界检测和增加访问机制就应该差不多了,是吗?)......

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
5 [报告]
发表于 2010-11-24 09:22 |只看该作者
为何要复制数据?我的理解是,在不同进程之间切换的话,要不断的保护现场和恢复现场(寄存器,堆 ...
kallytin 发表于 2010-11-24 09:10



    那你如何保证数据独立呢?在没有硬件级的支持下

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
6 [报告]
发表于 2010-11-24 09:22 |只看该作者
为何要复制数据?我的理解是,在不同进程之间切换的话,要不断的保护现场和恢复现场(寄存器,堆 ...
kallytin 发表于 2010-11-24 09:10



    这些所谓的检查都是要硬件支持的,否则就只能反复复制数据一条出路了

论坛徽章:
0
7 [报告]
发表于 2010-11-24 09:57 |只看该作者
这些所谓的检查都是要硬件支持的,否则就只能反复复制数据一条出路了
cjaizss 发表于 2010-11-24 09:22



你提到的检测是我最头痛的事情,目前我也没有头绪,但我知道这个方式已有系统实现了(但它具体是任何实现,目前还不知道),且效率很高(应该不是通过数据复制实现的)........

论坛徽章:
0
8 [报告]
发表于 2010-11-24 10:15 |只看该作者
进程能执行的服务都是定义好了的,所以不会有非法访问另一个进程这样的问题,就像关在笼子里的老虎不用假设她会随便咬人一样

论坛徽章:
0
9 [报告]
发表于 2010-11-24 10:42 |只看该作者
进程能执行的服务都是定义好了的,所以不会有非法访问另一个进程这样的问题,就像关在笼子里的老虎不用假设 ...
flw2 发表于 2010-11-24 10:15


“进程能执行的服务都是定义好了的“,我相信是硬件定义好的,以保护进程代码和数据。现在是要将这套机制(硬件)去掉,用纯软件的方式实现该如何.....

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
10 [报告]
发表于 2010-11-25 11:07 |只看该作者
“进程能执行的服务都是定义好了的“,我相信是硬件定义好的,以保护进程代码和数据。现在是要将这套机 ...
kallytin 发表于 2010-11-24 10:42



    没有硬件支持的情况下,除了反复复制,没有第二条出路
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP