Most host or desktop systems (say Linux, Mac, or Windows) have a normal use case where you start the operating system, say, in the morning, shut it down in the evening, and then you leave the machine. Embedded Systems are different; they are not attended, and they are supposed to run'forever.' Not every embedded system needs to run an OS (or in that world: Real-Time Operating System or RTOS), but the same applies here: after the RTOS is started, it is not intended that it will shut down and restart. To that extent, they do not support the'shutdown' and'restart' functionality at all. In the case of FreeRTOS, what if I really need to shut down the RTOS and restart it again, as, by default, this is not supported.
The Yocto Project is a Linux Foundation workgroup, which produces tools (SDK) and processes (configuration, compilation, installation) that will enable the creation of Linux distributions for embedded software, independent of the architecture of embedded software (Raspberry Pi, i.MX6, and so on). It is a powerful build system that allows you to master your personal or professional development. This book presents you with the configuration of the Yocto Framework for the Raspberry Pi, allowing you to create amazing and innovative projects using the Yocto/OpenEmbedded eco-system. It starts with the basic introduction of Yocto's build system and takes you through the setup and deployment steps for Yocto. It then helps you to develop an understanding of Bitbake (the task scheduler), and learn how to create a basic recipe through a GPIO application example.
LWN.net is a subscriber-supported publication; we rely on subscribers to keep the entire operation going. Please help out by buying a subscription and keeping LWN on the net. The Linux kernel has never lacked for synchronization primitives and locking mechanisms, so one might justifiably wonder why there might be a need to add another one. The addition of local locks to 5.8 provides an answer to that question. The Linux kernel offers developers a number of lock types to choose from.
MINIX's longtime mascot is a raccoon, chosen because it is agile, smart, usually friendly, and eats bugs. While Linux is well known, its direct ancestor, MINIX, is now 30 and still quite spry for such aged software. Its story and how it and Linux got started is not well known, and there are perhaps some lessons to be learned from MINIX's development. Some of these lessons are specific to operating systems, some to software engineering, and some to other areas (such as project management). Neither MINIX nor Linux was developed in a vacuum. There was quite a bit of relevant history before either got started, so a brief introduction may put this material in perspective. In 1960, the Massachusetts Institute of Technology, where I later studied, had a room-size vacuum-tube-based scientific computer called the IBM 709. Although a modern Apple iPad is 70,000x faster and has 7,300x more RAM, the IBM 709 was the most powerful computer in the world when introduced. Users wrote programs, generally in FORTRAN, on 80-column punched cards and brought them to the human operator, who read them in. Several hours later the results appeared, printed on 132-column fan-fold paper. A single misplaced comma in a FORTRAN statement could cause a compilation failure, resulting in the programmer wasting hours of time. To give users better service, MIT developed the Compatible Time-Sharing System (CTSS), which allowed users to work at interactive terminals and reduce the turnaround time from hours to seconds while at the same time using spare cycles to run old-style batch jobs in the background. In 1964, MIT, Bell Labs, and GE (then a computer vendor) partnered to build a successor that could handle hundreds of users all over the Boston area. Think of it as cloud computing V.0.0.
Linux is now a quarter-century old. August 25, 2016 marks 25 years since the day Linus Torvalds posted a message announcing Linux to the world. "I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu)," he wrote. Since then, Linux has taken the world by storm, powering millions of servers, a countless number of embedded devices, and most of the smartphones in the world--by way of Android. I spoke to Matthew Miller, project leader of popular Linux distribution Fedora, to get his thoughts on this momentous occasion.