小编lau*_*ura的帖子

内存映射的I / O和编程的I / O之间的区别

在研究计算机体系结构时,我了解了控制I / O设备的不同方法,

  1. 编程的I / O
  2. 中断I / O
  3. DMA

我学习了所有三种方法。
但是我遇到了另一个术语“ 内存映射I / O”

编程I / O和内存映射I / O之间有什么关系 ?
我对这两个感到困惑。它们相似吗?

computer-science cpu-architecture

5
推荐指数
2
解决办法
7208
查看次数

线程上下文切换和进程上下文切换的区别

我知道这里对这个问题有一个解释。但我对一些点有点困惑-:

令i有属于进程P1的线程T(1-a)和T(1-b)以及属于进程P2的线程T(2-a)和T(2-b)。

现在我的问题是——

  1. 线程 T(1-a) 想要将上下文切换到线程 T(1-b)。根据这个答案,

    这两种类型(进程上下文切换和线程上下文切换)都涉及将控制权移交给操作系统内核来执行上下文切换(我主要讨论线程上下文切换)。

怀疑

如果T(1-a)和T(1-b)是用户级线程,内核将无法区分T(1-a)和T(1-b),那么上下文切换将如何完成?

  1. 让所有线程 T(1-a)、T(1-b)、T(2-a) 和 T(2-b) 都是内核级线程,如果线程 T(1-a) 想要上下文切换到 T( 2-b)。

怀疑

成本/交易不会与进程上下文切换相同吗,因为不仅虚拟内存空间发生变化,而且 TLB 也被刷新?

multithreading computer-science operating-system context-switch

4
推荐指数
1
解决办法
1914
查看次数

用户级别和内核级别线程的映射

在通过操作系统原则时,第7个ED

(Abraham Silberschatz,Peter Baer Galvin,Greg Gagne),我遇到了一个

线程调度部分中的语句.它被赋予 - :

要在CPU上运行,用户级线程最终必须映射到关联的内核级线程,尽管此映射可能是间接的,并且可能使用轻量级进程(LWP).

看这里 声明的前半部分即

要在CPU上运行,用户级线程最终必须映射到关联的内核级别

试图说当执行用户级线程时,它需要内核线程的支持,如系统调用.

但我完全被困在另一半即

虽然这种映射可能是间接的,但可能使用轻量级进程(LWP)

它究竟意味着什么?

请帮帮我!

multithreading operating-system linux-kernel

2
推荐指数
1
解决办法
800
查看次数