我正在攻读3个主题综合考试,决定我是否毕业,并对操作系统组织有一些疑问
A)与操作系统相比,具有共享内存的多核计算机与分布式系统或集群系统有何不同?具体参考OS内核。
B)简要解释进程和线程之间的区别
C)单核系统上的线程通常在用户模式下处理。解释为什么这在多核计算机上是不可接受的
D)解释操作系统可以在ul ulticore计算机上处理线程的至少2种方法
以下是我的尝试答案。
A)多核是一个单处理器,它有多个处理器协同工作以加快处理能力,但由于它们共享内存,因此内核已经知道了彼此的状态。分布式和集群系统使用消息传递,并且必须始终警告其他内核另一个正在做什么。
B)进程是指高级重量级任务,通常可以分解为较小的单个任务(线程)。线程化单个进程允许抽象多处理,允许并发操作发生。
C)不知道,但我的猜测是操作系统必须在内核模式下正确分配任务
D)为每个核心分配进程,或为每个核心分配线程。如果为每个核心分配proccess,则核心将遍历该进程的所有线程,而另一个核心将在另一个进程上运行。如果为每个核心分配线程,则每个核心将处理与同一进程相关的一组线程。
如果有人有任何可以帮助我理解的事情,请告诉我,特别是在OS Organization Topics上。
提前致谢
答案 0 :(得分:1)
一个。多核计算机与分布式或集群系统相比,OS有何不同?
一个。群集系统通常通过将多个计算机组合到单个系统中来执行,以执行分布在群集中的计算任务。另一方面,多处理器系统可以是包括多个CPU的单个物理实体。集群系统通过消息进行通信,而多处理器通过共享内存进行通信。
B中。简要说明进程和线程之间的区别?
一个。进程和线程都是独立的执行序列。典型的区别在于(同一进程的)线程在共享内存空间中运行,而进程在不同的内存空间中运行。
℃。单核系统上的线程通常在用户模式下处理。解释为什么在多核计算机上这是不可接受的。
一个。在传统的单个计算机芯片上运行的多线程应用程序必须交错线程。然而,在多核芯片上,线程可以分布在可用的核心上。
d。解释操作系统可以在多核计算机上处理线程的至少2种方法
一个。数据并行 - 将数据与多个核分开,并对每个数据子集执行相同的任务。 湾任务并行 - 将要在不同核心之间执行的不同任务分开并同时执行它们。