[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)