| ▲ | Someone 2 days ago |
| > I will never not find this kind of project incredibly impressive I wouldn’t call it incredibly impressive. The path on how to write a minimal multi-tasking kernel has been beaten decades ago. Writing a kernel that can boot and do a few things is ‘just’ a matter of being somewhat smart and have some perseverance. Doing it for RISC-V complicates things a bit compared to x86, but there, too, the information about initialising the hardware often is easily obtained (for example: https://wiki.osdev.org/RISC-V_Meaty_Skeleton_with_QEMU_virt_... I wouldn’t know whether this project used that) I think the author agrees, given (FTA) that they wrote “This is a redo of an exercise I did for my undergraduate course in operating systems” It’s work, may be nice work, but I think everybody with a degree in software engineering could do this. Yes, the OS likely will have bugs, certainly will have rough edges, but getting something that can multi-process, with processes shielded from each other by a MMU isn’t hard anymore. |
|
| ▲ | flamedoge 2 days ago | parent | next [-] |
| To you maybe. The subset of population that is even interested, smart, persevering to do this is extremely tiny. |
|
| ▲ | ludicity 2 days ago | parent | prev | next [-] |
| I am 99.99% sure that less than 20% of Australian graduates could do this, and honestly I wouldn't be surprised to hear that the actual answer is <1%. I was studying at Monash, which is considered a solid university here, and holy moly are the standards low. I had classmates in the second year of my machine learning postgrad asking me things like "What is machine learning?", and they all graduated and found jobs anyway. |
| |
| ▲ | dysoco a day ago | parent | next [-] | | Hmmm here at least in my uni in Argentina, we have an obligatory computer architecture class and we implement a protected-mode x86 (32 bits) kernel with interrupts, paging, etc. We obviously get some guidance but it's not that hard if you read the docs, nowadays you don't even need to go deep into the Intel manuals probably since osdev wiki has a lot of content. Besides it's much easier nowadays, if something's wrong you can feed ChatGPT your GDT definition for example and find out if you misplaced a value, which used to be a PITA to debug. As the parent comment says, I think the path to a booting usermode kernel has long been beaten, it's not trivial but it's not that hard either, I believe the impressive stuff is once you get out of "tutorial land" and implement a network stack, or a UI stack, etc. | |
| ▲ | bananaboy 2 days ago | parent | prev | next [-] | | I'd agree with this. I did a double degree in Comp Sci/Comp Sys Eng at RMIT (1998-2002) and even from that era I would say that's largely true. Out of the people who did my course (and those I knew from other degrees like Comp Sys Eng/Business) very few are still doing deep technical programming for a career and/or hobby programming on the side on deep technical non-web things. The rest are mostly working for places like consulting companies, banks, big data, Telstra, etc in management roles like project manager, scrum master, solutions architect, change management. A lot of folks I think were just not that interested in stuff like writing an OS, how does virtual memory work, how does the hardware work, etc so they gravitated out of those software development roles into management roles. Nothing wrong with that, but I just think not everyone is interested in or capable of writing an OS! | |
| ▲ | astrange 2 days ago | parent | prev [-] | | What did they find jobs in? Australia has like one tech company. Which is odd since their universities have built two of the most interesting CS projects I can think of (Mercury and L4). And WWWJDIC I suppose. | | |
| ▲ | bananaboy 2 days ago | parent | next [-] | | Folks end up at all sorts of places. Like I mentioned above, the banks hoover up a lot of graduates. There are a lot of smaller local companies doing web stuff. The consulting companies all have a presence here (KPMG, Accenture, Fujitsu Consulting, etc). | |
| ▲ | Intermernet a day ago | parent | prev | next [-] | | Google and Amazon both have offices in Australia, and a bunch of banks / media companies / startups / SMEs employ machine learning specialists. | |
| ▲ | awesome_dude a day ago | parent | prev [-] | | Atlassian Stripe, Zendesk, |
|
|
|
| ▲ | gertop 2 days ago | parent | prev | next [-] |
| > I think everybody with a degree in software engineering could do this Ideally this would be true, but it hasn't been my experience at all. At least with American graduates, I can't speak to other countries. |
| |
| ▲ | bpye 2 days ago | parent | next [-] | | My CS undergrad in the UK had us write an ARM kernel with scheduling and IPC, though didn’t require we use the MMU. | |
| ▲ | 2 days ago | parent | prev [-] | | [deleted] |
|
|
| ▲ | d_sem 2 days ago | parent | prev [-] |
| Is there a book one can read to learn how to create one? |
| |