社区
Linux_Kernel
帖子详情
关于系统空间。。。。。。。。
你我他111
2004-08-26 06:19:22
进来在研究linux内核,有一些疑惑,可能问题很幼稚,请大虾们不要笑话:)
每个进程的系统空间是不是都是一样的?
举一个简单的例子,假如进程A改变了系统空间中有一个全局变量x,那么在进程B中能不能看到这
个全局变量x?
另外假如B系统空间中能够看到一个全局变量x,它看到的x是不是就是A中的x;假如在A中改变了x,那么会
不会影响到B中的x?
...全文
193
10
打赏
收藏
关于系统空间。。。。。。。。
进来在研究linux内核,有一些疑惑,可能问题很幼稚,请大虾们不要笑话:) 每个进程的系统空间是不是都是一样的? 举一个简单的例子,假如进程A改变了系统空间中有一个全局变量x,那么在进程B中能不能看到这 个全局变量x? 另外假如B系统空间中能够看到一个全局变量x,它看到的x是不是就是A中的x;假如在A中改变了x,那么会 不会影响到B中的x?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lysliberty
2004-08-29
打赏
举报
回复
系统空间是有全局变量,但用户进程可以操作内核变量吗?
就算是可以操作, 如果没有采用共享内存之类的机制,进程A也奈何不了进程B什么吧.
collide
2004-08-29
打赏
举报
回复
内核的数据只能通过系统调用来进行访问,系统调用中,由系统负责访问的互斥性和唯一性。
zxm927
2004-08-29
打赏
举报
回复
我想"全局变量"有多种吧.有的全局量是属于具体某个进程的;有的是属于整个内核的,毛氏情景分析中不是有很多"内核维护着...."的话么,这就是系统全局量吧;有的是属于某个CPU的(SMP结构中).我想楼主的意思就是指的内核全局量吧.既然x是全局的,那么进程A改变了x,B当然看到的就是改变了的x了(当然AB都要有这个权限).并且在很多情况下,一个进程在访问一个全局量,那么必须上锁,防止另一个进程访问.
服务器内的蜗牛
2004-08-28
打赏
举报
回复
确实改变了,不过这就像一个磁盘文件bei
David2008
2004-08-27
打赏
举报
回复
If they are used in the shared space by pointer
你我他111
2004-08-27
打赏
举报
回复
to smaxll:
thanks!
我怕英文表达不好,还是用中文说了:
《linux源码情景分析》(毛德操,胡希明著)中有一段话(372页):
“(当)cpu在系统空间中运行,所有进程的页面目录中与系统空间相对应的目录项
都指向相同的页面表,所以,不管换上哪一个进程的页面目录都一样,受影响的只
是用户空间,系统空间的映射则永远不变”
既然系统空间的映射是永远不变的,那么改变了A系统空间的全局变量x,为什么会
不影响B系统空间呢?
smaxll
2004-08-27
打赏
举报
回复
the global variable is different between A and B.
any variable changed do not affect other variable which have the
same name.
if B is a child of A,the variable x in B is a complete copy of x in A.
but they dont affect each other.
你我他111
2004-08-27
打赏
举报
回复
没人知道吗?
你我他111
2004-08-27
打赏
举报
回复
to collide:
1:用户空间是有全局变量
2:系统空间就没有全局变量吗?
collide
2004-08-27
打赏
举报
回复
全局变量是在用户态的data region中的。并不在系统空间中(内核态)
汇编实时运行核心
SCT是将用户
空间
与内核
空间
交互的桥梁,而异常处理则确保在遇到错误或未授权操作时能够正确地中断执行流程。 3. K1.C:虽然C文件一般不直接包含汇编代码,但K1.C可能是一个C语言编写的驱动程序或者其他底层服务,...
msvcr100d.dll(包括32位和64位两个版本)
64位版本提供了更多的地址
空间
和更高的性能,尤其对于处理大量数据和大型应用程序来说。 当msvcr100d.dll丢失或损坏时,可能会导致某些应用程序无法启动或运行不稳定。此时,用户可以从可靠来源下载对应版本的msvcr...
C#常用类库(100多个)
14. **
系统
信息**:System.Diagnostics.Process、Environment类可获取
系统
相关信息,如进程列表、操作
系统
信息等。 15. **数据库交互**:ADO.NET提供DataSet、DataTable、SqlCommand等类,用于连接和操作SQL数据库...
Tianlesoftware Oracle 学习手册(v1.0)高清完整PDF版
- **占用存储
空间
:** 创建索引需要额外的磁盘
空间
。 - **维护成本:** 插入、删除和更新数据时需要维护索引,可能会增加写操作的成本。 **1.2.1.3 索引不足** - 当表中数据量较少时,创建索引可能不会带来明显的...
C#基类整理
2. **C#读取AD域里用户名或组**:Active Directory(AD)是Windows操作
系统
中的目录服务,用于存储和管理网络资源。在C#中,可以使用System.DirectoryServices命名
空间
的类来与AD交互,如DirectoryEntry和...
Linux_Kernel
4,466
社区成员
17,461
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章