... if you're going to be sarcastic, please mark it as such.
Yes, x86 (and to a lesser extent ARM) are kinda crazy at the architecture level, but interrupts are not the example you should pick (interrupts are one of the best low-level features if you want any form of performance)
I do (however) kinda agree that we need to rethink platforms to get better multi-core performance, and that's the direction systems research should be looking (that and working on new languages that make multi-threading easier to get correct)
Systems Software Research is Irrelevant, by Rob Pike
- thepowersgang
- Member
- Posts: 734
- Joined: Tue Dec 25, 2007 6:03 am
- Libera.chat IRC: thePowersGang
- Location: Perth, Western Australia
- Contact:
Re: Systems Software Research is Irrelevant, by Rob Pike
Kernel Development, It's the brain surgery of programming.
Acess2 OS (c) | Tifflin OS (rust) | mrustc - Rust compiler
Currently Working on: mrustc
Acess2 OS (c) | Tifflin OS (rust) | mrustc - Rust compiler
Currently Working on: mrustc
- Kazinsal
- Member
- Posts: 559
- Joined: Wed Jul 13, 2011 7:38 pm
- Libera.chat IRC: Kazinsal
- Location: Vancouver
- Contact:
Re: Systems Software Research is Irrelevant, by Rob Pike
Go write an operating system that can saturate both the PCIe and SATA3 buses while doing nothing but polling and still accept and process user input and draw 3D graphics at a framerate meeting or exceeding your monitor's refresh rate.Geri wrote:why the hell we even have interrupts?
I will eat a leather hat if you can.
Re: Systems Software Research is Irrelevant, by Rob Pike
Hi,
It actually would be nice to get rid of IRQs and replace them with "hardware messages"; where a hardware message interrupts the currently running code (just like an IRQ would have), but consists of a "sender ID" (to identify the device that sent the IRQ) and some sort of device specific "status dword" (to identify the reason why the device is requesting attention - so the driver can figure out what it needs to do before/without touching the device's registers).
Cheers,
Brendan
I'm not too sure what Geri was thinking; however...thepowersgang wrote:... if you're going to be sarcastic, please mark it as such.
Yes, x86 (and to a lesser extent ARM) are kinda crazy at the architecture level, but interrupts are not the example you should pick (interrupts are one of the best low-level features if you want any form of performance)
I do (however) kinda agree that we need to rethink platforms to get better multi-core performance, and that's the direction systems research should be looking (that and working on new languages that make multi-threading easier to get correct)
It actually would be nice to get rid of IRQs and replace them with "hardware messages"; where a hardware message interrupts the currently running code (just like an IRQ would have), but consists of a "sender ID" (to identify the device that sent the IRQ) and some sort of device specific "status dword" (to identify the reason why the device is requesting attention - so the driver can figure out what it needs to do before/without touching the device's registers).
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.