Live data from Hacker News

Gopher-OS: A Proof of Concept OS Written in Go

github.com

11–20 of 84 posts

Re: Gopher-OS: A Proof of Concept OS Written in Go

#12

I've never really understood OS:es. Why are so many people creating them, yet so few have any success? I've must have seen a dozen OS:es over the past two years on HN, most developed by people having no confidence in calling it a serious effort. Why care about OS:es when there is no room for anyone on that level of abstraction apart from a handful developers at MS, Apple and Google?

> Why care about OS:es when there is no room for anyone on that level of abstraction apart from a handful developers at MS, Apple and Google?

There is as much room as there are people frustrated with the "state of the art."

Edit: Have you seen this apple commercial https://www.youtube.com/watch?v=OYecfV3ubP8. Yes it is from 1984 and you might think it doesn't apply.

Re: Gopher-OS: A Proof of Concept OS Written in Go

#13

I've never really understood OS:es. Why are so many people creating them, yet so few have any success? I've must have seen a dozen OS:es over the past two years on HN, most developed by people having no confidence in calling it a serious effort. Why care about OS:es when there is no room for anyone on that level of abstraction apart from a handful developers at MS, Apple and Google?

The reasons aren't so different from the reasons for writing any other software.

1. Even if the project never replaces the other software you use, you gain a better understanding of that other software by solving some of the same problems, making the same mistakes, learning the same lessons.

2. You may have special requirements that don't make sense to add to an existing project aimed at a broader audience. This is where a lot of niche microcontroller OSes come from.

3. You have a crazy idea that would be hard to explore within the architecture of an existing project. If it turns out to be crazy enough to work, then maybe people will do the work to migrate it to the mainstream.

4. Everyone has a little dream that the masses will find great value in their work and flock to it, supplanting the status quo. Like becoming a billionaire, it essentially never happens, but you can't blame people for trying.

Re: Gopher-OS: A Proof of Concept OS Written in Go

#14

I've never really understood OS:es. Why are so many people creating them, yet so few have any success? I've must have seen a dozen OS:es over the past two years on HN, most developed by people having no confidence in calling it a serious effort. Why care about OS:es when there is no room for anyone on that level of abstraction apart from a handful developers at MS, Apple and Google?

Why care for computers when there's a worldwide market for maybe five, tops?

Re: Gopher-OS: A Proof of Concept OS Written in Go

#15
post #13

I've never really understood OS:es. Why are so many people creating them, yet so few have any success? I've must have seen a dozen OS:es over the past two years on HN, most developed by people having no confidence in calling it a serious effort. Why care about OS:es when there is no room for anyone on that level of abstraction apart from a handful developers at MS, Apple and Google?

The reasons aren't so different from the reasons for writing any other software. 1. Even if the project never replaces the other software you use, you gain a better understanding of that other software by solving some of the same problems, making the same mistakes, learning the same lessons. 2. You may have special requirements that don't make sense to add to an existing project aimed at a broader audience. This is w…

5. fun.

A lot of people -myself included- enjoy solving puzzles for fun. So I often set myself weird or obscure challenges to solve with code.

Re: Gopher-OS: A Proof of Concept OS Written in Go

#17
post #11

I don't know anything about OS development, but how do you implement an OS in a language whose runtime depends on an OS?

Well, the Go runtime is written in Go itself. And you can write Go without the runtime, the same way the compiler is.

The hard part is that the runtime is indeed build on OS primitives (syscall mostly), that you have to implement yourself.

You have to forgo all the niceties of having a runtime but you can do it. Definitely not the most productive use of Go, but it's fun and you learn a lot.

Re: Gopher-OS: A Proof of Concept OS Written in Go

#18
post #11

I don't know anything about OS development, but how do you implement an OS in a language whose runtime depends on an OS?

The entire runtime does not depend on the OS. C's run-time is very minimal for exaple. You have a stack memory, heap etc that you setup in protected mode. Your OS will manage the page-tables, process creation etc.

"Go" binary will basically compile into machine code which can be run on bare-metal.

I am doing this currently: https://pdos.csail.mit.edu/6.828/2012/schedule.html

And it's been eye opening to how everything works under the hood!

Re: Gopher-OS: A Proof of Concept OS Written in Go

#19
post #11

I don't know anything about OS development, but how do you implement an OS in a language whose runtime depends on an OS?

Type safety.

I advise you to read Project Oberon from Niklaus Wirth, originally published in 1992, revised in 2013 for targeting a FPGA instead of the Ceres workstation that was used at Zurich Institute of Technology (ETHZ) during the 90's.

https://people.inf.ethz.ch/wirth/ProjectOberon/index.html

http://www.ocp.inf.ethz.ch/wiki/Documentation/Front

A complete graphical workstation OS used by the IT department for their OS programming classes, language design and even by the non technical personal at the department.

Post reply on HN