Is It Time to Rewrite the Operating System in Rust?

  Рет қаралды 300,761

InfoQ

InfoQ

Күн бұрын

Want to attend #Qcon or #DevSummit for free? Here's your chance!
Write an article for #InfoQ and you could win a ticket! Show off your expertise and contribute to the tech community.
Join the contest now: www.infoq.com/articles/infoq-...
💪 Knowledge is power!
#ArticleContest #TechArticles #WinATicket
----------------------------------------------------------------------------------------------------------------
Video with transcript included: bit.ly/2Nq7RW5
Bryan Cantrill explores Rust, explains why it has captured the imagination of so many systems software engineers, and outlines where it might best fit in the deep stack of operating system software.
This presentation was recorded at QCon San Francisco 2018: bit.ly/2uYyHLb
For more awesome presentations on innovator and early adopter topics check InfoQ’s selection of talks from conferences worldwide bit.ly/2tm9loz
#Rust #OperatingSystems #SystemProgramming #InfoQ #QConSanFrancisco

Пікірлер: 583
@ArchimedesTrajano
@ArchimedesTrajano 5 жыл бұрын
I feel like I am watching a stand up comedian, but with topics I like to listen too.
@willmcpherson2
@willmcpherson2 4 жыл бұрын
_Seinfeld_ _voice_ What's the deal with dc!? The only time I type dc, it's because I'm trying to type cd! _slap_ _bass_
@user-ee1fn4vt8b
@user-ee1fn4vt8b 4 жыл бұрын
His talk about Oracle is legendary
@kamilziemian995
@kamilziemian995 3 жыл бұрын
Best stand up that I know.
@christianmontagx8461
@christianmontagx8461 3 жыл бұрын
Yeah. Thought he was making a parody of Uncle Bob (Robert C. Martin)..
@xaxabogbart
@xaxabogbart Жыл бұрын
@@user-ee1fn4vt8b What is the title of the talk about Oracle? After a brief search I can't see a good fit for your description. Cheers
@thzzzt
@thzzzt 3 жыл бұрын
I'm gonna write my mom's traditional chocolate oatmeal cookie recipe in Rust.
@microcolonel
@microcolonel 3 жыл бұрын
CHAPTER 1 One pound salted butter ... OBEY
@bbahrami5981
@bbahrami5981 2 жыл бұрын
share donation link !
@bobweiram6321
@bobweiram6321 2 жыл бұрын
My cookie baking skills are rusty too.
@TON-vz3pe
@TON-vz3pe Жыл бұрын
You can provide git link
@justin3594
@justin3594 Жыл бұрын
@@microcolonel great comment.
@zonico5826
@zonico5826 5 жыл бұрын
This guy has more stories to tell than all of my great grandfathers combined
@FedJimSmith
@FedJimSmith 4 жыл бұрын
yeah yeah,,, he knows his stuff very very well
@Idontbelievethehype2
@Idontbelievethehype2 4 жыл бұрын
After listening to the WHOLE thing, I highly recommend it. The long winded OS history lesson is actually helpful and foundational to his conclusions. So, not a waste of time unless you know everything already, which is unlikely. Also, it was great to hear that his experience with Rust's borrow checker were exactly the same as mine.. ("wait, I think you want this mutable.. oh, now this should be a reference.. oh, wait, that's totally wrong"), and that he understands why it's all so important. You can't ask for a better proponent of Rust.
@whoisabishag3433
@whoisabishag3433 2 жыл бұрын
Unlikely ... is just Statistics ...
@carloslemos6919
@carloslemos6919 Жыл бұрын
@@whoisabishag3433 What is the book mention at 1:04:12 ? English is not my first language. Thanks.
@whoisabishag3433
@whoisabishag3433 Жыл бұрын
The Rust Programming Language. By Steve Klanic. It's the Official Book mention on the Rust Site.
@kjrimple
@kjrimple 3 жыл бұрын
I absolutely love his style. Kind of like the edge of manic but enthusiastic and experienced all in one. And he’s hilarious.
@clumsyjester459
@clumsyjester459 5 жыл бұрын
Philipp Oppermann's Blog OS -> PHOBOS Obviously, duh.
@s4ecki
@s4ecki 4 жыл бұрын
actually quite nice
@efraimdeluxe
@efraimdeluxe 5 жыл бұрын
"C++ dragged all of my shit into the street and lit it on fire" .. i know the feels, man xD
@marcusaurelius6607
@marcusaurelius6607 5 жыл бұрын
efraimdeluxe too stupid to write in c++.
@xnoreq
@xnoreq 4 жыл бұрын
@@marcusaurelius6607 Yes, as are the people in the C++ standards committee then ... according to your "logic". C++ is a disgraceful mess. If you have a friend that is a programmer and want to do him a favor then get him as far away from C++ as possible.
@xnoreq
@xnoreq 4 жыл бұрын
@@marcusaurelius6607 Yes, as are the people in the C++ standards committee then ... according to your "logic". C++ is a disgraceful mess. If you have a friend that is a programmer and want to do him a favor then get him as far away from C++ as possible.
@xplorethings
@xplorethings 4 жыл бұрын
@@xnoreq C++ is amazing. And for a large majority of people, C++ is "too amazing". So much so that often you end up misusing all the power it gives you, which inevitably leads to confusion and jade.
@xnoreq
@xnoreq 4 жыл бұрын
@@xplorethings This is simply misleading. A powerful language doesn't need to be as remotely as messy as C++ is. You're trying to sell powerfulness as a feature, which is not even a USP of C++. Instead, lack of foresight and proper design, maintenance of backwards compatibility (which is not always true), arbitrary rules and introduction of new arbitrary rules, undefined behaviors etc. make C++ a language that is unique in how easily you can get even trivial programs wrong. Compared to other popular languages it's unique in the high cognitive load that the language itself causes rather than the application and application domain the developer should be concerned with.
@batlin
@batlin 5 жыл бұрын
This is the most entertaining and informative talk I've seen in possibly ever. The use of Multics and Unix to illustrate the extremes of both waterfall and ad hoc agile development is pretty mind blowing!
@ThePandaGuitar
@ThePandaGuitar 3 жыл бұрын
This guy’s passion is contagious. Love it!
@sebastianwiesendahl5348
@sebastianwiesendahl5348 5 жыл бұрын
49:12 finally starts talking about Operating Systems in Rust
@Jason_Quinn
@Jason_Quinn 5 жыл бұрын
No garbage collection in speech.
@ckieee
@ckieee 5 жыл бұрын
Thank you!
@theondono
@theondono 5 жыл бұрын
For a guy that speaks this fast, it took a while
@evrim73
@evrim73 5 жыл бұрын
more like 50:36
@parkhillmedia
@parkhillmedia 5 жыл бұрын
Thank you! If I had to listen to that pedantic egghead go off into another useless tangent, I was going to /wrists.
@davel8116
@davel8116 5 жыл бұрын
Not only was Taligent a portmanteau of Talent and Intelligent, but it was Talent with out the NT (as in Windows NT) and Intelligent without the Intel (as in x86)
@Tony_Goat
@Tony_Goat 5 жыл бұрын
Taleligent.
@jaredgarbo3679
@jaredgarbo3679 4 жыл бұрын
AIM was a complete failure so no wonder.
@CarloMilanesi
@CarloMilanesi 3 жыл бұрын
C *has* a logical XOR operator; it is "!=". For example if I want to check if "a" is greater than 6 or if "b" is grater than 6 but not both, I can write: a > 6 != b > 6. Of course, there is no possibility of short-circuit evaluation, as the value of one operator of XOR is never enough to determine the value of the whole operation.
@thegeniusfool
@thegeniusfool 2 жыл бұрын
Word
@carloslemos6919
@carloslemos6919 Жыл бұрын
@@thegeniusfool What is the book mention at @ ? English is not my first language. Thanks.
@CrustyAbsconder
@CrustyAbsconder 5 жыл бұрын
As long as we can play FreeCell and Pinball in Redox OS someday ( or some other Rust-based OS ), I can finally ditch Windows 95 as my daily driver.
@softwarelivre2389
@softwarelivre2389 4 жыл бұрын
Funny how Redox OS still gets lots of activity on its gitlab repository, but I did not hear any news about it for two years (and no new release as well).
@softwarelivre2389
@softwarelivre2389 3 жыл бұрын
@@juliankandlhofer7553 No. We are talking about RedoxOS. Written in Rust, microkernel based.
@kjrimple
@kjrimple 3 жыл бұрын
LOL hilarious reply!
@kjrimple
@kjrimple 3 жыл бұрын
I feel like Gandalf. “I was there…” - worked at Unisys’s Burroughs unit as an intern writing WFL and Algol for test cases against the OS. Algol was interesting, and I was a newbie, but the MCP felt like a crazy advanced technology. The fact that the CPU microcode was loaded at boot time (I believe that was right) was wild to me. A shame there were layoffs back then as my internship was over, and then I wandered through the woods with PowerBuilder and Sybase for nearly a decade. But I always remember the A-Series mainframes as an innovative platform that never could transition to the modern era.
@bigtallpaul
@bigtallpaul 3 жыл бұрын
Came for the Rust, stayed for the history. Brilliant.
@CyberGizmo
@CyberGizmo 5 жыл бұрын
A few of corrections, Burroughs B5000 MCP was written in Algol-60 second they are still in business after merging with Sperry to form UNISYS, and 3 MCP was not an executive it was an operating system
@bobweiram6321
@bobweiram6321 2 жыл бұрын
He didn't discuss Ada at all! It is superior to Rust in every way!
@pkos91
@pkos91 4 жыл бұрын
If anyone wants a much more in depth look into how Unix was ported to the PDP-11, Tom Lyons was featured on the podcast "On The Metal" a few months ago. He was one of the main people who ported it iirc!
@GaryvanderMerwe
@GaryvanderMerwe 5 жыл бұрын
The hybrid approach is what Mozilla is doing with Firefox. It seems to be working well.
@Dygear
@Dygear 3 жыл бұрын
Rust has a really good use case in the SoC that has unified memory. macOS on ARM for example would have a much easier time as there are not two memory pools that they have to talk to. It's really just passing pointers around. "CPU: Hey GPU, your memory is here. Go play with it."
@first-thoughtgiver-of-will2456
@first-thoughtgiver-of-will2456 3 жыл бұрын
I feel like this could be titled "The Gospel of Rust according to Bryan"
@larrygall5831
@larrygall5831 5 жыл бұрын
This is a cross between a lecture and stand-up comedy. lol I enjoyed it. It took a little while to stop finding him annoying, then I started liking his presentation.. by the end I was really satisfied.
@davep8221
@davep8221 5 жыл бұрын
My exact experience. Wish there'd been more rust, though.
@ToniCorvera
@ToniCorvera 5 жыл бұрын
Many IT talks are both funny and informational, I'd even say most. Unfortunately I didn't stop finding him annoying...
@moneyluser5711
@moneyluser5711 5 жыл бұрын
gave up after 2 min of tedious gamma soy
@SimonClarkstone
@SimonClarkstone 5 жыл бұрын
The way he describes people fighting the borrow checker but it being worth the effort is rather like what I've heard about the Haskell type checker that forces you to think harder about your program when you're writing it in return for being more likely to run correctly once written.
@charlesearp6133
@charlesearp6133 5 жыл бұрын
It's not just the borrow checker. Compared to C++ templates, which are duck-typed, Traits in Rust are checked at each declaration and each definition. That means that the contract is defined explicitly upfront, not based on what methods you call on an object 10 layers deep into a web of inheritance and templated structures. This makes debugging Templates / Traits actually quite pleasant, with a cost of being slightly more onerous to write, since you need many "where:" statements. Lifetimes are built into this as well.
@Joker22593
@Joker22593 5 жыл бұрын
20:20 My favorite way to logical XOR is !=
@Wren6991
@Wren6991 5 жыл бұрын
!a != !b If you want to handle anything non-zero as true (edit: at which point you should maybe just use !a ^ !b which is more obvious)
@MidnightSt
@MidnightSt 2 жыл бұрын
I like the OS definition of the creator of smalltalk. "Operating System - anything that didn't fit into the programming language; there shouldn't be one."
@carloslemos6919
@carloslemos6919 Жыл бұрын
What is the book mention at @ ? English is not my first language. Thanks.
@sundhaug92
@sundhaug92 2 жыл бұрын
22:05 The Macintosh was mostly in m68k assembly (at least to start), Pascal was used sparingly and more of a Lisa-thing
@thegeniusfool
@thegeniusfool 2 жыл бұрын
Yeah, I think the confusion comes from the fact that it was written to the Pascal ABI. I.e., the Pascal way and order of framing a call.
@thingsiplay
@thingsiplay 3 жыл бұрын
Lol the way he talked about the team discussing "what is software" really hit me hard. xD Great start for a presentation. This one will be gold.
@abonawas93
@abonawas93 5 жыл бұрын
3:50 so emacs _is_ an OS? got it.
@firstpersonshooter3992
@firstpersonshooter3992 5 жыл бұрын
That's been established for awhile
@Diggnuts
@Diggnuts 5 жыл бұрын
If only it had a decent text editor.
@davep8221
@davep8221 5 жыл бұрын
The computational environment that edits. Now CE has been blessed up to OS.
@mechanicalmonk2020
@mechanicalmonk2020 5 жыл бұрын
@@Diggnuts evil mode
@Evan490BC
@Evan490BC 5 жыл бұрын
@@mechanicalmonk2020 I'd like to use Emacs just for the Org mode thing. Somehow Spacemacs hasn't worked for me yet...
@hblaub
@hblaub 5 жыл бұрын
Famous last words: "I can write correct C" ;-)
@DKL997
@DKL997 5 жыл бұрын
I can definitely write correct C, it's really not that hard. I did a C course on Pluralsight. /s ;)
@SimGunther
@SimGunther 5 жыл бұрын
That's the job of ATS ;)
@Karrq
@Karrq 5 жыл бұрын
After you get experienced with Rust you really feel like you can write correct C.
@networking732
@networking732 5 жыл бұрын
"I can" != "I do"
@zwerko
@zwerko 5 жыл бұрын
I can write correct C... provided that all use cases are upfront defined, there's no business pressure to release-release-release, I'm the only person who touches the code and the problem doesn't exceed Fizz-Buzz complexity.
@christophernugent8492
@christophernugent8492 5 жыл бұрын
My first thoughts here are that if you are writing Linux kernel drivers that you intend to share with upstream, you should use C. I've got the feeling that it would be hard to convince the upstream developers to add the Rust compiler to the development dependencies. That said, have any of you had any experience with this? Have the upstream Linux kernel maintainers ever shown any interest in languages other than C and assembly?
@christophernugent8492
@christophernugent8492 2 жыл бұрын
@@yt45204 Someone actually has. It’s called Redox OS.
@aqua3418
@aqua3418 2 жыл бұрын
Rust has already been considered and is being included into the Linux compiler. Obviously you can't rewrite millions of lines of code (that'd be a waste of time and money), but going forward you can start to do things differently. So I'd say stuff is changing. It's gaining momentum. I'm sure even they will start to slowly come along too.
@chrisw1462
@chrisw1462 5 жыл бұрын
I can't have a memory leak, it's GC'd! == I can't be overdrawn, I still have checks!
@vangrails
@vangrails 5 жыл бұрын
You still have checks but in other parts of the world the check system disappeared 30 years ago.
@striker865
@striker865 5 жыл бұрын
Dude, Object Oriented programming was a dark time indeed.
@dupersuper1000
@dupersuper1000 5 жыл бұрын
Indeed... On the flip side, I did learn a bit more about animal taxonomy.
@alexleung842
@alexleung842 4 жыл бұрын
Get ready for the age of Monads.
@_tsu_
@_tsu_ 4 жыл бұрын
In my opinion, it's not OO, It's inheritance. Rust has OO, put its done right though.
@BosonCollider
@BosonCollider 4 жыл бұрын
@@_tsu_ Right. Inheritance simply isn't possible to do right with value types in a systems language because you lose the LSP and the size of a type is part of its spec. If you inherit from a concrete type and add fields, you change its size. So both have to be ref types for the LSP to hold. Which directly clashes with any ambition to make it a systems language without giving up on a big part of the power of inheritance. You can still have inheritance from abstract types and interfaces though. Which is effectively what Rust gives you with traits.
@NymezWoW
@NymezWoW 4 жыл бұрын
Youre talking like OOP is going away. It‘s not.
@storerestore
@storerestore 5 жыл бұрын
Logical xor in C is just "!=". Possibly with the operands double-negated if any non-zero value needs to be considered true
@poe84it
@poe84it 5 жыл бұрын
why so low! bump!
@moczikgabor
@moczikgabor 2 жыл бұрын
@Headspin3d Actually, it could be used a lot of times. In systems programming (embedded especially), it is sort of an everyday task to compare previous and current states to extract what's changed. It is true though, that most of the time it have to be done on binary data (I/O peripheral values or something), and there is a binary XOR eventually. Using != for the logical one on the other hand is just more readable in most of the cases.
@jfltech
@jfltech 5 жыл бұрын
Any talk with BCantrill, i'm on it .. the guy is the youngest Unix gray beard you can find.. he's rubbed shoulders with some of the giants in the Unix community and is (in?)famous for some of his old school rants and clashes on the Linux/Unix newsgroup message boards...
@Atameow
@Atameow 5 жыл бұрын
wipe your chin man
@dipi71
@dipi71 5 жыл бұрын
Nothing wrong with a bit of hero worship.
@striker865
@striker865 5 жыл бұрын
I can totally see this guy as a hero, he kinda is starting to be one for me
@FindecanorNotGmail
@FindecanorNotGmail 5 жыл бұрын
Take no heroes, only inspiration
@dipi71
@dipi71 5 жыл бұрын
@@FindecanorNotGmail - in that case, we could redefine »hero« to mean »person from which to take inspiration«. Done. :-)
@illustriouschin
@illustriouschin 5 жыл бұрын
What OS is he talking about? Also, does he mention Terry Davis?
@OhJeezMC
@OhJeezMC 5 жыл бұрын
There is a logical xor in c, but it's called "not equal" operator. At least for booleans, but after all, it is a boolean operation.
@user-ov5nd1fb7s
@user-ov5nd1fb7s 4 жыл бұрын
"It's scanning your heap very well, thank you very much" TROLOLOLOLO
@faust1652
@faust1652 5 жыл бұрын
Semantic Superfund Site? That was an epic alliteration right there. 55:46
@mitchelvalentino1569
@mitchelvalentino1569 5 жыл бұрын
Is this just a thing that happens when one learns Rust, you just become obsessed with rewriting everything in Rust?
@mikebrown7366
@mikebrown7366 5 жыл бұрын
Apparently it is. It's like the mental blindness introduced by Java. If your only tool is a hammer, then every problem begins to look like a nail.
@androth1502
@androth1502 5 жыл бұрын
one wonders at the point of rust to begin with. it's just a more annoying c++, and c++ is already annoying.
@armpitpuncher
@armpitpuncher 5 жыл бұрын
Yes, it kind of is. And the reason for that is that using other people's code is monumentally easier in Rust than in C or C++. And while you can provide Rust bindings to C libraries, first you have to build those libraries, and there is no one way to build a C library. Although CMake has made things better in recent years, even that is a monstrosity that nobody knows how to use correctly. So yes, there is an inclination among some people, who have some free time, to just ditch the bindings and go 100% Rust, because it makes your life easier, once you've passed that hurdle.
@mduckernz
@mduckernz 5 жыл бұрын
@@androth1502 Have you even used it? Or just formed your opinions from what other people have said?
@mduckernz
@mduckernz 5 жыл бұрын
If you would bother to actually watch the talk before criticising it, you would find that it is an example of a hypothetical question as commonly used in headlines: if it's asking, the answer is no. (but he explains why "no" in detail, and why it's more like a "no, but")
@Sanjeev...
@Sanjeev... Жыл бұрын
Write your own os firstly in rust. then compare to present os in c\c++. After that let's think about replace.. Future c\c++ version updates may lead to follow the conventional standard to write os in c
@v1Broadcaster
@v1Broadcaster 5 жыл бұрын
I like how he defined a driver as an operating system
@anthonyvays5786
@anthonyvays5786 5 жыл бұрын
while Rust users were busy arguing over syntax and CoCs, Terry Davis was already on his second fully functioning operating system all by himself
@distrologic2925
@distrologic2925 5 жыл бұрын
I think I am ready to leave everything behind... C++, Java, Python, Haskell... There is just Rust and it has everything and does everything I need and I would be happy.
@robbietorkelsonn8509
@robbietorkelsonn8509 Жыл бұрын
things were a lot simpler when we weren't virtualising hardware -- programmer encountering virtual 86 mode in 1985 If you don't want your garbage collector hogging up the system, don't keep creating things, like in the functional paradigm His is right, he is far ahead of it's time. In a few years this platform will be filled with videos focusing on only that.
@superclue
@superclue 5 жыл бұрын
Great presentation and very fun discussion of the history of programming languages. It will remain a relevant video for years to come.
@sourcesource8750
@sourcesource8750 5 жыл бұрын
My experience with Rust and Cargo trying to write kernel was bitter. You need to run updates very often and you don’t have control on what it downloads
@hansvetter8653
@hansvetter8653 2 жыл бұрын
Purpose of any operating system is managing the continous allocation of all hardware resources of exactly that system.
@samuelschwager
@samuelschwager 5 жыл бұрын
I think a few code samples would have been great. But apart from that it was very interesting, high energy guy!
@yutubl
@yutubl Жыл бұрын
Some Rust language features (like safer memory management, C API interoperability, unsafe) remind me to C#, which Microsoft Research used for a new operating system research project.
@grimfistgaming7694
@grimfistgaming7694 5 жыл бұрын
Hmm RedoxOS anyone?
@DamCipolat
@DamCipolat 5 жыл бұрын
Is the same of rewrite the operating system in golang or nodejs
@rhysmuir
@rhysmuir 3 жыл бұрын
Does that mean JVM and .net CLR are operating systems, cause programs run on to of them?
@disk0__
@disk0__ 5 жыл бұрын
Bad: Not moving to rust for future operating systems Sad: Missing this talk because "Bryan Cantrill" isn't in the title
@walkerjian
@walkerjian 4 жыл бұрын
enjoyed this; recursive self rep glossolalia, it's OK to push as long as you pop, right? And a doubly linked ring is best represented as a mobius strip, on a calabi-yau manifold, so everything pwns itslf, ouroubourotically... The halting problem is strong with this one ;^)
@robertsexton4997
@robertsexton4997 6 ай бұрын
I suspect that the speed up from switching to B-Trees from AVL trees comes from Cache behavior. BTree accesses will have more cache hits and benefit more from cache pre-fetches. There is an assumption in AVL trees that all memory accesses have the same cost. Thats not the case.
@godDIEmanLIVE
@godDIEmanLIVE 2 жыл бұрын
This guy has such charisma and he's funny as well. What a fantastic talk.
@leahparsuidualc666
@leahparsuidualc666 5 жыл бұрын
Normally i share your thoughts, but .. What even is an operating system is even in a philosophical discourse not a question. It is a system to operate a system. That's why there are systems, that operate themselves. That's why there are systems that operate other systems, that have nothing in common but an interface of any kind. Some systems are just the interface, some are bridges made of interfaces to interface bridges and/or systems. I really do wonder, since when you are doubting the very nature of what you are - operating - on. No there is no exception. The operating system never abstracts the hardware. Software that abstracts the hardware is called interface. Hardware was Software. Hardware is in most cases a static assenbly of anonymous functions. - People call that lambda calculus. You know - it is a thing - do you? The operating system has almost nothing to do with 'liveness' - without it programs do run in most cases far more performant, have less attack surface and a heckload less problems that are not caused by the program, but by anything but the program. At this point you might try to windout argumenting that you are talking about 'modern' and 'most common' operating systems, which all (many like to oversimplify things to not have to dive ito it in detail - it is called methodology) share 'a more or less' similar hierarchical structure. - Yes, in an ubersimplified way that is true - 'more or less'. The operating system software that runs with the highest level of architectural privilege is the operating system kernel? - Wow. That is utter bullshit and evidently wrong in any case and under any assumption one could interpret that; What defines high? The Ring-Model? Specifically on X86-Systems? Well that is about 3% of all computational Hardware actively running worldwide. - Aaaahh, soooorrryyyyy, yyyeeeeessss - for sure - you meant PC-only, right? Yeah, well ... before the kernel gets loaded, there has to be something that loads it and if you think that is picking on things, then you should start to wonder how much of 'what you define as features of the kernel' are actually only possible because of the software beforehand - spending 'liveness' to what gets corrupted and mangled shortly after by what you call Kernel, or precisely by malware 'in the eyes of the beholder' - i mean, you do know that now where we are talking about PC and X86 only the biggest chunk of the market is plastered with Minix-Parallel-Machines, that -in contrast to the OS that you are talking about- is running always, as long as energy is available and is always able to interrupt, redirect, clone and autonomously remote-distribute In- and Out- -out of what you call hardware and what you call software, right? You do know .. that.. right?? Oh and if you are looking for three prime examples how it can be done by applying halfway sane principles: Illumos (everyone who is tempted to comment now, doesn't get the joke - just go), NetBSD, Sculpt But to get to the point of - what i assume is merely a meditative marketing for managers (which is the exact opposite of what you are known for and it's sad seeing you sunken to that level) - Can Rust be an option at all to re-write an operating-system? From the perspective of sane and secure software, yes, sure. And it isn't even a question worth, as you can just automatically replace|transcribe|transpile 99.9999% of it, don't you? ... Oh, yeah, yea, right. Easily, but those, you know those specific system thingy ... yeah, no you can't, because it runs on X86. Darn it. Yeah, no - not possible, sorry folks - Rust contradicts the exact core principles of x86-Hardware. Sure, Itanium, Sparc, PPC, Core, Cortex and many many many more, no problem, BUT x86? INTEL x86?? HOW DARE YOU??? --- For everybody who wants to add some reasoning, please, feel free to dump a pile on it. - For everybody who doesn't even have the slightest slice of an idea, what i am talking about, just forget and watch the next ...
@readingsteiner6061
@readingsteiner6061 4 жыл бұрын
Leahpar Suidualc this is informative! Thank you
@nyankers
@nyankers 4 жыл бұрын
10/10 rant
@ChrisStavros
@ChrisStavros 3 жыл бұрын
This is the most /thread that the thread has ever been
@gianni50725
@gianni50725 2 жыл бұрын
I always enjoy a good schizo rant esp if I understand it
@kamalabuhenamostafa
@kamalabuhenamostafa 5 жыл бұрын
Speedy like m/c gun yet enjoyable presentation.
@guyblack9729
@guyblack9729 3 жыл бұрын
I found someone who talks the way i think and now i need to listen to all of his talks.
@Kavukamari
@Kavukamari 5 жыл бұрын
well what would you say if i said, sure, euler's gcd algorithm can be software, and the computer you run it on is yourself if you don't have an automated machine to do it
@Jianju69
@Jianju69 4 жыл бұрын
If Euclid's GCD algorithm is codified and stored upon readable media that can be loaded into hardware memory, and executed on that system's processor(s), then it is software.
@riccardoorlando2262
@riccardoorlando2262 3 жыл бұрын
Well, I have here a piece of paper (which is readable media) upon which is written the algorithm. I then read it, step by step, thereby loading its instructions in my brain, and execute them.
@pazdziochowaty
@pazdziochowaty 5 жыл бұрын
Are you sure no OS was written in Python? I believe there are many but none of them was able to finish booting sequence yet. However, all were implemented under one week around 1995 - great development speed
@pazdziochowaty
@pazdziochowaty 5 жыл бұрын
@three sixes It is hard to compare the complexity of package manager and operating system. Besides, there are q* tools (qsearch, qdepends etc.) which are advertised on Gentoo site as "collection of very fast utilities written in C, which are meant to offer a faster but more limited alternative" and "The utilities may be much more efficient than the equivalent ones from gentoolkit and might be better suited to be used in scripts that need to call Portage repeatedly". So even gentoo guys know how painfully slow python is. Can you even imagine OS kernel implemented in python? Scheduler would probably occupy 2-3 cores at 100% to give processes any CPU time to run. On 1 CPU you would get 10 seconds per frame experience :)
@ryanleemartin7758
@ryanleemartin7758 2 жыл бұрын
"It's not a garbage collector...it's a heap scanner." This dude is too damn much lmao!
@Edward3DFX
@Edward3DFX 5 жыл бұрын
history lessons by Cantrill are awesome! The MCP rulllleeeezzzzz I can’t wait for a operating system that is less than 10000 lines of code......and can run like the millennium falcon .....on crack...
@wowzers1237____
@wowzers1237____ 6 ай бұрын
I love his style. Enthusiastic and engaging. I wish he taught all my classes in school.
@xgf122
@xgf122 5 жыл бұрын
RedoxOS already exits, a unix-like os, but it is in preAlpha stage at the best
@ShakilShahadat
@ShakilShahadat 5 жыл бұрын
In Rust We Trust
@chbrules
@chbrules 5 жыл бұрын
and then fail
@Winnetou17
@Winnetou17 5 жыл бұрын
In Trust we Rust
@Dong_Harvey
@Dong_Harvey 4 жыл бұрын
In Ferris We Cherish
@wanderer7480
@wanderer7480 3 жыл бұрын
@@chbrules No we don't.
@chbrules
@chbrules 3 жыл бұрын
@@wanderer7480 Yes we didn't.
@tomaszubiri8490
@tomaszubiri8490 4 жыл бұрын
What was that programming language that starts with Chapter 1 called?
@willmcpherson2
@willmcpherson2 4 жыл бұрын
Language H
@MichaelMrozek0
@MichaelMrozek0 Жыл бұрын
19:37 Is logical XOR not just "!="?
@dansanger5340
@dansanger5340 2 жыл бұрын
25:00 - How about Arrohole? :)
@flyingsquirrel3271
@flyingsquirrel3271 5 жыл бұрын
26:36 Python was before Ruby! I know, you don't care, but I think it's important, because this makes the existance of ruby even stranger.
@ryanleemartin7758
@ryanleemartin7758 2 жыл бұрын
"Javascript is the failed state of programming languages". That has to be one of the greatest observations on javascript that I've ever heard.
@Davidicus000
@Davidicus000 10 ай бұрын
Wow tour de force talk, he talks a bit fast for those new to the arena, but wow, and Rust is the real deal, C++ is legacy, and C is narrowly still relevant. I love Rust, thank you for making this language.
@UGPepe
@UGPepe 5 жыл бұрын
Rashomon for OSes... he won't stop with the social commentary, I love this guy :))
@TheTurnipKing
@TheTurnipKing 5 жыл бұрын
Every computer can run a program. An operating system's fundamental job is to allow it to run programs, plural.
@bocckoka
@bocckoka 5 жыл бұрын
I'd say the OS is the first level of abstraction above the machine (regardless whether or not the machine has a protected mode or preemption).
@TheTurnipKing
@TheTurnipKing 5 жыл бұрын
@@bocckoka There's all kinds of things you could have in place before the OS. Various firmwares, simple program launchers which simply launch another program, execute and return. The purpose of an OS is to launch other programs, and usually multiple other programs, because that's what allows the useful abstraction of functionality into discrete units, and if you're not doing that you don't really NEED an OS.
@sizur
@sizur 5 жыл бұрын
First time I'm hearing this guy and the way he's presenting is legendary!
@ChristopherHaws90
@ChristopherHaws90 16 күн бұрын
A SQL Engine is essentially an OS
@johnwarren6966
@johnwarren6966 5 жыл бұрын
My vote is that the next operating system should be implemented in Emacs Lisp. 👹
@kevinklement2621
@kevinklement2621 5 жыл бұрын
Doesn't that operating system already exist?
@johnwarren6966
@johnwarren6966 5 жыл бұрын
@@kevinklement2621 It's only missing a boot loader :)
@kevinklement2621
@kevinklement2621 5 жыл бұрын
@@johnwarren6966 That, and a decent text editor. (**ducks for cover**)
@ulissemini5492
@ulissemini5492 5 жыл бұрын
@@kevinklement2621 it has evil-mode, it has a good editor ;')
@mitchelvalentino1569
@mitchelvalentino1569 5 жыл бұрын
YESSSS!!!!!
@kps2642
@kps2642 2 жыл бұрын
I have no idea about OS but this talk is super engaging and entertaining. Great Talk.
@joebonsaipoland
@joebonsaipoland 5 жыл бұрын
Why not use TEMPLE OS, why reinvent the wheel?!!! Just add network and GPU drivers ! Done!
@jacobitosuperstar
@jacobitosuperstar 5 жыл бұрын
exactly my thoughts, god/daddy Terry made us the best thing a single man could do, is just continue and polish his work and nothing more...
@Adolf1Extra
@Adolf1Extra 5 жыл бұрын
Shrine fork already has networking stack implemented.
@daviddow5591
@daviddow5591 5 жыл бұрын
Didn't Terry not want a network stack due to his paranoia?
@jacobitosuperstar
@jacobitosuperstar 5 жыл бұрын
@@daviddow5591 true, but at the same time he wanted people to develop it... so idk... conflicting point of views from god/daddy Terry
@eTiggy
@eTiggy 5 жыл бұрын
This is like a 70 minute long infomercial for Adderall
@vinzzz666
@vinzzz666 Жыл бұрын
I really congratulate the presenter in relation to the tempo. Most talks are slow...
@jobowobo6700
@jobowobo6700 5 жыл бұрын
Hardware is anything physical. Software is the systems the make is all work. Without software hardware is just individualize components. Without Hardware software is just an idea.Software can take the form of hardware. A fruit can be a vegetable too, they are not self exclusive or hard to define.
@upipe4me
@upipe4me 5 жыл бұрын
He: Am I talking to you (Computer) Computer: Hum, I’m better off with ASM
@AsbjornOlling
@AsbjornOlling 5 жыл бұрын
Why did I put off listening to this talk for so long? I've seen it in my recommendations for a while, but just haven't. It's great! Will recommend! Would watch again!
@mduckernz
@mduckernz 5 жыл бұрын
Wow, this has generated a fair amount of pretty negative comments, yet others seem to greatly enjoy it. Polarising. For what it's worth, I enjoyed it. It's worthwhile to read the blog of the talk author, he goes into more detail regarding his explorations of Rust as well as many many other software and hardware topics.
@stormarrow2120
@stormarrow2120 Жыл бұрын
software: instructions or logical input to a physical machine that can be interpreted by said machine to consistently achieve a desired logical output.
@mikebrown7366
@mikebrown7366 5 жыл бұрын
Burroughs was an atrocity. Slowest hardware on the planet and brought us the punch card transliteration that could only fit 60 characters across the 80 column card and put the rest on a second line. You had to be there I guess. Honeywell mainframes were the bomb. Every line of GCOS written in assembler. Ran circles around IBM. Sure, it crashed occasionally, but it booted 20 times faster than an IBM. Honeywell poured a ton of money into multics too. B also thrived on Honeywell mainframes. It's still alive today at the University of Waterloo. How he gives this talk and never mentions Honeywell is beyond me.
@CreedWylder
@CreedWylder Жыл бұрын
If you took OS in school and would like to skip a history lesson: 33:12
@gruuuaaa
@gruuuaaa 5 жыл бұрын
My biggest issue with rust if the binary size. Did it get any better?
@BrianFrichette
@BrianFrichette 5 жыл бұрын
Is this the Herodotus of computer science?
@trumpetpunk42
@trumpetpunk42 5 жыл бұрын
Interesting diagnosis of "2nd system syndrome" @8:15 , @22:20 , @55:50
@penguin1714
@penguin1714 5 жыл бұрын
No. Compiling that shit would take me years...
@MrHatoi
@MrHatoi 4 жыл бұрын
Isn't != essentially the same as logical XOR?
@georgH
@georgH 3 жыл бұрын
Correct. I don't get all the fuss either.
@robertsexton4997
@robertsexton4997 6 ай бұрын
Logical XOR: ( a || b ) && ( a != b )
@viniciusmorgado9722
@viniciusmorgado9722 Жыл бұрын
7:00 Actually the most recent TRON is a very good movie.
@MichaelKahle
@MichaelKahle 2 ай бұрын
"Arohole, lets call our company that!" Typing through tears. 🤣
@easygoin2887
@easygoin2887 5 жыл бұрын
This guy needs to reduce his amphetamine intake.
@wkg19591
@wkg19591 5 жыл бұрын
This may be the jibber jabber that Mister T used to talk about
@qx-jd9mh
@qx-jd9mh 5 жыл бұрын
More like LSD. Amphetamines cause too much tunnel vision.
@StonkeyKong
@StonkeyKong 5 жыл бұрын
Why? I think it’s made him a really good speaker and obviously very productive as well.
@johnpenguin9188
@johnpenguin9188 5 жыл бұрын
Facebook is an operating system.
@AutomaticJack
@AutomaticJack 5 жыл бұрын
I hate you for saying that out loud, but you are not wrong.
@pdutube
@pdutube 5 жыл бұрын
I think someone should write an OS in Excel. Any takers?
@loicvanderwielen
@loicvanderwielen 5 жыл бұрын
I see your Excel and I raise with LabView
@davep8221
@davep8221 5 жыл бұрын
Isn't that called Windows (insert least favorite version here)?
@hassasin007
@hassasin007 5 жыл бұрын
What's that on his t-shirt?
@bcantrill
@bcantrill 5 жыл бұрын
It's an illumos shirt that says "There's no home like usr/src/uts", a reference to the directory that contains the source tree for the Unix kernel. It is not an accident that I'm wearing that shirt for this talk. ;)
@BenjaminCronce
@BenjaminCronce 5 жыл бұрын
He started slowing down. Someone get him a coffee!
@striker865
@striker865 5 жыл бұрын
Love this guys passion!!
What Makes Rust Different?
12:38
No Boilerplate
Рет қаралды 195 М.
Linus Torvalds: Speaks on Fatigue and the Future of Linux
6:04
¡Puaj! No comas piruleta sucia, usa un gadget 😱 #herramienta
00:30
JOON Spanish
Рет қаралды 22 МЛН
All Rust string types explained
22:13
Let's Get Rusty
Рет қаралды 144 М.
How to Learn Rust
10:36
No Boilerplate
Рет қаралды 508 М.
Migrate data from Oracle table to PostgreSQL
0:16
Shiji Pan
Рет қаралды 1,1 М.
A Simpler Way to See Results
19:17
Logan Smith
Рет қаралды 93 М.
1 Year - Framework Laptop Long Term
12:03
Robert Mizen
Рет қаралды 11 М.
Intro to async/.await in Rust
13:57
Let's Get Rusty
Рет қаралды 81 М.
What is MapReduce?
5:37
internet-class
Рет қаралды 241 М.
LISA11 - Fork Yeah! The Rise and Development of illumos
1:04:04
AI’s Hardware Problem
16:47
Asianometry
Рет қаралды 614 М.
AMD больше не конкурент для Intel
0:57
ITMania - Сборка ПК
Рет қаралды 418 М.
Nokia 3310 versus Red Hot Ball
0:37
PressTube
Рет қаралды 3,3 МЛН
Samsung or iPhone
0:19
rishton vines😇
Рет қаралды 8 МЛН
Wow AirPods
0:17
ARGEN
Рет қаралды 1,2 МЛН
Готовый миниПК от Intel (но от китайцев)
36:25
Ремонтяш
Рет қаралды 454 М.