Announcement

Collapse
No announcement yet.

The Linux Kernel Has Been Forcing Different Behavior For Processes Starting With "X"

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #51
    Originally posted by sinepgib View Post

    But that would start inserting logic into the kernel that you should be careful about. Maybe the generic connection close could suffice tho. I think MINIX does track the IPC channels between processes.
    That's exactly what I meant. VFS asks the USB stack for something, USB stack crashes, kernel synthesizes a response telling VFS that the the other end (the USB stack) is gone.

    Yeah, buuuuut some drivers may be implementable in higher level languages if those are efficient, such as Lua. I think that's the nice part of having userspace servers actually, you don't need to restrict yourself to the restrictions you have on a kernel.
    Again, just what I wrote, but I wouldn't *want* to write a driver in Lua, Java or Python. Maybe Go I guess.

    Comment


    • #52
      Originally posted by Volta View Post

      Ironmask already explained. Your 'explanation' why monolithic kernels won is just out of scope of being silly. There are others who have skills, but they failed, because microkernels are brain dead design. Let's waste performance, code readability, energy just because.
      Yeah, why have a readable code base when we can also have a 20MLOC spaghetti mess. Performance and energy are not wasted due to microkernels, but due to bad interface design and bad algorithms. Yes, this includes common monolithic kernels.

      Comment


      • #53
        Originally posted by sinepgib View Post

        It doesn't change the fact X11 is the protocol and you could implement a different one.
        Indeed. In fact the Xsun server had kernel-based modesetting for some graphics adapters back in ~1995.
        We have been going around in a big pointless circle ever since.

        Comment


        • #54
          "Playing games with current->comm like this is obviously wrong, and it's pretty shocking that this ever got committed."

          This assumption is why it is actually not shocking at all...

          Comment


          • #55
            Originally posted by waxhead View Post
            Not breaking userspace is going to be tricky with this one...
            Linux breaks userspace, if that userspace is sufficiently outdated or too broken. They discontinue old processors, for example.

            If this hack is needed, it needs fixing. At least match "X\0", not any process starting with an X.

            Comment


            • #56
              Originally posted by Volta View Post

              Ironmask already explained. Your 'explanation' why monolithic kernels won is just out of scope of being silly. There are others who have skills, but they failed, because microkernels are brain dead design. Let's waste performance, code readability, energy just because.
              Microkernels did not fail if you actually care about security and reliability. For example power plants/cars running QNX or waveband/military using sel4
              Last edited by mdedetrich; 07 November 2022, 03:55 PM.

              Comment


              • #57
                Originally posted by sinepgib View Post
                For a kernel driver crashing is really just a best case scenario. Misbehaving code can corrupt memory which can in turn end up modifying the filesystem, among other things. Microkernels, ideally, reduce how much harm memory corruption can cause.
                Misbehaving code in a kernel simply crashes the kernel. A misbehaving usermode driver could keep being respawned over and over, corrupting more and more data. The whole point of critical OS code, whether userspace or kernelspace, is to kill the entire OS before anything else can happen.
                For some reason, people seem to think a microkernel has some sort of supernatural ability to keep an OS running when theres a critical bug in a driver or if the hardware is faulty. No, it just means the kernelmode address space doesn't get clobbered. The OS still crashes, data still gets corrupted if it's a bad bug, all that's different is that the OS simply manually detects when a critical driver dies and simply elects to terminate itself (if it didn't, you'd have that horrible infinite loop of data corruption I just mentioned).

                Comment


                • #58
                  Originally posted by anarki2 View Post
                  Because X is unmaintained.
                  X is not unmaintained, but is certainly is minimally maintained at this point (much to the annoyance of those who will give up X only when it is pried from their cold dead fingers) as the core developers efforts are focused on improving wayland.

                  Comment


                  • #59
                    Originally posted by CommunityMember View Post
                    X is not unmaintained, but is certainly is minimally maintained at this point (much to the annoyance of those who will give up X only when it is pried from their cold dead fingers) as the core developers efforts are focused on improving wayland.
                    There was about 2 and a bit years where the X.org X11 server did not have maintainer that is 2018 to 2021 time area. There is a backlog of that 2 and a bit years to catch up on and lack of personal as to catch up on this. Minimally maintained is not exactly right. X.org X11 server is still technically less than minimally maintained due to the backlog that has not been 100 percent caught up on. You need more than minimal personal to catch up. This is also why the current X11 server maintainer is still working out if more parts can be cut off.

                    Yes unmaintained is not the current status but neither is minimally maintained. The current status of X11 Server is really attempting to get back to minimally maintained status and this has included trimming down the code base attempting get to that.

                    Something else to remember the prior maintainer to the current one stopped maintaining in 2018 because the process of maintaining X11 server by himself burnt him out. This means we cannot be sure how stable X.org X11 server future is.

                    Comment


                    • #60
                      To this hole microkernel thing most of the things where allready pointed out.

                      1. support from the hardware oem is needed for drivers, why code a new driver for something unknown if you have a working system with linux/windows
                      2. the modular approach, well linux has that vfs/block/mm/sheduler/driver, how long does it count as micro kernel, and when is it a full os, if you just have the kernel and no driver no filesystem no block layer no memory no pcie no gpu support that leaves you with just a BIOS and you can do nothing.
                      3. lets say you include drivers in the microkernel and each layer can reset from errors, you need to comunicate that an error accured to the kernel, that a module needs to be reset, and when a module is reset, it needs to reset all modules that have dependencies vfs->fs->block->nvme, in the case that an corruption took place in the vfs layer cache/buffer for block devices you need to restart 4 modules, and on top of that also reinitialize the pcie bus for the nvme drive, so the pcie registers are clear and in a sane state, to do that you need access to low level hardware registers and the knowledge for that driver wich again comes from OEM´s, you need a datasheet for that, and a NDA, oh my samsung nvme does this stuf on pci register xx and it should be reset to yy with a driver reset.

                      SO now you have the same problem linux has, you simply cant code a opensource os like that without the right stuff so whats the solution ?

                      Like linux and windows do you throw a bluescreen and simply reboot, cause the hardware blob knows how to do.

                      This microkernel aproach only works in highly special embedded systems with limited hardware and in an controled enviroment , like maybe miltary grade hardware, powerplants etc. where you know my chips from 1979 still work with it.

                      Comment

                      Working...
                      X