Windows与Unix程序内存空间差别

本文探讨了Unix和Windows操作系统的内存管理模式。Unix通过正文段和数据段区分内存使用,并利用进程控制块进行管理;而Windows则划分为系统工作区和用户工作区,系统工作区用于存放内核代码和设备驱动程序等关键组件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

Unix内核态也称管态(Windows称内核模式)和用户态也称目态(Windows称用户模式)是系统指令调用权限上的一组概念。

而在内存上,
Windows分为系统工作区和用户工作区。Win32中2GB以下的内存区域属系统工作区,用来存储内核代码、设备驱动程序等。
而Unix稍显复杂,他把程序的内存分为正文段和数据段,然后用一个PCB块(进程控制块)来指明各部分内存存放地址。正文段式程序是可再入程序(也就是可以被进程共享的程序)。而数据段存放非共享程序和程序工作的数据,它包括三部分:用户栈、用户数据区、系统工作区。所以,执行系统调用时,需要把提供给用户程序的参数从用户态的存储区域(用户数据区)传送到核心态的存储区域(系统工作区)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值