• 3 Posts
  • 48 Comments
Joined 1 year ago
cake
Cake day: June 12th, 2023

help-circle




  • This might sound a bit heretical, but you could carefully pick and match a variety of software and configuration to your individual needs, turning your tiling wm into a fully functional desktop environment, or you could just install a tiling wm into an existing desktop environment and get something useful with like ten percent of the work.
    I know that I have done the former multiple times, only to fall back to existing desktop environments again because it’s just a lot less work and often works better, since you don’t have to take care of getting things like screen sharing or media buttons to function.
    Especially LXQt and Xfce make it very easy to run a tiling window manager, but you can also find extensions/plugins for KDE or Gnome to make them tile. I’m personally running Gnome with the Pop Shell extension right now










  • I agree with the Runtime being slower. These days Android doesn’t technically use the JVM anymore but the Android Runtime, ART for short, that actually performs ahead of time compilation to native code for the byte code for increased performance. Still, the Java Runtime it implements is very heavy and comes with it’s own overhead, so native Android code written in Java/Kotlin is generally slower than native iOS code written in Objective C/Swift.

    The kernel architecture does influence more than just the hardware it can run on though. Microkernels for example are generally more secure but slower than monolithic kernels


  • Microkernels aren’t better per se than monolithic kernels. Their main advantage is increased security. Only a small portion of the Kernel actually runs in Ring 0, the most privileged level where the code has full access to the computer. Drivers and the like then technically run as separate, less privileged programs that interact with the kernels via messages. This greatly reduces the attack surface on the kernel and prevents crashes or memory access from a faulty driver.
    This comes at a cost though. While microkernels are generally more secure, they are also less performant. Each message means overhead and a context switch you don’t have in a monolithic kernel.
    The discussion between the two kernel types has been going on for the last thirty years and was famously the source for a long argument between Linus Torvalds, founder of the Linux Kernel and Andrew S Tannenbaum, creator of the Minix kernel.
    In the end the XNU kernel isn’t even a full microkernel, but a hybrid kernel, trying to take the best of both world by originally taking the Mach microkernel and then implementing the 4.3BSD monolithic kernel on top of it. There are even project to do the same with Linux, like L4Linux

    Overall the choice of kernel doesn’t hold Android back in comparison, Linux is an extremely capable piece of software that runs on anything from small microcontrollers to all of the world’s largest supercomputers. Though Google’s newest OS project, Fuchsia, actually uses a microkernel for increased security. And it doesn’t use Linux because of licensing, but that’s a whole other can of worms