首页
社区
课程
招聘
[求助]操作系统习题――有关WIN2000
发表于: 2007-1-13 22:16 4393

[求助]操作系统习题――有关WIN2000

2007-1-13 22:16
4393
题目为:●Windows NT或Windows 2000是当前流行的一类操作系统, (13) 是Windows NT真正的中心,它提供了一组操作系统原语和机制。Windows NT采用线程机制提高系统的 (14) 。NT采用基于 (15) 的方案选定线程执行的次序。
     (13)A.进程    B.内核    C.线程    D.管程
     (14)A.并行性   B.可靠性   C.健壮性   D.兼容性
     (15)A.先来先服务 B.时间片轮转 C.随机选择  D.优先级

题中给出的答案为:13.C  14.B   15.A
    我认为答案为13.B  14.A  15.D

   
     小弟有点不懂了,所以求教个位大哥,最好能带讲解说明原因。

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 139
活跃值: (141)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
13.B  14.A  15.B

13就不多说了。

14。线程就是为了并行性,在单CPU上实际上是没法并行的,只是让人感觉像是几个软件同时在运行。只有在多核的计算机上才可能实现真正的并行,这当然也需要操作系统的支持。

    线程对可靠性反而是个挑战,软件处理不当很容易崩溃。一直到.NET 2都有线程处理上的bug,平时编程时比较头痛的就包括对多thread程序的调试,不管是在windows还是在Linux上。

很多人一上来就写multi-thread的程序,不管是不是真的需要。至少在单核的Windows机器上,多线程的程序引起的系统开销是很大的。你每创建一个thread,系统就得调用该process里面所有DLL的DllMain()一遍。系统每一次thread切换,该休息的thread的数据(kernel object,stack --- user mode and kernel mode)都得保存,由此引起的内存page fault和相应的disk I/O是很惊人的。还不提你得花在线程同步上的功夫和效果。所以要慎用。

15。如果是考试题,这个老师该打屁股。先来先服务是早期操作系统调度进程的常用办法,比如Windows 3.1;从95开始就是round robin的法子了。
    1) 每个thread的quantum大概是20ms
    2) quantum的原理可参考:

c27K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3c8G2N6$3&6D9L8$3q4V1i4K6u0W2L8h3W2U0M7X3!0K6L8$3k6@1i4K6u0W2j5$3!0E0i4K6u0r3k6r3!0%4L8X3I4G2j5h3c8Q4x3V1j5#2i4K6u0r3j5W2)9J5c8U0y4Q4x3V1j5#2j5U0x3^5z5o6l9H3j5#2)9J5k6r3u0S2y4X3g2Q4x3X3b7@1x3o6t1K6i4K6u0V1z5e0l9%4z5q4)9J5k6o6k6W2z5h3y4W2x3U0x3^5x3$3f1$3y4g2)9J5c8V1x3H3y4W2R3I4x3e0p5$3y4U0l9%4i4K6u0W2M7r3c8X3

    3) sleep(10)可以让系统保证你的thread最少睡上10ms
    4) 在task manager里右键选择一个process,“set Affinity”可以让系统把你的thread绑定到某个CPU上去运行,对应的API是SetThreadAffinityMask()。
    5)2000/XP/2003:thread的优先级(priority)一般有32级(0到31),在task manager里你可以设定你的thread的优先级为real time(31),但系统内部从来就是不理睬,当成15(普通)来看待。
2007-1-14 10:24
0
游客
登录 | 注册 方可回帖
返回