主题:什么是进程?
hzdtf
[专家分:0] 发布于 2006-09-22 17:11:00
各位,什么是进程?
回复列表 (共5个回复)
沙发
xieyong456 [专家分:2620] 发布于 2006-09-22 18:00:00
我的定义:进程是具有独立地址空间的运行单位
Unix使用flat address,以32位系统为例,地址范围从0x0-0xffffffff。任何地址都是虚拟地址,要通过页面映射才能得到物理地址,这个过程对进程来说是透明的,进程看到的都是虚拟地址。
“独立地址空间”是指各个进程都有自己的虚拟地址空间(在Linux下为0x0-0xbfffffff),而且任何进程都只能访问到自已经的虚拟地址空间。
宏观上,所有进程都是并发运行的。
微观上,除非是多处理器,否则不可能有两个进程在同时运行。具体方法是时间片轮转:一个进程运行一个时间片,就把CPU让出来让另一个进程运行。因为时间片很小,所以用户看起来所有进程都在运行。
任何两个不相关的进程其推进速度可能是任意的
虽然GOOGLE不是万能的,但是确实能解决我们很多问题,如果GOOGLE不会用,
那将失去非常多的宝贵的资源~
板凳
rickone [专家分:15390] 发布于 2006-09-22 20:03:00
简单的理解就是一个运行程序,一个任务。
3 楼
fox000002 [专家分:860] 发布于 2006-09-22 23:17:00
系统资源分配的基本单位吧
4 楼
hzdtf [专家分:0] 发布于 2006-09-23 09:35:00
基本上理解了,但在SQL中所提到的共享锁是防止其他用户,而排它锁是防止其他进程,如果访问SQL,再在同一电脑再一次访问SQL,那么这台电脑访问SQL是不是打开了两个进程?此时排它锁是不是不起作用了?
5 楼
rickone [专家分:15390] 发布于 2006-09-23 23:30:00
他们的区别应该不是在那里,可能是书上说模糊了,lock在进程里面也有讲的,是一个原子操作,lock的对象是一个资源,占用资料的当然是进程,或者是进程中的某些操作。SQL知识不太记得了,只就进程谈谈。
我来回复