Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I'm interested in operating systems that have a multithreading architecture, like Mach and BeOS; not ones that depend on libraries like POSIX to be multithreading. Do BSD and SunOS have a multithreading architecture?

share|improve this question
1  
Can you clarify what versions you mean ? Both BSD and SunOS cover a wide set of operating systems that have evolved quite a lot during the last three decades. –  jlliagre Jan 22 '12 at 21:34

3 Answers 3

FreeBSD has a SMP friendly kernel with multiple threads of execution and many parts of the kernel can run independant and it supports preemption.

NetBSD has been working on the same thing for many years. DragonFly BSD started over on the work (from FreeBSD4) and use message passing, etc.

OpenBSD and MirBSD do not have complete GIANT lock free SMP implementations for their kernels and the latter does not want to ever do it.

MidnightBSD is basically the same as FreeBSD 7.

share|improve this answer

FreeBSD's kernel is multithreaded; user-space applications use the POSIX pthreads API to do multithreading, but those APIs are implemented on top of the kernel's native multithreading capabilities.

Last I knew, POSIX threads on OpenBSD were implemented in user-space, not using kernel-based threads.

share|improve this answer

The name "SunOS" covers at least 2 families of operating systems.

The original "SunOS" was a 4.2BSD-derived system, and Sun put out versions up to 4.1.4. The Sun version only handled multi-CPU systems towards the end of its life, around 1994. A company out of Longmont, Colorado, Solbourne Computer, made multi-SPARC-cpu machines, and had modified SunOS (don't remember the version) to be multi-threading. About May 1990, I got to use a multi-CPU Solbourne box.

The SunOS family that more popularly goes by the name "Solaris" was an ATT System V derivative. It could most definitely handle multi-cpu hardware.

You could and can do multi-threaded userland programs under both families of SunOS. Someone put out a signal-handler-based threading package that worked well for SunOS 4.1.x versions, and Solaris came with Pthreads and some other threading package that were almost exactly the same in terms of API. The Solaris threads could be made to run 1:1 against a kernel thread, or you could run multiple userland threads on a single kernel thread.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.