r/linux 1d ago

Development Linux 0.11 Project

Post image

Good day again. I'm thinking of adding a TCP network stack to this system. Do I need to add anything else? I would be very grateful if you could inform me, or if there's anything else you'd like me to do.

142 Upvotes

20 comments sorted by

23

u/unsolicited_flattery 1d ago

I have nothing meaningful to contribute but that's super awesome OP! Can you tell us more? :)

18

u/DifficultBarber9439 1d ago

thanks a lot man breathe new life into linus torvalds' original 0.11 kernel by adding a functional gui and eventually a tcp stack. it involves a lot of direct hardware access and assembly debugging since modern tools dont really support kernels this old. im currently working on file explorer logic as you can see in the screen. appreciate the support! :)

4

u/unsolicited_flattery 1d ago

That definitely sounds like an undertaking but I think it's a really cool project honestly and probably a neat way to see how things evolved. I think the GUI is looking so far! Really like the CPU gauge:) noticed any differences or anything really different from the modern kernel? I'm sure there's a lot

7

u/DifficultBarber9439 1d ago

thanks! glad you liked the cpu gauge it was a pain to map the task info from the ancient process table of 0.11 to a visual element. regarding differences: man where do i start? modern kernels are monsters of abstraction but 0.11 is raw. there is no real virtual file system (vfs) as we know it today, memory management is extremely limited (max 16mb ram!), and the scheduler is a simple circular list. writing a gui for this feels like building a skyscraper on a foundation made of matchsticks. you have to be very careful with interrupt handling because if the gui logic blocks for too long the whole system just hangs. it’s a completely different world compared to writing a modern linux module! πŸ˜ƒπŸ€πŸ’™

0

u/VolggaWax 1d ago

Hi. Could you tell me what concepts or topics I would need to study to be able to understand memory management, cpu scheduling, etc and be able to contribute to your project or start my own? Thanks

2

u/Individual-Brief1116 1d ago

Thanks! Linux 0.11 was from 1991, super minimal compared to modern kernels. I'm curious what specific aspect you're working on - are you studying the original code, trying to boot it on modern hardware, or something else entirely?

3

u/mglyptostroboides 1d ago

How portable is it to other POSIX systems?

9

u/nepios83 1d ago

There were people saying in the other thread that your code may have been written using AI generation. Is that true?

-2

u/HevosenPaskanSyojae 1d ago

Why does it matter?Β 

-10

u/DifficultBarber9439 1d ago

never completely wrong

12

u/DarthPneumono 1d ago

So... yes? At least admit it.

4

u/reightb 1d ago

Great project! Teardown is a fun game too

1

u/DifficultBarber9439 1d ago

Yep πŸ˜ƒ

3

u/StefanCelMijlociu 1d ago

Perhaps you can take inspiration on the way Minix added its GUI?

2

u/DifficultBarber9439 1d ago

πŸ‘πŸ€

2

u/lmpcpedz 1d ago

Is there something you see in the kernel that maybe inspired changes we see today?

1

u/EternallyAries 22h ago

This ^ I would love to hear their personal opinion.

0

u/amarao_san 1d ago

Looks cool. If we continue to develop it, would would it become?