Originally posted by Volta
View Post
Announcement
Collapse
No announcement yet.
The Linux Kernel Has Been Forcing Different Behavior For Processes Starting With "X"
Collapse
X
-
-
Originally posted by furtadopires View PostI'm not a C dev, but doesn'tCode:&& req->value == 1
I'm not saying it's not a questionable solution, but if it's true then maybe it didn't affect as many processes as they thought.
- Likes 2
Leave a comment:
-
Originally posted by [email protected] View PostXorg is fine they say. No need for Wayland they say...
I suspect people blindly upvoting your ignorant comment have no clue about any of this.Last edited by ryao; 08 November 2022, 09:45 AM.
- Likes 3
Leave a comment:
-
Originally posted by furtadopires View PostBecause god forbids I having a legit on topic doubt, right?
"Shoulda" stopped at user creation form junior userI just don't run my mouth on forums when I don't know what I'm talking about. Stay in school!
- Likes 1
Leave a comment:
-
Originally posted by mercster View PostShoulda stopped there, bro. :-)
"Shoulda" stopped at user creation form junior user
- Likes 1
Leave a comment:
-
Originally posted by erniv2 View PostTo 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.
Leave a comment:
-
Originally posted by r_a_trip View Post
The trouble with most microkernels is the IPC overhead. Pass a message, wait for the scheduler to switch cpu control to the other process, pass a message, wait for the scheduler, etc. Making most implementations significantly slower than a monolithic kernel.
AFAICT, the only succesfull microkernel OS that solved that particular problem is QNX, which tightly integrated message passing with cpu scheduling, thereby reducing unnecessary cpu cycles switching between processes. Pass a message, if the receiving process is waiting for it, give waiting process control over the cpu. Cuts out a lot of back and forth.
Have other microkernel OSes copied this behaviour? The patents should have expired by now, as QNX was initially released in 1982.
Last edited by ayumu; 08 November 2022, 06:01 AM.
Leave a comment:
-
Originally posted by emblemparade View PostWhat a nice blend of 1) well-informed people who know the code and know the architecture and what they are talking about, and 2) random commentators looking to vent (unsolicited) regarding topics that are entirely tangential to the original Phoronix article.
Welcome to the Phoronix forums! Consistent quality since 2004.
- Likes 4
Leave a comment:
-
Originally posted by Ironmask View PostMisbehaving code in a kernel simply crashes the kernel.
That wouldn't have happened in a microkernel because either that page was mapped by my process and it didn't (directly) affect other drivers or kernel tasks or it wasn't and the driver receives a segfault at the very moment of access, deterministically. What policy to follow when that happens would be probably defined on the basis of how critical the process is, of course. Crashing the OS gracefully or restarting.
Obviously, even in the first scenario there's no "no harm guarantee". For example, if the driver did corrupt itself now it would send unreliable results to processes asking it for data, so there could be a chain reaction. But that's still a reduction in the ways it can harm the user and specially their data.
Originally posted by Ironmask View PostA misbehaving usermode driver could keep being respawned over and over, corrupting more and more data.
Originally posted by Ironmask View PostThe whole point of critical OS code, whether userspace or kernelspace, is to kill the entire OS before anything else can happen.
Originally posted by Ironmask View PostFor 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.
Originally posted by Ironmask View PostNo, it just means the kernelmode address space doesn't get clobbered.
- Likes 1
Leave a comment:
Leave a comment: