4 ms·
Short version: because it needs work whether it's a sunny day or the last embers of the burning world are cooling, and every condition in between. It needs to a
by mauvehaus 6y ago
Short version: because it needs work whether it's a sunny day or the last embers of the burning world are cooling, and every condition in between. It needs to allow formatting of an arbitrary string, while not being able to allocate arbitrary memory when called, or take any locks, for that matter. Oh, and it needs to not slow the system to a crawl. And to be useful, its output has to end up somewhere a person can see it.
It would be a miracle if it wasn't incredibly complicated.
- Akronymus 6y agoThis seems, to me, to be one of the few cases of truly intrinsic complexity.
- pcr910303 6y agoI’m not sure if it’s ‘true’ intrinsic complexity: one can argue that the complexity comes from the kernel having so many different modes. (E.g. a ‘simple’ single-threaded cooperative kernel might not have this complexity.) But it definitely is ‘useful’ complexity...
- PaulDavisThe1st 6y agojust adding interrupts and multiple cores is enough to break that kind of "simplicity".
- Blikkentrekker 6y agoIt is perhaps because it needs to do all those things because it's one thing used for many different things, providing detection for it's own context. Much of the complexity in many cases could be alleviated by different functions depending on what context it is called from.