Neotron - why write a brand new ‘DOS’ for Arm in Rust? - Jonathan Pallant - NDC TechTown 2022

  Рет қаралды 9,683

NDC Conferences

NDC Conferences

Жыл бұрын

Take a walk through history to answer the question “Just what is an Operating System?”, via “But what even is a computer?” before we come to the ultimate question - why would someone make a brand new OS modelled after CP/M and early MS-DOS, and run it on a $1 microcontroller? And what’s Rust got to do with it?
Check out more of our featured speakers and talks at
www.ndcconferences.com
ndctechtown.com/

Пікірлер: 35
@Heater-v1.0.0
@Heater-v1.0.0 2 ай бұрын
Strangely enough when I was a teenager in the mid 1970's building by first circuits with the new fangled TTL logic chips that became available I was having a terrible time getting them to work. My old father, who knew nothing of digital electronics, suggested I attach an old set of head phones to the circuit and listen for activity. In no time at all I had the circuits working! Little did I know Lyons Tea shops had that idea decades before!
@heater5979
@heater5979 Жыл бұрын
In CP/M the PIP command is Peripheral Interchange Program. It moves data between peripheral devices, printers, serial ports etc or files on disk.
@soupwizard
@soupwizard Жыл бұрын
The project is on github under user Neotron-Compute (youtube seems to eat comments with direct links), with multiple repos about the various aspects of the project.
@edgeeffect
@edgeeffect Жыл бұрын
Yeah... KZbin link eating stinks! You listenin' KZbin?
@MikeHunt-fr7co
@MikeHunt-fr7co Жыл бұрын
Actual subject starts at 52:50
@hanabimock5193
@hanabimock5193 11 ай бұрын
I should have read this first
@RonSheely
@RonSheely 7 ай бұрын
Excellent. Thank you.
@sundhaug92
@sundhaug92 Жыл бұрын
38:04 misses that Lisa had multiple operating systems - Lisa Office System (7/7), MacWorks (for Macintosh app-development)
@RaymondHulha
@RaymondHulha Жыл бұрын
Great talk!
@tomasz-waszczyk
@tomasz-waszczyk Жыл бұрын
After the presentation I know what BSD really means. Thanks!!
@guai9632
@guai9632 Жыл бұрын
I agree that browser is an OS, and I think next successful OS would use wasm as first-class and maybe only apps distribution format
@Heater-v1.0.0
@Heater-v1.0.0 2 ай бұрын
As long a a browser relies on a kernel, a bunch of libraries, a ton of other services running on the machine etc, it cannot be an OS. It is an application that runs on an OS. Currently one cannot do any kind of hardware I/O from a browser without the help of an OS. Not even in WASM. Ergo a browser is not an OS. Even if it provides interfaces to JS or WASM applications that superficially look like an OS. I like the idea of WASM as a distribution format. But as it stands one cannot write an OS in WASM.
@andikunar7183
@andikunar7183 Жыл бұрын
Windows 1 could have done overlapping windows. But Apple had fought with Digital Research over their „gem“ Version 1 and its overlapping windows. To avoid litigation delays, Windows 1 only did tiled windows …
@zerettino
@zerettino Жыл бұрын
s/.*/A brief history of operating systems/
@edgeeffect
@edgeeffect Жыл бұрын
Anyone who's got TCL and Pascal in their past is OK with me. ;) "You don't like to think in terms of sectors - you like to think in terms of files". Forth programmer: (shakes head) Doesn't EDSAC Initial Orders beat LEO Master Programme? The "forward slash" (I HATE it when people say "forward slash" was used for command options in CP/M and the PDP-11, so they've got to share some of the blame for MSDOS backslashery.
@RonSheely
@RonSheely 7 ай бұрын
How is the Rust-Lang compiler preventing relocatable code? Is there a work-around?
@therealjpster
@therealjpster 6 ай бұрын
I think it's due to missing things in LLVM - Arm's LLVM has them but upstream LLVM does not (as far as I recall - I might be wrong)
@brdrnda3805
@brdrnda3805 4 ай бұрын
I'm still doing copy con sometimes...
@RonSheely
@RonSheely 7 ай бұрын
ChatGPT says relocable Rust code on the RP2040 MCU should be configurable in the linker.
@therealjpster
@therealjpster 6 ай бұрын
ChatGPT is a weighted random number generator and you should read what actual humans have written on the subject.
@geniuslowbar
@geniuslowbar 24 күн бұрын
its a history lesson that skipped a whole decade (Newton, Psion, Symbian) of mobile device operating systems. he describes Neotron within 5mins.
@terragame5836
@terragame5836 10 ай бұрын
I'm a bit sceptical about having the OS interface exposed in Rust. This essentially forces every userspace application to be in Rust too (since, as far as I'm aware, there's no stable C representation for std::Result, for instance), or at best use a Rust wrapper. Also, compatibility with existent programs matters, even though I like the attitude that it shouldn't prevent radical design decisiona. A new OS with a fresh approach sounds great, but I doubt this one will be it
@therealjpster
@therealjpster 10 ай бұрын
Actually that’s not true. I’ve written my own C compatible types so you can write applications in C quite happily.
@terragame5836
@terragame5836 10 ай бұрын
@@therealjpster It's fine if the types are made compatible, but from the slides it doesn't seem to be the case. Not unless enum layout is a fixed and documented part of Rust's ABI
@therealjpster
@therealjpster 6 ай бұрын
@@terragame5836 Rust lets you opt in to other ABIs, e.g. extern "C" on functions and #[repr(C)] on types. Trust me, it works, even on enums where the variants contain data - it becomes exactly like a C struct containing an integer tag and a union.
@pullrequest1481
@pullrequest1481 Жыл бұрын
ARM? Will it run on nokia n900?
@GDScriptDude
@GDScriptDude 7 ай бұрын
Very interesting history lesson! I once mentioned to a colleague at work that I was thinking about developing an OS and they had a look of bewilderment. But it doesn't have to be such a monolithic thing. I'm just working on computer simulation software now.
@patto2k358
@patto2k358 5 ай бұрын
52:13 start of the talk
@casperes0912
@casperes0912 Жыл бұрын
I don't know why I watched all of this. None of this is new to me and I've already made an OS myself
@cloudmonklosangjinpa1969
@cloudmonklosangjinpa1969 Жыл бұрын
Should have been 80% about Rust implementation of DOS. Waste of time unless you are a computer history buff.
@neunmalelf
@neunmalelf 6 ай бұрын
50+ Minutes before the Talking Head comes to the real point of the Talk. #WasteOfTime
@boohoo5419
@boohoo5419 2 ай бұрын
omg these talks are so fucking bad.. ndc is complete garbage..
@cloudmonklosangjinpa1969
@cloudmonklosangjinpa1969 Жыл бұрын
Blah blah blah history. Only the last 8 minutes is about the title.
@RonSheely
@RonSheely 7 ай бұрын
Thinking there is a lot more to this than history. These tiny $4 RP2040 MCUs have a lot potential.
@obinnaokafor6252
@obinnaokafor6252 5 ай бұрын
I hope the 8 minutes helped you a lot?
Learning Rust the wrong way - Ólafur Waage - NDC TechTown 2022
51:54
NDC Conferences
Рет қаралды 98 М.
КАРМАНЧИК 2 СЕЗОН 6 СЕРИЯ
21:57
Inter Production
Рет қаралды 487 М.
ONE MORE SUBSCRIBER FOR 6 MILLION!
00:38
Horror Skunx
Рет қаралды 15 МЛН
ПООСТЕРЕГИСЬ🙊🙊🙊
00:39
Chapitosiki
Рет қаралды 20 МЛН
ХОТЯ БЫ КИНОДА 2 - официальный фильм
1:35:34
ХОТЯ БЫ В КИНО
Рет қаралды 2,7 МЛН
Testando novidades do HTML5 na prática
10:38
Mayk Brito
Рет қаралды 319
What Makes Rust Different?
12:38
No Boilerplate
Рет қаралды 195 М.
Is It Time to Rewrite the Operating System in Rust?
1:09:18
InfoQ
Рет қаралды 300 М.
I built my own memory profiler (in Rust, on Linux)
22:58
fasterthanlime
Рет қаралды 58 М.
rust runs on EVERYTHING (no operating system, just Rust)
18:10
Low Level Learning
Рет қаралды 344 М.
C++ vs Rust: which is faster?
21:15
fasterthanlime
Рет қаралды 372 М.
What Can Scala Learn from Rust? by John A. De Goes
59:03
Ziverge
Рет қаралды 10 М.
I spent six months rewriting everything in Rust
15:11
chris biscardi
Рет қаралды 397 М.
Power up all cell phones.
0:17
JL FUNNY SHORTS
Рет қаралды 50 МЛН
Задача APPLE сделать iPHONE НЕРЕМОНТОПРИГОДНЫМ
0:57
С Какой Высоты Разобьётся NOKIA3310 ?!😳
0:43