V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
DavidNineRoc
V2EX  ›  问与答

怎么看待北邮计算机大一导论考试手写一个 windows 任务管理器

  •  1
     
  •   DavidNineRoc · 2020-01-07 16:50:44 +08:00 · 5820 次点击
    这是一个创建于 1785 天前的主题,其中的信息可能已经有所发展或是发生改变。
    第 1 条附言  ·  2020-01-08 10:29:56 +08:00

    设计一个“模拟内存管理程序”。首先用一个整数数组模拟内存资源池,内存资源大概在10000-20000之间,由外部输入决定;其次,内存分块有三种,分别为50/100/200个整数。这里必须要说明,对于三种类型的区块数量各是多少,出题者的意图为“50数量较多,100适中,200较少”,

    • 第一问要求设计内存分块的数据结构,并写出函数configMemory(),要求根据输入的内存资源数进行初始化,函数返回资源配置表。
    • 第二问设计getMemory(),根据用户输入的内存资源数申请内存并返回地址。
    • 第三问写释放内存的函数,
    • 第四问要求模拟一堆用户申请内存,输出申请结果然后释放内存。最后写出整个过程的主函数。

    看来理解错了,知乎有大神贴题了。只是一个 malloc

    22 条回复    2020-01-08 10:24:09 +08:00
    nyanyh
        1
    nyanyh  
       2020-01-07 16:54:16 +08:00
    说实在这就是我期望的大学课程,理论和实践相结合
    poplar50
        2
    poplar50  
       2020-01-07 17:04:56 +08:00 via Android
    老师可能需要换位思考一下。对于老师来说 easy 的东西对于学生来说可能就是难于上青天了。。
    murmur
        3
    murmur  
       2020-01-07 17:05:44 +08:00   ❤️ 1
    如果是课程设计,允许查资料开发是个好题目
    笔试就太恶心了
    q8164305
        4
    q8164305  
       2020-01-07 17:40:23 +08:00 via Android
    很多老师喜欢拿自己研究了很多年的东西让别人一年搞懂,搞不懂还要喷你菜,这挺恶心的
    zachgenius
        5
    zachgenius  
       2020-01-07 17:52:04 +08:00
    闭卷笔试? 告辞
    DavidNineRoc
        6
    DavidNineRoc  
    OP
       2020-01-07 18:33:39 +08:00
    @nyanyh 惊现大神。
    @poplar50 没学过 windows 编程,但我感觉这个不是需要管理别的程序,杀死别的进程?是很容易的吗?
    @murmur 笔试,是真的牛皮
    @q8164305 大一的新生,一个学期我是觉得牛皮
    @zachgenius 也不知道手写怎么写出这个程序,老师不会觉得是一个文件的事情吧
    Owenjia
        7
    Owenjia  
       2020-01-07 18:46:47 +08:00
    任务管理器?怎么看评论感觉像 malloc 啊?
    GeruzoniAnsasu
        8
    GeruzoniAnsasu  
       2020-01-07 19:08:36 +08:00   ❤️ 1
    看起来像看不懂要写内存管理还是任务管理的一群普通大一学生在吐槽题目看不懂

    如果写的是内存管理,那可能还是有顶尖学霸能随手复刻一下各种 **malloc 库实现的

    如果真的是写“任务管理” 那题目不首先定义一下 task/process 内核结构体那么是没法开始动键盘的,更别说动笔了。我觉得并不能傻逼到这种程度
    GeruzoniAnsasu
        9
    GeruzoniAnsasu  
       2020-01-07 19:09:03 +08:00   ❤️ 1
    结论: 信息不足
    billlee
        10
    billlee  
       2020-01-07 22:13:30 +08:00
    按这里说的知乎上的说法,就是个固定了分块大小和每种大小的块量的内存池,用 3 个 bitset 管理就够了,又不是要写 slab 分配器。
    alcarl
        11
    alcarl  
       2020-01-07 22:27:34 +08:00 via Android
    给 tasklist 和 taskkill 这俩命令套个壳子,一小时也就这么多了,在有时间再给 wmic 相关命令套个壳子输出一下 cpu 使用率和内存使用率,不能再多了。。。。别的别想了。一小时啊,他是不是对 windows 自带的任务管理器有什么误解(◦`~´◦)
    Raynard
        12
    Raynard  
       2020-01-07 22:45:16 +08:00
    理解个字面意思,能关闭和查看任务。。

    在简单点,只查看
    JamesR
        13
    JamesR  
       2020-01-07 23:32:24 +08:00
    太难了,除非以前课余时候自己做过同样的题,否则写不出来的。
    WhoMercy
        14
    WhoMercy  
       2020-01-07 23:33:19 +08:00 via Android
    闭卷考一般都是开放题,只要方向对扣分就不会很严,也就是说写多了及格还是简单的,如果上课听讲、课后有自己思考,也有机会拿高分。
    JamesR
        15
    JamesR  
       2020-01-07 23:36:36 +08:00
    @nyanyh #1 问题是学校可不是只有一门课,有外语,高数,物理,专业课等等,单一门课不难,难在要学一堆堆课,时间不够。
    allenjuly7
        16
    allenjuly7  
       2020-01-07 23:41:20 +08:00
    大佬们是不是没有点进去看题目?......

    题目明明是模拟内存管理呀
    xiadong1994
        17
    xiadong1994  
       2020-01-08 03:27:05 +08:00
    最简单的内存管理器或者说是 malloc 实现(超简化版 CSAPP malloclab,我不信这个老师会把代码都敲出来去跑正确性和性能测试),数据结构基本只需要用到链表(懒点直接上数组遍历硬怼),难度上来说问题不大( depends on 上课教了啥),也就手写代码坑了点(不过没有某校研究生操作系统课期中期末考试必有的一道手写某种进程同步机制的实现坑,人肉进程调度器)。
    msg7086
        18
    msg7086  
       2020-01-08 03:29:34 +08:00
    题不对文。要求写内存管理偏说写任务管理,还用了一个有二义性的任务管理器的说法(要说也应该是任务调度之类的)。
    内存池要求不算高,虽然大一写是有点过分但是放在大二大三的话还算是正常的。
    看了下回答,槽点主要集中在上课拧螺丝,考试造火箭上。
    vinew
        19
    vinew  
       2020-01-08 06:17:02 +08:00 via iPhone   ❤️ 3
    可以画图吗🌺🐔
    crella
        20
    crella  
       2020-01-08 06:47:51 +08:00 via Android   ❤️ 1
    看题目,以为是要用 vs+c#慢慢敲一个 taskmgr.exe 的仿制品
    nevin47
        21
    nevin47  
       2020-01-08 08:18:54 +08:00 via Android   ❤️ 1
    我看了一下其实是实现一个 malloc,对大一上了半年的同学来说是有点难度,不过海星海星
    DavidNineRoc
        22
    DavidNineRoc  
    OP
       2020-01-08 10:24:09 +08:00
    @GeruzoniAnsasu 笔试
    @Owenjia 现在才看到有人说是模仿一个任务管理器
    @billlee
    @alcarl 针对的是大一新生,以前学过的应该可以搞定
    @WhoMercy 上的课和考的试完全不一样
    @allenjuly7 才看到~
    @xiadong1994 大一新生貌似他们类都没学完,更别说链表了。估计只能给班上的几个人人完成了。
    @msg7086 平时课上也是造火箭的,时不时来一个设计程序,一周一个语言
    @vinew 用 C++ 来画?
    @nevin47 大佬
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5457 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 06:54 · PVG 14:54 · LAX 22:54 · JFK 01:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.