Help for graduate research - how are NLTP routines implemented at the OS level

Edmon Begoli
Thu Mar 24 19:21:00 GMT 2011


I have had OS class and we actually implemented threading from scratch
on Linux,
but the focus of my inquiry is on the compilation process
and the decomposition of the user-view of the concurrent program into
a system/machine-view

In my paper would ideally want to have a fragment of a source code in C
invoking some common pthreads routines,
then an assembler or a discussion showing how compiler translates that
code and into what.

I have this for Java (monitors, for JVM) and for Haskell, but I would
also like to show how
compiler processes C, since both of the compilers (javac, ghc) are
written in C and so
I would like to show what happens when C-compiler compiles Java or
Haskell compiler
assuming Linux and pthreads.


On Thu, Mar 24, 2011 at 2:59 PM, Matt Turner <> wrote:
> On Wed, Mar 23, 2011 at 2:32 PM, Edmon Begoli <> wrote:
>> Mike, Carlos,
>> Thanks. I do have one fundamental and probably a very basic question
>> related to thread creation
>> calls and the compiler:
>> How does compiler translate a following line of code into something
>> that operating system
>> will recognize as an instruction that will map to an OS thread:
>> ret_value = pthread_create( &thread1, NULL, print_message_function,
>> (void*) message1);
> This is simply a function call.
> The interesting stuff happens inside pthread_create() and at lower levels.
>> I need specifics because this is a graduate level research on compiler
>> implementations
>> and I am having problems finding such documentation. I read Drapper's
>> paper and it does talk
>> about Futures but the focus is on the OS-level design of the
>> concurrent data structures not
>> how compiler interprets and translates PTHREAD API calls.
> Have you taken a grad-level Operating Systems course? I ask, because
> implementing a basic threading library using the clone syscall was the
> first assignment this semester in mine.
> I would imagine that you would have taken a course in Operating
> Systems if you're doing OS research.
> Matt

More information about the Libc-help mailing list