I know that there is multithreading vs multiprocessing approach.
But I was under the impression that threads are implemented as processes by the OS. So the threading model is just a programming construct on top of processes.
At least in Java (hence the tag although this question is language agnostic) I know that the threads are implemented by the linux as processes
Is it not the general case? Does it depend on the OS?
UPDATE for Java asked in comment by @SotiriosDelimanolis: One to one mapping of Java Thread to Linux thread (LWP)