Join us as we take you through the history of how FreeBSD containers came to be, where did the need for such a solution originate, and how they were developed into the practical FreeBSD Jails they are today.
Tracing the History of ARM and FreeBSD
Tracing the History of ARM and FreeBSD
ARM – Past, Present and Future
When we think of computers, we generally think of laptops and desktops. Each one of these systems is powered by an Intel or AMD chip based on the x86 architecture. It might feel like you spend all day interacting with these kinds of systems, but you would be wrong.
In fact, you probably did not realize it, but during the course of the day, you have spent more time interacting with ARM (Advanced RISC Machines) processors than any other architectures. ARM chips may be found in everything from cars to cellphones, charging cables, televisions, and more. However, the most important advancement in ARM technology is in the area of personal computing. And FreeBSD can take advantage of this technology. Let’s take a look at the ARM architecture.
History of Arm
The best place to start is at the beginning of the ARM story. To do that we need to jump back to 1970s England. At the time, a man named Chris Curry was having a difference of opinion with his boss Clive Sinclair. (If the name Clive Sinclair sounds familiar, it’s because his company would go on to release the ZX Spectrum, correctly pronounced Zed-X Spectrum.) Curry wanted to release a full computer system instead of a computer kit, like most other companies were doing at the time. Sinclair refused.
As a result, Curry left Sinclair Computers Ltd and joined his friend Hermann Hauser in creating a new venture named Acorn Computers. (According to legend, this name was chosen because it came before Apple in the phone book.) One of Acorn’s first successful project was the BBC Micro, an educational computer commissioned by the BBC. The same year, IBM released their Personal Computer.
The IBM PC introduced the 16-bit Intel 8088 processor (compared to the BBC Micro’s 8-bit MOS Technology 6502 chip). Acorn decided that they wanted to compete in the personal computing market and started looking at what processors were available. According to Steve Furber, one of the principal designers of the ARM microprocessor, “We looked at the 16-bit processors that were around and we didn’t like them.”
Furber said that they identified two issues with the available 16-bit chips. First, they used “minicomputer-style instruction sets”, which made them very complicated. Secondly, they could not keep up with the system memory.
At the time, Hermann Hauser gave the team some information about work being done at Berkeley and Stanford on “reduced instruction set computer” (or RISC) processors. A couple of years later, Furber and a couple of other Acorn employees visited a design center in Arizona, that was working on an updated version of the 6502. After visiting the operation, they became convinced that they could design the chip they needed themselves. “My strong memory is walking out of there saying to each other, ‘Well, if they can design a microprocessor, so can we.'”
Back in the UK, they ordered the equipment they needed for chip design and got to work. Furber said, “It turned out there is no magic. Microprocessors are just a lump of logic, like everything else we’d designed, and there are no formidable hurdles. The RISC idea was a good one; it made things much simpler. Eighteen months later, after about 10 or 12 man-years of work, we had a working ARM in our hands, which probably surprised us as much as it surprised everybody else.”
Unfortunately, the ARM processor arrived too late to save Acorn. They encountered financial difficulties in the early 1980s. In 1985, the company was acquired by Italian manufacturer Olivetti. Under new management, Acorn continued to look for ways to market its ARM technology.
Eventually, they were contacted by Apple, who was interested in the chips, but “didn’t want to base a product on Acorn IP – who, at the time were considered a competitor”. The result was a joint venture between Acorn Computers, Apple, and VLSI Technology (the company that manufactured the silicon chips) named Advanced RISC Machines Ltd. ARM chips were used in the failed Apple Newton PDA introduced in May 1993. It was one of the first handheld mobile devices ever made.
After the failure of the Newton, ARM leadership decided to license their designs to avoid being dependent on the success of one product. Over the years, ARM chips were used for many different use cases. But their use really took off with the rise of mobile phones, which needed smaller chips that function efficiently. In 2008, the “10 billionth processor chip based on ARM’s designs is shipped.” According to a recent article, ARM chips were “at the heart of the more than 1 billion smartphones sold annually”. ARM continues to improve.
Understanding the Benefits of the Arm Architecture
As the name implies, ARM is based on the RISC (or reduced instruction set computer) architecture. A RISC chip is designed to use a few, simple instructions to complete its tasks. This means that “circuitry needed requires fewer transistors, resulting in more chip space and/or smaller chips”. “x86-64 has at least 981 instructions. ARM, on the other hand, has closer to 50.” On the negative side, the simplicity of the instructions means it takes more instructions to perform complex tasks.
ARM chips are designed to have lower power consumption. This is a result of the smaller number of transistors. On average, ARM chips consume 5W of power. “A high-end Intel I-7 can consume as much as 130W of power whereas the mobile Intel processors (such as Atom and Celeron) consume anywhere between 6W to 30W.” This also means that ARM chips don’t run as hot and require less cooling.
The biggest benefit of ARM is the open nature of the platform. x86 processors are only manufactured by Intel and AMD. This is because Intel does its best to keep their designs closed. On the other hand, ARM licenses their designsto thousands of manufacturers. These manufacturers can either use the designs directly from ARM or can modify them.
It’s About Time: FreeBSD Gets Ported to Arm
FreeBSD developers started working on support for 32-bit ARM chips during FreeBSD 6.0. (For reference, this was 4 years before the Raspberry Pi was introduced.) The support for 32-bit ARM was officially added to the kernel in FreeBSD 7.0 in February of 2008. Support for 64-bit ARM processors was added a few years later in FreeBSD 11 in October 2016.
According to the FreeBSD Handbook, ARM is considered a Tier 2 architecture. Tier 2 platforms are considered “functional, but less mature FreeBSD platforms”. This means that they are “not supported by the security officer, release engineering, and port management teams”. There is a proposal to make 64-bit ARM a Tier 1 platform in FreeBSD 13.
Where Do We Go From Here: The Future of Arm
Until now, the majority of ARM processors have been used in mobile devices and other smaller computers, such as Raspberry Pis. With the release of Apple’s new line of devices using their M1 chip, a whole new world of possibilities is opening up. When that happens, FreeBSD will be there to help you take advantage of this exciting new platform.
Like this article? Share it!
You might also want be interested in
Getting expert FreeBSD advice is as easy as reaching out to us!
At Klara, we have an entire team dedicated to helping you with your FreeBSD projects. Whether you’re planning a FreeBSD project, or are in the middle of one and need a bit of extra insight, we’re here to help!
Today, FreeBSD is used by many companies and individuals to manage network traffic or build embedded systems in one form or another. BSD was created many years before the idea of networking computers across the country was even possible. In this new article from the “History of FreeBSD” series, we will look at how networking was first added to BSD.
Don’t know what to read during the holiday downtime? We’re here to help! We’ve created a short but insightful list of articles that you should take a look at.
Turn on that virtual fire and join us in reading about FreeBSD and ZFS!