BSD 和 SunOS 是否具有多线程架构?

BSD 和 SunOS 是否具有多线程架构?

저는 멀티스레딩을 위해 POSIX와 같은 라이브러리에 의존하지 않는 Mach 및 BeOS와 같은 멀티스레드 아키텍처를 갖춘 운영 체제에 관심이 있습니다. BSD와 SunOS에는 다중 스레드 아키텍처가 있습니까?

답변1

"SunOS"라는 이름에는 최소한 2개의 운영 체제 제품군이 포함됩니다.

最初的“SunOS”是4.2BSD衍生的系统,Sun推出了4.1.4之前的版本。 Sun 版本仅在其生命周期即将结束时(即 1994 年左右)处理多 CPU 系统。科罗拉多州 Longmont 的一家公司 Solbourne Computer 制造了多 SPARC-CPU 机器,并修改了 SunOS(不记得版本了)成为多线程。大约 1990 年 5 月,我开始使用多 CPU Solbourne 盒子。

SunOS 系列(更普遍地称为“Solaris”)是 ATT System V 的衍生产品。它绝对可以处理多 CPU 硬件。

您可以并且可以在 SunOS 的两个系列下执行多线程用户态程序。有人推出了一个基于信号处理程序的线程包,该包适用于 SunOS 4.1.x 版本,Solaris 附带了 Pthreads 和其他一些线程包,它们在 API 方面几乎完全相同。可以使 Solaris 线程以 1:1 的比例针对内核线程运行,或者可以在单个内核线程上运行多个用户态线程。

답변2

FreeBSD 的内核是多线程的;用户空间应用程序使用 POSIX pthreads API 来执行多线程处理,但这些 API 是在内核本机多线程功能之上实现的。

最后我知道,OpenBSD 上的 POSIX 线程是在用户空间中实现的,而不是使用基于内核的线程。

답변3

FreeBSD有一个SMP友好的内核,具有多线程执行,内核的许多部分可以独立运行,并且支持抢占。

NetBSD 多年来一直致力于同一件事。 DragonFly BSD 重新开始了这项工作(从 FreeBSD4 开始)并使用消息传递等。

OpenBSD 和 MirBSD 的内核没有完整的 GIANT 无锁 SMP 实现,而后者也不想这样做。

MidnightBSD 与 FreeBSD 7 基本相同。

관련 정보