我正在学习一个三个主题综合考试,该考试决定是否毕业,并在操作系统组织上有一些疑问
a)具有共享内存的多核算计算机与OS相对于分布式或群集系统有何不同?对OS内核进行具体引用。
b)简要说明过程和线程之间的差异
c)通常以用户模式处理单个核心系统上的线程。解释为什么在多核算计算机上这是不可接受的
d)至少解释OS可以在AM Ulticore Computer上处理线程
的两种方式
这是我尝试的答案。
a)Multicore是一个单个处理器,它具有多个处理器,可以共同加快处理能力,但是由于它们共享内存,因此内核已经相互了解。分布式和群集系统使用消息传递,并且必须始终提醒其他内核对方正在做什么。
b)过程是指高级重量级任务,通常可以将其分解为较小的单个任务(线程)。线程一个过程可以抽象多处理,从而可以进行并发动作。
c)不知道,但是我的猜测是操作系统必须在内核模式下正确分发任务
d)每个核心分配过程,或分配每个核心的线程。如果您为每个核心分配Proccess,则核心将遍历该过程的所有线程,而另一核则可以在另一个过程中使用。如果每个核心分配线程,则每个核心将在与同一过程有关的一组线程上工作。
请让我知道是否有人可以帮助我理解,尤其是在OS组织主题上。
预先感谢
a。多核计算机与OS相对于分布式或群集系统有何不同?
a。聚集系统通常是通过将多个计算机组合到单个系统中以执行分布在整个集群中的计算任务来构建的。另一方面,多处理器系统可能是由多个CPU组成的单个物理实体。聚类系统通过消息通信,而多处理器通过共享内存进行通信。
b。简要说明过程和线程之间的区别?
a。过程和线程都是执行的独立序列。典型的区别是(同一过程的)线程在共享内存空间中运行,而进程在单独的内存空间中运行。
c。单个核心系统上的线程通常以用户模式处理。解释为什么在多核算计算机上不能接受。
a。在传统的单个计算机芯片上运行的多线程应用程序必须交织线程。在多层芯片上,线程可以分布在可用的核心上。
d。解释OS可以在多功能计算机上处理线程的两种方式
a。数据并行性 - 将数据划分为多个核心,并在数据的每个子集上执行相同的任务。b。任务并行性 - 将要执行的不同任务分配在不同的内核之间并同时执行。