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...