0

I'm studying for an upcoming operating systems exam, and I've come across this question and would like some clarification because honestly I am not too confident on my answers.

Mark the characteristics that are true of user-level threads.

1) Threads from the same process can be run on different processors in a multi core system
2) Thread run-time support is needed to route incoming signals to the correct thread
3) Threaded programs are easily ported to other systems
4) Overhead for thread operations is high

Here are my thoughts...

  1. False, because kernel threads can do this and I believe its one of the drawbacks of user level

  2. True, because the OS can't distinguish multiple user-level threads so something is needed to route them? (Not sure on this)

  3. True, just a guess but because it's not OS level then it can run on many systems despite the OS

  4. False, I think user-level threads are meant to be fast and low overhead.

Can anyone confirm my assumptions, or if I am wrong guide me in the right thought process?

Eric Smith
  • 1,336
  • 4
  • 17
  • 32
  • For #3 I don't think it is necessarily true. Portability would depend on whether each platform has access to that library that implements the threads. Green thread (strictly user-level threads) libraries that use to be available on Linux were not always available on Windows for example. So if you were to try and port from Linux to Windows it wasn't necessarily very easy. I would say that portability is not guaranteed by user level threads by themselves. Portability would be more a function of availability of a particular user-thread library across multiple platforms. – Michael Petch Oct 10 '14 at 20:44
  • More simply, it's very bad question where some of the given alternatives could be answered with 'maybe'. – Martin James Oct 11 '14 at 03:58

0 Answers0