Is it just / ?

I kid. But really, besides “its all a file”, if you take away the gui, is the only difference the syntax ? How libraries interact? How disks are mounted ?

If we stripped all ms’s junk out and made windows open source, would we still prefer linux?

When you get to a very basic level, is one of them more efficiently coded?

  • monovergent 🛠️@lemmy.ml
    link
    fedilink
    arrow-up
    29
    ·
    edit-2
    6 hours ago

    Up until 95, Windows was mostly a desktop environment for DOS. From 95 to ME, Windows was an OS that used DOS as its bootloader and compatibility layer. Not sure how to put it, but it was simplistic and fundamentally different from Linux.

    The thing with NT-based Windows (including modern editions) is that the underlying system is joined at the hip with the GUI. Whereas Linux with your choice of coreutils is a perfectly capable OS without the GUI, many features of Windows are only accessible through the GUI.

    Given enough time and resources, pretty much anything exclusive to Windows could be ported to Linux and vice versa. A lot of the difference just comes down to history and the ensuing conventions, workflows, and file hierarchies.

    Even if we stripped out all the cruft and spaghetti code from Windows, there would be lots of nasty idiosyncrasies in its design, informed by its OS/2 and VMS (see Dave Cutler) heritage, profit maximization, revolving door of devs and interns, and years of bending over backwards to accommodate legacy programs.

  • MonkderVierte@lemmy.zip
    link
    fedilink
    arrow-up
    58
    arrow-down
    2
    ·
    1 day ago

    You rather should ask what separates Windows from all the Unix-likes. Windows is the weird one, not Linux.

  • pineapple@lemmy.ml
    link
    fedilink
    English
    arrow-up
    15
    arrow-down
    1
    ·
    22 hours ago

    Yes we would still prefer Linux. Windows is just a single object without any modularity. With Linux by itself is of course just a barebones kernal waiting to be added to. You can choose which gnu libraries to use you can chose which package manager to use you can chose which desktop environment to use (or ommit it entirely.) Windows doesn’t have that option.

    As well since the source code for linux has been open for over 30 years people know how it works, it would take ages for people to study windows and actually figure out how to do anything with it.

  • geneva_convenience@lemmy.ml
    link
    fedilink
    arrow-up
    21
    ·
    edit-2
    1 day ago

    From my basic understanding: Windows has a microkernel hybrid style architecture. It’s kind of like microservices. Instead of all resources being shared within a system process, You get a lot of tiny services all making calls to each other and the main kernel.

    This introduces a lot of overhead because variables need to be sent and requested between processes. And they don’t simply share them in the same memory.

    Linux on the other hand has most services under one monolithic kernel and they can all access the same memory. So there is no need for all of that intercommunication between services.

    At least that’s my basic understanding and if I’m wrong (which I probably am), then somebody on the internet will now correct me.

    • data1701d (He/Him)@startrek.website
      link
      fedilink
      English
      arrow-up
      7
      ·
      11 hours ago

      You’re right in some ways; Windows is closer to a microkernel than Linux, though it doesn’t perfectly adhere to the philosophy of - there’s supposedly weird things like drawing calls in the Windows kernel that should be in microservice, I’ve heard

      However, I wouldn’t necessarily call microkernels a detriment; in fact, Linux is a bit of an odd duck for going monolithic - modern Apple operating systems also run on a microkernel. Monolithic is an older architecture, and there are worries about the separation between components and system resilience e.g the webcam driver can’t crash the whole kernel.

      In practice, it’s less of an issue, and there really aren’t any open source microkernel operating systems that are practical for production desktop and server use, which has a microkernel though there are certainly solutions for embedded systems.

      QubesOS is built on Xen hypervisor, which uses a microkernel design, but Linux is then run in multiple VMs on top of it, which makes it more of a technicality in my eyes. RedoxOS also runs on a microkernel and is certainly intended as a desktop operating system, but its hardware support is limited; GNU Hurd is even more limited in that respect and not really usable.

  • schnurrito@discuss.tchncs.de
    link
    fedilink
    arrow-up
    16
    arrow-down
    1
    ·
    24 hours ago

    They come from completely different heritages.

    GNU/Linux is a reimplementation of Unix, an operating system that was originally designed mainly for universities, but also mainframes.

    Windows is descended from DOS, an operating system intended for home computers.

    Nowadays Windows is the only widely used non-Unix-like OS; GNU/Linux, Android, macOS and iOS are all Unix-like.

    If Windows became FOSS, I at least would likely switch to it. It’s really the FOSS philosophy more than anything else that makes me want to use GNU/Linux.

  • Mordikan@kbin.earth
    link
    fedilink
    arrow-up
    36
    ·
    1 day ago

    I think its easier and shorter to say what is the same between the two than different, but some things that are different:

    1. Filesystem (ex. Linux treats everything as a file, more flexibility in organization, more compatibility for differing systems, etc)
    2. Security Model (NTFS vs UNIX, selinux, ACLs, etc)
    3. File Execution (File extensions don’t really matter in Linux - based on file permission not extension, ELF vs PE, etc)
    4. Kernel (Monolithic vs Hybrid kernel systems - Windows hands off to HAL vs the Linux kernel doing core functions)
    5. System Calls (Windows use Win32/NT APIs, Linux uses POSIX-compliant)

    Performance is dependent on use case, but in general:

    1. Linux uses fewer system resources
    2. Linux has faster boot time
    3. Linux has better CPU/disk throughput
    4. Windows has better gaming driver support
    5. Linux has higher stability/control (hence why its the defacto server OS)

    If we stripped all ms’s junk out and made windows open source, would we still prefer linux?

    In what context? For gaming maybe, but that’s one single use. There is more to computers than video games, at least for the majority of Linux users. I wouldn’t trust Windows on any server I run.

    • teawrecks@sopuli.xyz
      link
      fedilink
      arrow-up
      10
      ·
      12 hours ago

      Note: Gaming performance is purely based on money spent. There’s no fundamental reason windows would have better gaming performance, it’s just that there is more money being paid to engineers and vendors to support DirectX and related tooling.

      Then there’s the self-fulfilling aspect that, windows has the largest marketshare, so devs are going to spend the most money targeting it, so that they can get the most money in return, which means more people will use it, which leads to the high marketshare.

      The ONLY reason Linux use is seeing the few percent blip in gaming is because Valve has dumped truckloads of cash into making it viable.

  • Ephera@lemmy.ml
    link
    fedilink
    English
    arrow-up
    14
    ·
    1 day ago

    Somewhat of a cheap answer, but I feel what illustrates the difference quite well is that Linux follows the design from UNIX, which was a research project with stupid amounts of money to at least try to get things right. On the other hand, Windows originated from an OS, which was referred to by its developers as “Quick and Dirty Operating System”.

    And I do feel like these foundations have informed the design of all the layers built on top.

  • just_another_person@lemmy.world
    link
    fedilink
    arrow-up
    27
    arrow-down
    1
    ·
    1 day ago

    The entire difference is the kernel. There’s a reason why Apple moved to BSD forever ago for their OS. Somebody did it better than they would have been able to from scratch. Everything above that level on up to the DE matters less as far as stability and performance goes for desktop users.

  • frongt@lemmy.zip
    link
    fedilink
    arrow-up
    18
    ·
    1 day ago

    Literally everything.

    Okay not everything, I’m sure they share some basic libraries like openssl. But the core OS is apples and oranges.

  • HubertManne@piefed.social
    link
    fedilink
    English
    arrow-up
    15
    ·
    1 day ago

    I started in IT as a windows guy in a unix heavy lab. I aliased windows command line things to output a message to use the linux version of the command so that I would learn it. so if I typed dir I would get a message that said use ls.

    • kadu@lemmy.world
      link
      fedilink
      arrow-up
      19
      ·
      edit-2
      22 hours ago

      Average Linux command naming: yoink

      Average Windows PowerShell command naming: Do-QuickPleaseRunProgramDeleteCache -Now -Force -NoFail

  • Godort@lemmy.ca
    link
    fedilink
    arrow-up
    10
    ·
    1 day ago

    At a super basic level, MacOS, Linux, and Windows all use different kernels.

    From a very basic viewpoint. The kernel is basically the piece of software that gives each piece of hardware their instructions.

    At the absolute most basic level, assuming equal hardware, all the kernels are working with same set of instructions(store this value in this register, move to this location in the stack, read this value, etc) but they issue those instructions in different orders to achieve very different results.

    The NT kernel that windows uses does basically everything in a different way than the Linux kernel. To the point that their only real similarities are that they speak the same language to the bare metal hardware.