请问:可以增加操作系统的:系统资源、用户资源、GDI资源吗?(100分)

  • 主题发起人 主题发起人 zjlcc
  • 开始时间 开始时间
Z

zjlcc

Unregistered / Unconfirmed
GUEST, unregistred user!
如题
我觉得它很有用处
 
你只能通过开源节流来实现
增加机器的ram,减少打开的程序。
如果你一个服务程序都不运行的话开机后可用的系统资源可达到95%左右
 
在 windows nt 架构,user gdi 资源都是无限的。
在 windows 95 架构,没有任何方法可以增加这些资源。如果你够疯狂,可以试着获取
全部 16 位任务(可不是模块)列表,并且全都 kill 掉。因为 win32 应用程序在运行
结束后就会进行资源回收,理论上应该不会浪费资源。但是 win16 应用程序可能会在资
源堆中保留数据供其它程序使用,所以,在所有 win16 任务全部结束后,系统才会进行
资源回收。
 
通过增加内存并不能增加操作系统的:系统资源、用户资源、GDI资源
 
我用api做的SVR程序,在98下同时开200个线程连接,系统资源就下降的很凶,在加到250-300
的话系统就会报销:(My GOD !!现在我只能用接力的方法来实现1000个以上的线程了

请问各位大虾,操作系统的:系统资源、用户资源、GDI资源的承受限度是否是动态的?
我没有这方面的知识源,我是这样认为的,16M的98和256M的98启动的话,用工具看这三个
资源消耗都差不多,(同一台电脑,换了内存条)这就是说WINAPI函数在计算这个百分率的
时候似乎和内存没太大关系,或者和内存有关系的话:那么就存在一个可调的数字比值
当资源快耗尽的时候?系统为什么不交换到硬盘?

mikedeakins: 为什么NT的系统资源不能无限?win2000如何呢?

一个操作系统的线程数量是否有限度?如何用编程的办法尽量提高线程并发数?
CPU我可以增加到2个,内存可以加到512M,老天呀!不要逼我用汇编来做线程核心呀
 
>>我用api做的SVR程序,在98下同时开200个线程连接,系统资源就下降的很凶,在加到250-300
>>的话系统就会报销:(My GOD !!现在我只能用接力的方法来实现1000个以上的线程了
老大,这不仅仅是系统资源的问题,每使用一个线程,windows 95就要在低端的 640KB 或
1MB 内存分配一块任务区域。低端内存就这么一点点,你一百我五十怎么分的了?

第二部分的问题:
windows 95 的系统资源分为两类:16 位和 32 位。32 位资源使用平板内存模式,理论上
是受限于 4GB。但是,你看过 user32.dll 吗?文件奇小,可是引出的函数奇多。这是因为
user32.dll 严重依赖 16 位的 user.exe。所以,还有很多资源存储在 16 位堆中,受到
64KB 的限制。windows 95 遇到的资源问题就在这里。

>>为什么NT的系统资源不能无限?win2000如何呢?
什么?本来就是无限。windows 2000 和 windows nt 设计架构几乎没区别。
操作系统理论上允许 4GB 线程(记得是这样)。如果你这样使用线程,恐怕得需要几路
Xeon 处理器才行。能不能用队列之类的方式模拟实时操作?
 
mikedeakins老大呀!!听君一席话,胜读0年书呀:)受不了了,什么时候可以达到你的水平呀?
虽然看不太懂,可是我知足了,100分非你莫属

另外我现在就是使用“队列之类的方式模拟实时操作”来做的
谢谢你的回答!
 
后退
顶部