Jump to content

I am planning to make an os from scratch does anyone know how long it will take? (including making bootloader and making my own coding language ) this os is not for a hobby well actually it is but it will have a unique purpose of it instead just making it for fun thanks in advance 馃檪

Link to comment
https://linustechtips.com/topic/1455704-os/
Share on other sites

Link to post
Share on other sites

3 minutes ago, swabro said:

I am planning to make an os from scratch does anyone know how long it will take? (including making bootloader and making my own coding language ) this os is not for a hobby well actually it is but it will have a unique purpose of it instead just making it for fun thanks in advance 馃檪

including from-scratch kernel or using the already widely used linux?

Press quote聽to get a response聽from someone! | Check people's edited posts!聽|聽Be specific!聽| Trans Rights

Link to comment
https://linustechtips.com/topic/1455704-os/#findComment-15568708
Share on other sites

Link to post
Share on other sites

32 minutes ago, swabro said:

like everything from scratch not a single bit will be used from an existing piece of code

Cool, have you ever written an interrupt routine? (Shame that I lost that Terry Davis video)

but seriously have you? Can you come up with a cpu scheduler? Virtual Paging system? C compiler and stdlib/libc(or whatever your new coding language is) for your operating system and all the xyz?

Sudo make me a sandwich聽

Link to comment
https://linustechtips.com/topic/1455704-os/#findComment-15568718
Share on other sites

Link to post
Share on other sites

46 minutes ago, swabro said:

I am planning to make an os from scratch does anyone know how long it will take? (including making bootloader and making my own coding language ) this os is not for a hobby well actually it is but it will have a unique purpose of it instead just making it for fun thanks in advance 馃檪

Good luck, wish you the best. Completely from scratch is going to be a huge time investment if you want it to work with things. If you are looking at something like Temple OS, it'll be less.聽

Link to comment
https://linustechtips.com/topic/1455704-os/#findComment-15568734
Share on other sites

Link to post
Share on other sites

47 minutes ago, BiotechBen said:

Good luck, wish you the best. Completely from scratch is going to be a huge time investment if you want it to work with things. If you are looking at something like Temple OS, it'll be less.聽

heck no, temple OS is still a man moving a mountain effort if developing from the bottom up by any single person. You may think the operating system looks simple but a lot of engineering goes into it and it has all the features and hardware support any modern operating system would have, minus the werid design decision to keep things in the archaic 8 bit color and the like.聽

People who are interested should just focus on the core kernel features like implementing a cpu scheduler, paging system and the like instead of going all out on a full blown os. The former is very doable, in fact, senior year computer science students generally get to do these in their operating system courses, either creating a simple kernel or implemetning these features on an existing kernel ect. The likes of complete OS such as temple OS is in a completely different league.聽

Sudo make me a sandwich聽

Link to comment
https://linustechtips.com/topic/1455704-os/#findComment-15568758
Share on other sites

Link to post
Share on other sites

19 minutes ago, wasab said:

heck no, temple OS is still a man moving a mountain effort if developing from the bottom up by any single person. You may think the operating system looks simple but a lot of engineering goes into it and it has all the features and hardware support any modern operating system would have, minus the werid design decision to keep things in the archaic 8 bit color and the like.聽

People who are interested should just focus on the core kernel features like implementing a cpu scheduler, paging system and the like instead of going all out on a full blown os. The former is very doable, in fact, senior year computer science students generally get to do these in their operating system courses, either creating a simple kernel or implemetning these features on an existing kernel ect. The likes of complete OS such as temple OS is in a completely different league.聽

I'm saying Temple OS vs windows vs MacOS, it's less of a mountain.

Link to comment
https://linustechtips.com/topic/1455704-os/#findComment-15568773
Share on other sites

Link to post
Share on other sites

I agree with you @wasab聽and @BiotechBen聽but if u see that templeOs was built has a hobby os I am willing to invest a lot of time into making this Os as will have a an actual pupropes which I cant tell you(years if need be) i just wanted some a advice on where should I start and how long am I expecting for the duration, thanks for all your help 馃檪

Link to comment
https://linustechtips.com/topic/1455704-os/#findComment-15569254
Share on other sites

Link to post
Share on other sites

1 minute ago, swabro said:

I agree with you @wasab聽and @BiotechBen聽but if u see that templeOs was built has a hobby os I am willing to invest a lot of time into making this Os as will have a an actual pupropes which I cant tell you(years if need be) i just wanted some a advice on where should I start and how long am I expecting for the duration, thanks for all your help 馃檪

The time investment Really depends on how good you are at coding and how in depth you want to go. If you want just a basic OS, and are good at coding shouldn't be TOO long. If you are just starting out with coding and want a full fledged, super duper OS, my guess would be a few hundred hours, but I am no expert on building an OS from scratch using nothing that already exists.

Link to comment
https://linustechtips.com/topic/1455704-os/#findComment-15569260
Share on other sites

Link to post
Share on other sites

8 hours ago, swabro said:

Snip

For just learning purposes, you can just follow some YouTube tutorials聽

However, you may get lost if you don't have a good theoretical knowledge. This includes understanding of assembly, how bits works, OS concepts like file system, paging, interrupt/exceptions, privilege/kernel mode, virtual memory swapping, and especially concurrent programming such as avoiding race conditions and dead locks which is really difficult to master.

For learning the theoretical, I recommend doing some hands on learning projects that are frequently used by the academia to teach these subjects. Example includes the NACHOS

https://users.cs.duke.edu/~chase/nachos-guide/guide/nachos.htm

Sudo make me a sandwich聽

Link to comment
https://linustechtips.com/topic/1455704-os/#findComment-15569380
Share on other sites

Link to post
Share on other sites

17 hours ago, mariushm said:

Completely from scratch it would probably take you 2-3 years to get something reasonably usable like just text mode stuff / multiple programs running at same time etc like a Linux box.....

I would say that would be lightning quick, and likely, it could use up a decade or two before it will be fit for purpose. Probably the hardest part will be protecting it from abuse (such as being hacked) so that it doesn't dump on you at the worst possible moment due to somebody messing with it. Obviously, if people find it on a machine they can access, some of them will likely try to break it in ways useful to them.

...though if you don't mind me asking, what do you intend for the use case to be? Will it be user focused, general use on commodity hardware, or will it be an embedded system for running niche hardware, not requiring much direct user interaction? ...or some combination?

Link to comment
https://linustechtips.com/topic/1455704-os/#findComment-15569725
Share on other sites

Link to post
Share on other sites

On 9/17/2022 at 11:21 AM, wasab said:

For just learning purposes, you can just follow some YouTube tutorials聽

However, you may get lost if you don't have a good theoretical knowledge. This includes understanding of assembly, how bits works, OS concepts like file system, paging, interrupt/exceptions, privilege/kernel mode, virtual memory swapping, and especially concurrent programming such as avoiding race conditions and dead locks which is really difficult to master.

For learning the theoretical, I recommend doing some hands on learning projects that are frequently used by the academia to teach these subjects. Example includes the NACHOS

https://users.cs.duke.edu/~chase/nachos-guide/guide/nachos.htm

tysm this video was very helpful

thank you for all your help everyone and I am going to be off to making an Os see ya 馃檪

Link to comment
https://linustechtips.com/topic/1455704-os/#findComment-15569762
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now