[HN Gopher] Show HN: Banan-OS, an Unix-like operating system wri...
___________________________________________________________________
Show HN: Banan-OS, an Unix-like operating system written from
scratch
This is my operating system that I've been working for the past 2
years. All of the code is written exclusively by me except from
ported software. banan-os has a monolithic kernel targeting x86
(i686) and x86_64 architectures. The project consists of
bootloader, kernel and userspace libraries (libc, libGUI, libFont,
...). It also uses my custom C++ standard library partly based on
stdc++. Currently I have basic TTY and GUI environment with some
of the basic UNIX utilities like cp, ls and stat. I have basic
support for USB (keyboard/mouse/storage), disks (NVMe, AHCI),
custom networking stack with TCP and UDP support, and a UNIX-like
filesystem with /dev /tmp /proc filesystems. The whole project is
written in C++ except for my BIOS bootloader that is written in
16-bit real mode assembly. I have been testing the OS mainly on
virtual machines but also frequently on real hardware.
Author : Bananymous
Score : 126 points
Date : 2024-12-05 18:54 UTC (4 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| DigiEggz wrote:
| This is really cool! I like the name, too. Of all the things
| you've implemented for this, what has been the most difficult
| part? And have you hit any serious roadblocks along the way?
| bsimpson wrote:
| I read it thinking "banyan tree" until I saw the ASCII art and
| realized it's a banana reference.
| Bananymous wrote:
| There hasn't been any overly difficult parts. I'd say the most
| difficult one has to be either AML interpreter because the ACPI
| specs are very badly written or the USB stack just because the
| size of the specifications is so large with a lot of cross
| referencing.
|
| There hasn't been any major roadblocks. Sometimes I give up on
| a feature and come back to it maybe month or two later though.
| whartung wrote:
| Very nice. Lot of work.
|
| What stand out challenges have you encountered?
| Bananymous wrote:
| I think biggest challenges have to be with reading large
| specifications. I've never really done that before so it took
| some time to get used to.
| convolvatron wrote:
| good for you. it gets easier. and being able to actually get
| down the meat of things is a real superpower. totally agree
| with you about ACPI though.
| dvh wrote:
| There is a certain customary sentence to be put in new os kernels
| announcements and your announcement lacks this sentence.
| bityard wrote:
| You surely mean that it's a hobby project and probably won't be
| big and professional like GNU?
| 38 wrote:
| oh fun, a guessing game :|
| xandrius wrote:
| The other poster already answered...
| readyplayernull wrote:
| ...that the word iiis...
| drivers99 wrote:
| "just a hobby, won't be big and professional like gnu"
| which is a quote from Linus's Linux announcement on
| Usenet in 1991.[1] He didn't know it was going to be big
| at the time, making it an ironic statement after the
| fact, and that could also be the case for any new OS from
| scratch such as this one.
|
| [1] https://www.cs.cmu.edu/~awb/linux.history.html
| Brian_K_White wrote:
| Aww, will you survive?
| spiffyk wrote:
| Very cool! How much time do you dedicate to this, in terms of
| hours per week? Looks like a lot of work has gone into it!
|
| You say you're a student on your profile - does that mean
| university? If so, have you also worked on the OS directly as
| part of your studies?
| Bananymous wrote:
| Yeah I am a student at an university. I have managed to "skip"
| some courses like operating systems and concurrency just by
| showing my project to the professor. Otherwise my project is
| not integrated to my studies in any way. I also got a part time
| job in my university's embedded side because of my project.
|
| How much time I put to this really depends on what else is
| happening in my life at the moment. There has been months where
| I've put total of 5 hours into this and some weeks alone I may
| reach close to 40 hours.
| spiffyk wrote:
| Awesome, thanks!
|
| One more set of questions: was there something you would call
| an "it's alive!" moment in the beginning of the project? A
| part where it would start to get _really_ fun for you? If so,
| what was it and how long did it take you to get there?
| Bananymous wrote:
| There has been multiple really great moments during the
| development. Its always cool to see some completely new
| features working on real hardware, like first time getting
| keyboard input, USB mouse input, running DOOM, reading from
| disks, networking, and getting a compiler working!
|
| I think it became actually fun after I got all the basic
| requirements done and could start deviating from more or
| less standard OS code. When I could actually decide what I
| want to work on. Maybe after couple of months it was in
| that state. It was also fun at the beginning. it was just
| way harder as I didn't have any prior knowledge and I was
| trying to wrap my head around some basic concepts :D
| breakfastduck wrote:
| No doubt you've learned a hell of a lot from this.
|
| I would imagine this will set you up incredibly well for a
| career in the industry, arguably moreso than your actual
| degree. Any reasonable prospective potential hirer is gonna
| be super impressed by it I think.
___________________________________________________________________
(page generated 2024-12-05 23:00 UTC)