Live data from Hacker News

Writing an OS in Rust: Introduction to Paging

os.phil-opp.com

31–40 of 81 posts

Re: Writing an OS in Rust: Introduction to Paging

#31

Earlier quoted context omitted.

How does one approach watching Handmade Hero? There's just so much content...

Think it is a problem but every other resource in game development is summarized, organized and bookish. Handmade Hero is unique in that it is: - Real time, watching a dude program a game - He speaks his though process, stumbles, gets up and resolves issues - Community interaction as they progress through the game All, at the expense of content bloat. I think its popularity has spoken for itself in that Handmade Hero…

Is there any video somewhere of the actual game the handmade hero series builds up to? I would want to know the goal before jumping in

Re: Writing an OS in Rust: Introduction to Paging

#32

I've never programmed in Rust because I still have trouble seeing the point. It seems overly restrictive. A copy of any data has nearly zero marginal cost (and you can pay the cost by doing the work yourself), so in a free machine, it would have nearly zero price. If widely useful data is protected by the borrow checker, far fewer people will use it. It is easy to show that the total utility of a piece of data to the…

> A copy of any data has nearly zero marginal cost I don't think this is true at all. Reducing copies and allocations in my programs is one of the things which has speeded them up the most. > If widely useful data is protected by the borrow checker, far fewer people will use it. Are you also against private struct/class fields? Because they also restrict access to useful data. For me, the need for Rust is as a langua…

I very much agree with this: https://www.youtube.com/watch?v=_xLgr6Ng4qQ

Re: Writing an OS in Rust: Introduction to Paging

#33

I've followed Phil's site on making an operating system. Ever since having worked on PintOS in college, operating systems and their internals have fascinated me. I've tried learning more about writing operating systems via resources like the OSdev wiki, but much of its material almost seems to discourage working on an OS of any kind unless you're already sure of what you're doing. Phil's articles seems so much more a…

Same here. Especially MenuetOS[1], because it was written in Assembly and originally fit on a floppy disk. That's a level of patience and programming (in Assembly) that I can only admire from afar...

[1] - https://en.wikipedia.org/wiki/MenuetOS

Re: Writing an OS in Rust: Introduction to Paging

#34

Earlier quoted context omitted.

Think it is a problem but every other resource in game development is summarized, organized and bookish. Handmade Hero is unique in that it is: - Real time, watching a dude program a game - He speaks his though process, stumbles, gets up and resolves issues - Community interaction as they progress through the game All, at the expense of content bloat. I think its popularity has spoken for itself in that Handmade Hero…

Is there any video somewhere of the actual game the handmade hero series builds up to? I would want to know the goal before jumping in

The game is still actively in development. It isn't just a clone of some other game, it's a new game and the actual design of the game is another part of the project that's evolving as the engine is built.

Re: Writing an OS in Rust: Introduction to Paging

#36
post #26

I've followed Phil's site on making an operating system. Ever since having worked on PintOS in college, operating systems and their internals have fascinated me. I've tried learning more about writing operating systems via resources like the OSdev wiki, but much of its material almost seems to discourage working on an OS of any kind unless you're already sure of what you're doing. Phil's articles seems so much more a…

I think it's one of these things that's more approachable if you start by working on specific subsystems of an existing OS. This way you don't have to figure everything out at once. At least that's how I did it. I think writing an OS from scratch is discouraging and not very accessible because... writing an OS is discouraging and not very accessible. It's a bit as if a painter was saying "It tried looking up guides o…

For what it's worth, this is exactly how most Operating Systems courses in undergraduate CS work, so it definitely seems like many different smart people have converged on this as the right way to go. At least in my course, we did build a toy OS by the end of the semester, but it was rigorously divided projects for the individual subsystems in isolation: write the pre-emptive scheduler, write the networking layer, write the filesystem, etc. A modern OS is an incredibly complex beast and trying to grasp it all at once is just going to lead to madness.

Re: Writing an OS in Rust: Introduction to Paging

#37

Earlier quoted context omitted.

Is there any video somewhere of the actual game the handmade hero series builds up to? I would want to know the goal before jumping in

The game is still actively in development. It isn't just a clone of some other game, it's a new game and the actual design of the game is another part of the project that's evolving as the engine is built.

To be honest, I think this is the primary weakness of Handmade Hero. Casey is plainly a more talented programmer than designer, and his missteps in the latter domain felt to me more like wasted time than valuable experience. This is why I stopped watching somewhere between episode 200 and 300.

Re: Writing an OS in Rust: Introduction to Paging

#38
post #26

I've followed Phil's site on making an operating system. Ever since having worked on PintOS in college, operating systems and their internals have fascinated me. I've tried learning more about writing operating systems via resources like the OSdev wiki, but much of its material almost seems to discourage working on an OS of any kind unless you're already sure of what you're doing. Phil's articles seems so much more a…

I think it's one of these things that's more approachable if you start by working on specific subsystems of an existing OS. This way you don't have to figure everything out at once. At least that's how I did it. I think writing an OS from scratch is discouraging and not very accessible because... writing an OS is discouraging and not very accessible. It's a bit as if a painter was saying "It tried looking up guides o…

I fully agree, but I think it's good to have options on how to approach the issue. Generally, I've referred to OSDev when I need more real-world information on how things tend to work in practice and resources like Phil's when writing a toy operating system.

I wouldn't consider Phil's blog a good resource for, e.g., gaining particular insight into how something like the Linux kernel works, but I also don't think Phil intended it for that use.

Re: Writing an OS in Rust: Introduction to Paging

#39
post #26

I've followed Phil's site on making an operating system. Ever since having worked on PintOS in college, operating systems and their internals have fascinated me. I've tried learning more about writing operating systems via resources like the OSdev wiki, but much of its material almost seems to discourage working on an OS of any kind unless you're already sure of what you're doing. Phil's articles seems so much more a…

I think it's one of these things that's more approachable if you start by working on specific subsystems of an existing OS. This way you don't have to figure everything out at once. At least that's how I did it. I think writing an OS from scratch is discouraging and not very accessible because... writing an OS is discouraging and not very accessible. It's a bit as if a painter was saying "It tried looking up guides o…

To your comment about a PlayStation being ridiculously simple compared to a desktop computer I'd call that close to true in the case of the now 20 year old first generation. The most recent two have basically been custom extensions on top of an operating system (FreeBSD 9). Which is to say they are desktop computers.
Post reply on HN