Hacker News new | past | comments | ask | show | jobs | submit login
FlingOS: An educational operating system (flingos.co.uk)
79 points by vmorgulis on Jan 2, 2016 | hide | past | favorite | 36 comments



An operating system written in C#! Interesting - http://www.flingos.co.uk/docs/reference/Why-CSharp/


My first reaction was: how can that possibly work? I read the entire "why c#" page in the hopes of getting an answer, but it just kept going on about other stuff. Finally, at the end, under "Disadvantages of c#": requires a custom compiler. Which indeed eliminates my objection!


We'll add more detail in future but here's a brief article covering the key points: http://flingos.co.uk/docs/reference/How-CSharp/

I've also added a sentence to the Introduction section of the Why C# article linking to this How C# article.


Interesting to read your comment - I'll update the article to make the information more readily available. Cheers, Ed


In case you're still checking these comments: do you think FlingOS is a good fit for someone who is comfortable with C, or would they be better off with something like xv6?


Our articles and videos are largely language independent so still contain a lot of very valuable information for any OS developer, irrespective of language. I would say our codebase is useful for seeing how to make the various drivers work but that someone comfortable in C ought to develop in C and simply refer to our code when/if they get stuck.


Cool, thanks!!


Just add a link to the "how c#" somewhere; I didn't notice that page existed. It's exactly what I wanted!

edit: oh, you did already. never mind!


It reminds me of the one Microsoft made, but we can actually play around with it :)

And this one probably isn't multi-threading everywhere.

EDIT: surprisingly easy to setup in a VM

EDIT 2: I suck at this apparently already made it freeze..


Microsoft's research OS was called Singularity [1] and the C# compiler (that compiled to native code) Bartok [2].

[1] http://research.microsoft.com/en-us/projects/singularity/ [2] https://en.wikipedia.org/wiki/Bartok_(compiler)


Singularity was later extended by the joint MS-MSR project Midori, which sadly was discontinued last year. Apparently some features are being incorporated into C#.

Joe Duffy is blogging about his experience: http://joeduffyblog.com/2015/11/03/blogging-about-midori/


Apologies, I committed to master instead of develop last night which caused a regression (we've just implemented a new scheduler). We'll be back to working order soon enough :)


Master should now be stable such that the console appears and you can type into it. You should also be able to Alt+Tab between the two shells.

Please note though, the codebase has been being transformed for the past 2 months and there's more work still to do which means most of the disk, file system and PCI stuff is unstable (related commands will cause the OS to freeze, crash or similar). We expect to be back to full functionality by March.


"Educational operating system" makes me think of an OS that's designed for delivering educational content, not one that's an example operating system for learning bare-metal coding.

I wonder if "model" might be a better word to use.


I didn't make that connection at all. I was fully expecting an OS to teach me about bare metal programming semantics.


This is an interesting issue - how people interpet the name seems to come out 50/50 between "OS for learning OS dev" and "OS for educational content". In my experience, people's backgrounds are the biggest factor affecting which they think of.

We're reluctant to go with "model" OS or similar because we're not actually implementing anything like an ideal OS - we don't use optimised algorithms for example. The idea being that you can learn/teach the OS concept using a simple implementation (and readable code) and then students/developers can optimise as an exercise/extension/for a real OS. So it's not a "model" OS but is an "example" OS to use to teach the key concepts.

Unfortunately, "example" OS leads people to think our OS is practical as a basis for a real OS, which it isn't and we don't want to give the impression we're trying to rival Linux/Windows/OSX/etc. No name seems to give a universally correct and good first impression!


As someone who has taken an advanced OS class that involves implementing portions of such an educational / teaching OS, I also perceive "educational" to mean "for learning OS dev".

The other side of the spectrum for me is "research" and "proof of concept" OSes though - like House (written in Haskell) or Singularity and Midori.


shadowcodex: your comment is showing as "dead".


I like these kinds of projects, but have thus far been unlucky with mono projects on linux.. I might try it out anyways.


Compile our compiler against XBuild and apparently it works (according to one Reddit user). Unlikely to work with MonoDevelops default/old compiler.


The author was looking for money to help the project a month ago:

https://www.reddit.com/r/osdev/comments/3upyvq/would_you_sup...


Even though Ed has a really cool project I am guessing since he does not have a business model it must be hard for him to work on it :(

Unless he figures out how to convince people who are :

1| C# Developers

2| Interested in OS development

To give him money for his work its going to be a tough sell - sadly.


You've very much hit the nail on the head. However, though it's hard, it's not impossible - we've got some magic (read as: not suitable for a public forum) in the business pipeline that should keep this project alive. If all goes well, we'll have a lot to shout about in a couple of months time. Until then, we're still welcoming sponsorship or donations! If nothing else, the project remains open source for anyone to contribute to. Cheers, Ed


I've been thinking about teaching myself low level development and FlingOS is just what I've been looking for. If these resources work out well, I'd be willing to pay you for them :)


I really hope you are successful ! I have been stalking your work for a while :D

Have you tried talking to local schools ? They seem really good target audience - with a lot of money actually.

I am also interested OS dev but I had nightmarish experience with C# while working at BRL.

I too am from UoB ( Eng Maths ) - graduated recently.

Its funny how much CS people are always browsing HN lol


Thanks! Good to hear. We haven't yet but we're planning to in late 2016. We are hoping to produce an OS dev kit for A-Level / first-year univeristy students which we can sell at low cost.

Awesome that you're from UoB! Shame you weren't here last term when I ran the lectures/workshops. Are you still living in Bristol?

I have to say, I only come on here occasionally and signed up today to be able to reply to things about FlingOS - new user syndrome is limiting my number of comments though!


That sounds wonderful ! - A dev kit would be really cool - something like the arduino that students can get their hands dirty with.

I am working for a startup who are involved in the education space, but it's focused on the chinese market, somehow our sale's team figured out how to make chinese consumer pay us money to write code lol.

I moved to London.

yeah - hacker news is weird. Do not let the comments hear or on reddit affect you - you could cure cancer and still be shrugged off.

When I was in Uni I didn't take an modules on OS stuff - too complicated, too much time - and there aren't many things I do with it once it's done ? So if you can convince people of the application - something that will capture the imagination. Something they could do with FlingOS - make a robot, IoT, put on their car/bike ?

I mean I am having a difficult time thinking of writing a custom OS to solve some problem I am having.

I really like your youtube videos ! You should invest in a better microphone - it actually helps !


Yep but we're looking at the creator CI20 or CI40 boards as our compiler supports MIPS.

I tend to only listen to the positive stuff from Reddit and the like but that said, we've not had any notable amount of negative feedback online thus far which is rather remarkable!

Yeah cool projects are one aspect but we're also pushing the "if you understand low level, your high level and Web apps will be better and certainly much more secure"!

Thanks for the feedback about the videos. I have a pro microphone - Blue Yeti. The issue is actually the recording environment (my thin walled, noisy neighbours flat in Bristol) which means quality is lost in editing the noise out. I'm trying to organise I better recording environment for future videos.

Is there a link to the startup you're involved in? Or is it all in a language a I sadly don't speak? Haha.


Reduce the gain on your Blue Yeti - it's actually one of the disadvantages of the Yeti microphones - they capture a lot of the background noise.

For noise - try the starving artist method - record it under a thick duvet. The physics behind it is the same as those fancy expensive sound proof rooms. It actually works ! Many artists with no money use this method.

It does look ridiculous and when you present your audio to a bunch of people you do not want to reveal that you recorded it under a duvet wearing your underwear.

I am guessing you are living in a student house lol - I was lucky to live with working people who valued silence - Find a time - usually 10pm - 12 pm that is not too late and when things are quite to do your recording. If you can schedule it like that you should be fine.

I agree, understanding C helps me everyday - even though I used to complain about it in first year.

Its all in Javascript, so its something that you have experience with.

Have you thought about creating your board for the chinese market ? - in chinese for example lot of demand for educational content there ( Lots of demand for everything actually )


Haha it's always at the lowest! My flat really is that noisy. And the video I'm (slowly) uploading now is even worse because I don't have my mic so it's laptop recorded - wanted to post something to "ride the New Year wave" so to speak!

I have sound proof foam etc, it just doesn't help. Many things researched and tried (with much laughter from my flat mates on the occasion they saw me doing odd things) to no avail. A lot of it was recorded when heavy building work was going on just outside my window (basically all of the summer I was working the building works were going on but University buildings were even worse). If you'd heard the original audio, I think you'd be impressed by how clean I actually managed to get it in then end.

Targeting the Chinese is an interesting idea. The problem would be finding someone to translate the content (and documentation in the code) - which really requires a native Chinese speaker (what about both variants of the language?) and they need the technical language - a very rare person indeed in the UK, I expect!


Not rare at all.

There are a lot of chinese students walking around MVB. You just need to walk up to them and start talking !

What would be difficult is finding a chinese person who shares the same amount of passion in your project.

MVB is the optimal place for finding that person !

Tell me about it - Uni halls are super noisy. Don't you have a friend who lives in a quiet place ?


Yes MVB has lots of international students (as social secretary of BEEES I do talk to them regularly! ;) ), but the ones who actually have all the technical language (good enough to translate the docs accurately) are (at a guess) busy third or fourth years. None the less, I'll ask around when I'm back in Bristol (and post exam season).

It was just after first year so sadly not. Most of my friends moved out of Bristol for the summer.


After the Oberon derived OSes from ETHZ there is hardly any university pursuing OS research in memory safe languages, so congratulations on the work achieved so far.


Great! Keep it up.


Thanks!


Thanks for the share! This is really valuable for the project and has given us great feedback and positive messages.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: