multithreading - 使用线程级内存保护/分页时存在哪些运行时问题?

标签 multithreading paging stm

好的,所以我们今天支持按进程进行内存分页/保护。多年来,我一直在想,通过为我们的操作系统今天支持的最小执行单元(线程)提供页面级保护,可以获得什么样的好处。 This question on Software Transactional Memory为我带回了最前沿。

具有页面级线程所有权的好处

  • OS支持在访问
  • 时锁定页面
  • 从理论上讲,如果操作系统具有在线程的生存期内获取所有权的机制,则可以防止内存损坏。

  • 缺点:
  • 使用标准进行死锁检测
    锁定技术已经存在
    足够难
  • 调试器/OS
    支持确定页面级别
    所有权

  • 您可以从支持这种模型中看到其他方面的弊端吗?

    最佳答案

    这种编程模型已经可以用于进程和共享内存。它使用不多,有充分的理由:进程间消息传递要安全得多,而且推理起来也容易得多。

    关于multithreading - 使用线程级内存保护/分页时存在哪些运行时问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2857631/

    相关文章:

    seo - 如何为网格创建 SEO 友好的分页?

    java - 使用 Deuce STM 进行队列

    haskell - 以下 "Dining Philosophers"的解决方案有什么问题?

    c - OpenMP:任务中的竞争条件

    c++ - 如何同步访问多个对象

    创建分页链接的算法/伪代码?

    operating-system - 如果没有分页概念,虚拟内存还能存在吗?

    haskell - `unsafePerformIO (newTVarIO 0)` 有多安全?

    windows - 线程等待原因

    c++ - 多个线程的随机数