Language Selection

English French German Italian Portuguese Spanish

OS

Forget Windows, Linux or MacOS: Try these alternative operating systems

Filed under
OS

While Linux is a recreation of UNIX, FreeBSD is more of a continuation. It was initially developed by students working from a Research Unix source license obtained by the University of California Berkeley – the 'BSD' bit stands for Berkeley Software Distribution. The only reason it's not called BSD Unix is that pesky trademark and licensing gremlin.

The OS runs on its own kernel, and all of its key components have been developed as part of a single whole. Linux, on the other hand, is just the kernel; the rest of it is supplied by third parties so it lacks BSD's overall coherency.

This is a highly complete and very reliable operating system, perfect both for server applications and desktop use. That said, it doesn't come with a GUI by default – the X-window system is thankfully straightforward to install, and there are ports of Linux window managers like Gnome and KDE available.

One final note: BSD forms the core of perhaps the most polished and stable desktop operating system out there in macOS, so you know you're in good hands here.

Read more

Operating-System-Directed Power-Management (OSPM) Summit

Filed under
OS
  • The third Operating-System-Directed Power-Management summit

    he third edition of the Operating-System-Directed Power-Management (OSPM) summit was held May 20-22 at the ReTiS Lab of the Scuola Superiore Sant'Anna in Pisa, Italy. The summit is organized to collaborate on ways to reduce the energy consumption of Linux systems, while still meeting performance and other goals. It is attended by scheduler, power-management, and other kernel developers, as well as academics, industry representatives, and others interested in the topics.

  • The future of SCHED_DEADLINE and SCHED_RT for capacity-constrained and asymmetric-capacity systems

    The kernel's deadline scheduling class (SCHED_DEADLINE) enables realtime scheduling where every task is guaranteed to meet its deadlines. Unfortunately SCHED_DEADLINE's current view on CPU capacity is far too simple. It doesn't take dynamic voltage and frequency scaling (DVFS), simultaneous multithreading (SMT), asymmetric CPU capacity, or any kind of performance capping (e.g. due to thermal constraints) into consideration.

    In particular, if we consider running deadline tasks in a system with performance capping, the question is "what level of guarantee should SCHED_DEADLINE provide?". An interesting discussion about the pro and cons of different approaches (weak, hard, or mixed guarantees) developed during this presentation. There were many different views but the discussion didn't really conclude and will have to be continued at the Linux Plumbers Conference later this year.

    The topic of guaranteed performance will become more important for mobile systems in the future as performance capping is likely to become more common. Defining hard guarantees is almost impossible on real systems since silicon behavior very much depends on environmental conditions. The main pushback on the existing scheme is that the guaranteed bandwidth budget might be too conservative. Hence SCHED_DEADLINE might not allow enough bandwidth to be reserved for use cases with higher bandwidth requirements that can tolerate bandwidth reservations not being honored.

  • Scheduler behavioral testing

    Validating scheduler behavior is a tricky affair, as multiple subsystems both compete and cooperate with each other to produce the task placement we observe. Valentin Schneider from Arm described the approach taken by his team (the folks behind energy-aware scheduling — EAS) to tackle this problem.

  • CFS wakeup path and Arm big.LITTLE/DynamIQ

    "One task per CPU" workloads, as emulated by multi-core Geekbench, can suffer on traditional two-cluster big.LITTLE systems due to the fact that tasks finish earlier on the big CPUs. Arm has introduced a more flexible DynamIQ architecture that can combine big and LITTLE CPUs into a single cluster; in this case, early products apply what's known as phantom scheduler domains (PDs). The concept of PDs is needed for DynamIQ so that the task scheduler can use the existing big.LITTLE extensions in the Completely Fair Scheduler (CFS) scheduler class.

    Multi-core Geekbench consists of several tests during which N CFS tasks perform an equal amount of work. The synchronization mechanism pthread_barrier_wait() (i.e. a futex) is used to wait for all tasks to finish their work in test T before starting the tasks again for test T+1.

    The problem for Geekbench on big.LITTLE is related to the grouping of big and LITTLE CPUs in separate scheduler (or CPU) groups of the so-called die-level scheduler domain. The two groups exists because the big CPUs share a last-level cache (LLC) and so do the LITTLE CPUs. This isn't true any more for DynamIQ, hence the use of the "phantom" notion here.

    The tasks of test T finish earlier on big CPUs and go to sleep at the barrier B. Load balancing then makes sure that the tasks on the LITTLE CPUs migrate to the big CPUs where they continue to run the rest of their work in T before they also go to sleep at B. At this moment, all the tasks in the wake queue have a big CPU as their previous CPU (p->prev_cpu). After the last task has entered pthread_barrier_wait() on a big CPU, all tasks on the wake queue are woken up.

  • I-MECH: realtime virtualization for industrial automation

    The typical systems used in industrial automation (e.g. for axis control) consist of a "black box" executing a commercial realtime operating system (RTOS) plus a set of control design tools meant to be run on a different desktop machine. This approach, besides imposing expensive royalties on the system integrator, often does not offer the desired degree of flexibility for testing/implementing novel solutions (e.g., running both control code and design tools on the same platform).

  • Virtual-machine scheduling and scheduling in virtual machines

    As is probably well known, a scheduler is the component of an operating system that decides which CPU the various tasks should run on and for how long they are allowed to do so. This happens when an OS runs on the bare hardware of a physical host and it is also the case when the OS runs inside a virtual machine. The only difference being that, in the latter case, the OS scheduler marshals tasks among virtual CPUs.

    And what are virtual CPUs? Well, in most platforms they are also a kind of special task and they want to run on some CPUs ... therefore we need a scheduler for that! This is usually called the "double-scheduling" property of systems employing virtualization because, well, there literally are two schedulers: one — let us call it the host scheduler, or the hypervisor scheduler — that schedules the virtual CPUs on the host physical CPUs; and another one — let us call it the guest scheduler — that schedules the guest OS's tasks on the guest's virtual CPUs.

    Now what are these two schedulers? That depends on the virtualization platform. They are always different, in the sense that it will never happen that, at runtime, a scheduler has to deal with scheduling virtual CPUs and also scheduling tasks that want to run on those same virtual CPUs (well, it can happen, but then you are not doing virtualization). They can be the same, in terms of code, or they can be completely different from that respect as well.

  • Rock and a hard place: How hard it is to be a CPU idle-time governor

    In the opening session of OSPM 2019, Rafael Wysocki from Intel gave a talk about potential problems faced by the designers of CPU idle-time-management governors, which was inspired by his own experience from the timer-events oriented (TEO) governor work done last year.

    In the first place, he said, it should be noted that "CPU idleness" is defined at the level of logical CPUs, which may be CPU cores or simultaneous multithreading (SMT) threads, depending on the hardware configuration of the processor. In Linux, a logical CPU is idle when there are no runnable tasks in its queue, so it falls back to executing the idle task associated with it (there is one idle task for each logical CPU in the system, but they all share the same code, which is the idle loop). Therefore "CPU idleness" is an OS (not hardware) concept and if the idle loop is entered by a CPU, there is an opportunity to save some energy with a relatively small impact on performance (or even without any impact on performance at all) — if the hardware supports that.

    The idle loop runs on each idle CPU and it only takes this particular CPU into consideration. As a rule, two code modules are invoked in every iteration of it. The first one, referred to as the CPU idle-time-management governor, is responsible for deciding whether or not to stop the scheduler tick and what to tell the hardware to do; the second one, called the CPU idle-time-management driver, passes the governor's decisions down to the hardware, usually in an architecture- or platform-specific way. Then, presumably, the processor enters a special state in which the CPU in question stops fetching instructions (that is, it does literally nothing at all); that may allow the processor's power draw to be reduced and some energy to be saved as a result. If that happens, the processor needs to be woken up from that state by a hardware event after spending some time, referred to as the idle duration, in it. At that point, the governor is called again so it can save the idle-duration value for future use.

OPNsense 19.7 "Jazzy Jaguar" released

Filed under
OS
Security

For four and a half years now, OPNsense is driving innovation through
modularising and hardening the open source firewall, with simple
and reliable firmware upgrades, multi-language support, HardenedBSD
security, fast adoption of upstream software updates as well as clear
and stable 2-Clause BSD licensing.

19.7, nicknamed "Jazzy Jaguar", embodies an iteration of what should be
considered enjoyable user experience for firewalls in general: improved
statistics and visibility of rules, reliable and consistent live logging
and alias utility improvements.  Apart from the usual upgrades of third
party software to up-to-date releases, OPNsense now also offers built-in
remote system logging through Syslog-ng, route-based IPsec, updated
translations with Spanish as a brand new and already fully translated
language and newer Netmap code with VirtIO, VLAN child and vmxnet support.

Last but not least we would like to thank m.a.x. it for their sponsorship
of the default gateway priority switching feature and their continued work
of writing and maintaining plenty of community plugins.  This time around,
Maltrail, Netdata and WireGuard VPN have been freshly added to the mix.


Read more

Q4OS 3.8 Centaurus, stable

Filed under
OS
KDE

We are proud to announce the immediate availability of the brand new stable Q4OS 3.8 version, codenamed 'Centaurus'. This is a long-term support LTS release, to be supported for at least five years with security patches and software updates.

The primary Q4OS aim is stability. As we want to provide as stable as possible operating system for companies as well as for individuals, once installed and configured, Q4OS will work reliably in a long standing way, getting security fixes and updates. Adopting a new feature into the core system could be committed in a highly exceptional cases only. We treat such possible cases as best as possible, doing testing and investigating consequences carefully before such a change.

Q4OS Centaurus is based on Debian Buster 10 and Plasma 5.14, optionally Trinity 14.0.6, desktop environment, and it's available for 64bit and 32bit/i686pae computers, as well as for older i386 systems without PAE extension. We are working hard to bring it for ARM devices too.

Read more

Also: Q4OS 3.8 Released As A Traditional Desktop Linux Distribution Built Atop Debian 10.0

Linux IoT Development: Adjusting from a Binary OS to the Yocto Project Workflow

Filed under
OS
Linux

In embedded Linux development, there are two approaches when it comes to what operating system to run on your device. You either build your own distribution (with tools such as Yocto/OpenEmbedded-Core, Buildroot and so on), or you use a binary distribution where Debian and derivatives are common.

It's common to start out with a binary distribution. This is a natural approach, because it's a familiar environment for most people who have used Linux on a PC. All the commodities are in place, and someone else has created the distribution image for you to download. There normally are custom vendor images for specific hardware that contain optimizations to make it easy to get started to utilize your hardware fully.

Any package imaginable is an apt install command away. This, of course, makes it suitable for prototyping and evaluation, giving you a head start in developing your application and your product. In some cases, you even might ship pre-series devices using this setup to evaluate your idea and product further. This is referred to as the "golden image" approach and involves the following steps...

Read more

Huawei's HongmengOS is faster than Android and MacOS, has broader application

Filed under
OS

In an interview with a French magazine, Huawei's CEO and founder, Ren Zhengfei, has stated that the homegrown HongmengOS will be faster than Android and will have a broader application as well. It can be used not only on smartphones but on routers, network switches, tablets, computers and even data centers.

Read more

Sculpt OS release 19.07

Filed under
OS

The most prominent user-visible feature of Sculpt OS 19.07 is the ability of copy and paste text between terminals, graphical applications, and virtual machines. Our unique take on this feature is described in a dedicated article.

Read more

Also: Genode's Sculpt OS 19.07 Brings Performance Improvements

Fuchsia OS Developer Site and Less Surveillance-Centric Systems ("Dumb")

Filed under
OS
Google
  • Google's Mysterious Fuchsia OS Developer Site Debuts With New Fascinating Details

    Google's mysterious Fuchsia OS has been a skunkworks project at Google for years now, with only small glimpses of the new operating system...

  • Google's Fuchsia OS Developer Site Debuts

    Forbes reports that Google has launched a new website, fuchsia.dev, with documentation and source for Fuchsia OS, including the Zircon microkernel.signed to run on anything from 32-bit or 64-bit ARM cores to 64-bit X86 processors and it has a potential to be rather disruptive."

  • Fuchsia OS Developer Site Goes Live With Documentation

    oogle hasn’t revealed much about Fuchsia OS publicly, but every now and then, it quietly drops hints and clues which further affirm the progress of the mysterious OS.

  • My phone’s not dumb, it just looks it.

    For my money, the height of the smartphone age was 2009-2011. That brought us the Nokia n900 and Nokia n9. Both brilliant for their own reasons. There were devices before that which I’d be happy to have back. But nothing since then. Sure, the Ubuntu Edge or Neo900 would have been great. But they never came to be.

Google Releases Chrome OS 75 to Let Linux Apps Access Android Devices over USB

Filed under
OS
Android
Linux

Chrome OS 75 has been promoted to the stable channel as version 75.0.3770.102 (Platform version: 12105.75.0) for most Chromebook devices. This release introduces a new parental control feature that lets parents limit the time to their kids spend on Chrome OS devices, and it also enables kid-friendly Assistant for child accounts.

While still in beta, the support for Linux apps is improving with every release, and Chrome OS 75 introduces support for Linux apps to access Android devices over USB connections. Moreover, the Files app has been enhanced with support for third-party file provider apps, implementing the Android DocumentsProvider APIs.

Read more

CentOS 8 To Arrive At The End Of June: All You Need To Know

Filed under
OS
Red Hat

Red Hat Enterprise Linux 8 (RHEL 8) made its way into the market last month, which may have prompted a lot of people to expect the release of CentOS 8. according to recent reports, a major redesign is needed in the bundles; installer manufactures frameworks to make it ready to work with the more up to date working frameworks all the more proficiently. Here's all the info we've managed to scraped about the upcoming CentOS.

As indicated by the most recent reports, the fundamental form framework for the task has been finished, and at present, the group is focusing on the work of art. Additionally, the fabricate circles likewise need work to have the option to help the majority of the bundles of CentOS.

Read more

Syndicate content