Most active commenters
  • m463(3)

←back to thread

364 points Klasiaster | 13 comments | | HN request time: 1.314s | source | bottom
Show context
weinzierl ◴[] No.41853874[source]
Decades ago Linus Torvalds was asked in an interview if he feared Linux to be replaced by something new. His answer was that some day someone young and hungry would come along, but unless they liked writing device drivers Linux would be safe.

This is all paraphrased from my memory, so take it with a grain of salt. I think the gist of it is still valid: Projects like Asterinas are interesting and have a place, but they will not replace Linux as we have it today.

(Asterinas, from what I understood, doesn't claim to replace Linux, but it a common expectation.)

replies(5): >>41853994 #>>41854663 #>>41856026 #>>41857123 #>>41859532 #
1. loeg ◴[] No.41853994[source]
More recently, in a similar vein:

> Torvalds seemed optimistic that "some clueless young person will decide 'how hard can it be?'" and start their own operating system in Rust or some other language. If they keep at it "for many, many decades", they may get somewhere; "I am looking forward to seeing that". Hohndel clarified that by "clueless", Torvalds was referring to his younger self; "Oh, absolutely, yeah, you have to be all kinds of stupid to say 'I can do this'", he said to more laughter. He could not have done it without the "literally tens of thousands of other people"; the "only reason I ever started was that I didn't know how hard it would be, but that's what makes it fun".

https://lwn.net/Articles/990534/

replies(2): >>41854434 #>>41855771 #
2. ackfoobar ◴[] No.41854434[source]
> Hohndel clarified that by "clueless", Torvalds was referring to his younger self

As the saying goes "We do this not because it is easy, but because we thought it would be easy."

Occasionally these are starts of great things.

replies(1): >>41855060 #
3. nickpsecurity ◴[] No.41855060[source]
Sometimes, we do such things because it’s hard. We enjoy the challenge. Those that succeed are glad to make it, too.
replies(1): >>41856792 #
4. m463 ◴[] No.41855771[source]
"You are enthusiastic and write kernel device drivers in rust. Write a device driver for an Intel i350 4 Port gigabit ethernet controller"
replies(4): >>41856263 #>>41857107 #>>41857768 #>>41857911 #
5. NetOpWibby ◴[] No.41856263[source]
Some future VC-funded company will unironically have this same requirement
replies(1): >>41856298 #
6. m463 ◴[] No.41856298{3}[source]
It wasn't a requirement, it was a prompt :)
replies(1): >>41856453 #
7. NetOpWibby ◴[] No.41856453{4}[source]
Haha damn, it’s so obvious now. I should be asleep.
8. dathinab ◴[] No.41856792{3}[source]
but most times, even in such cases, people underestimate or not estimate at all the "hard task they do as a challenge" it's kinda part of the whole thing
replies(1): >>41857203 #
9. sshine ◴[] No.41857107[source]
LLMs are notoriously bad at improvising device drivers in no-std Rust.
10. BodyCulture ◴[] No.41857203{4}[source]
Sometimes we just don’t know if a person that started something did know how hard it would be or not. Sometimes it is not possible to know how hard things can be or not.

Generally this is a very interesting question hat could be discussed in a very long thread, but still the reader will not get any value from it.

11. Y_Y ◴[] No.41857768[source]
Claude Sonnet 3.5 seemed happy enough to do it, and the start looked promising

     Absolutely! Let's dive into writing a device driver for the Intel i350 4 Port Gigabit Ethernet Controller using Rust. This is an exciting project that combines low-level hardware interaction with the safety and performance benefits of Rust. I'll create a basic structure for our driver, focusing on the key components needed to interact with the device.

    #![no_std]
    #![feature(abi_x86_interrupt)]    
    ...

but I'm not qualified to judge the quality from eyeballing and I'm certainly not going to go to the trouble of trying to test it.
replies(1): >>41862094 #
12. senko ◴[] No.41857911[source]
You jest, but I believe @tptacek is using an LLM (ChatGPT?) to understand the details of various Linux kernel subsystem and has said it works quite well for the task.

It's not a great jump from that to "port Linux device driver for XYZ to this new OS in Rust". Won't be perfect but a lot less hassle than doing it from scratch.

13. m463 ◴[] No.41862094{3}[source]
"You are a pessimistic and pedantic tester of device drivers. test the following device driver for conformance to the rust language, to the kernel api, to hardening standards, judging the quality following iso 29119."