Chapter 12. Learning About Processes and Threads
In the preceding chapters, we considered the various aspects of creating an embedded Linux platform. Now it is time to start looking at how you can use the platform to create a working device. In this chapter, I will talk about the implications of the Linux process model and how it encompasses multithreaded programs. I will look at the pros and cons of using single-threaded and multithreaded processes. I will also look at scheduling and differentiate between timeshare and real-time scheduling policies.
While these topics are not specific to embedded computing, it is important for a designer of an embedded device to have an overview of these topics. There are many good references on the subject, some of which I list at the end of the chapter, but in general, they do not consider the embedded use cases. In consequence, I will be concentrating on the concepts and design decisions rather than on the function calls and code.
In this chapter, we will...