Planning on making my first OS

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
noobking111
Posts: 2
Joined: Sun Aug 28, 2016 4:36 pm
Libera.chat IRC: noobking111

Planning on making my first OS

Post by noobking111 »

Hello everyone, this is my first post as I'm new to this forum,
and have had a dream for quite some time to which I make
my own OS. I have an idea for a throw back to the good ole
days of DOS. Something you'd find on an old Kaypro machine.
I've planned and designed one years ago back when I was 15
and in computer class. Sadly, my coding experience is that
only in Qbasic. What would I need to do to learn on making
my dream a reality? I am wanting to make it extremely basic
and easy to use, something small in size and could fit on any
sized flash drive. It's just a passion of mine to make this dream
a reality. Thank you.
User avatar
Ch4ozz
Member
Member
Posts: 170
Joined: Mon Jul 18, 2016 2:46 pm
Libera.chat IRC: esi

Re: Planning on making my first OS

Post by Ch4ozz »

Welcome to OS Dev! :)
Learn C and read the tutorials in the wiki afterwards.
You might need a little bit assembler knowledge, but for a small OS it should be really just a little.
Dont directly try to code an OS after you finished learning C, you should write some "normal" applications before to undertand the normal steps of coding a C program.
Have fun
User avatar
deleted
Member
Member
Posts: 82
Joined: Mon Jul 21, 2014 7:23 pm

Re: Planning on making my first OS

Post by deleted »

Hi,

Welcome! I hope you have an amazing experience with OS development. I am quite new (only about a year or so, on and off) to OS development myself, and came from a weak background with C. If I could do my introduction over, I'd ensure that I:
1. Know C inside and out (pointers, inline assembly, memory management, structures, bitwise operations, etc)
2. Know Assembly enough to write a small application

Once you've got a grasp on those, I'd write some small applications in C. Try writing a configuration loader that can read from a file, parse it, and do some 'printf()' calls :D, then move on to learning Bash, Makefile, and Linker Scripts.

Now you've got an understanding of C, Assembly, writing applications, Linker Scripts, and build systems. That's a pretty good start.

Now get yourself a pair of reading glasses, because OS development takes a lot of reading haha, but is totally worth it :p

Cheers,
Walt
mac
Member
Member
Posts: 144
Joined: Tue Sep 23, 2014 6:12 pm

Re: Planning on making my first OS

Post by mac »

I come from no C background at all, but starting u to try and pick it up again. But I do have passion for it.
User avatar
Schol-R-LEA
Member
Member
Posts: 1925
Joined: Fri Oct 27, 2006 9:42 am
Location: Athens, GA, USA

Re: Planning on making my first OS

Post by Schol-R-LEA »

If you haven't already, I would strongly recommend reading the introductory material in the wiki:

Getting Started
How To Ask Questions
FAQ

Required Knowledge
Beginner Mistakes (the "deadlines" section in particular)
What order should I make things in
Code Management

How kernel, compiler, and C library work together
Using Programming Languages other than C

Real Mode, especially the section on memory addressing, and Segmentation
Memory Map, Detecting Memory and A20 Line
BIOS, and Boot Sequence
Interrupts
Bootloader and Rolling Your Own Bootloader
FAT and SFS

While this is a lot of reading, it simply reflects the due diligence that any OS-devver needs to go through in order to get anywhere. OS development, even as a simple project, is not amenable to the Stack Overflow cut-and-paste model of software development; you really need to understand a fair amount of the concepts and principles before writing any code, and the examples given in tutorials and forum posts generally are exactly that. Copying an existing code snippet without at least a basic idea of what it is doing simply won't do. While learning itself is an iterative process - you learn one thing, try it out, see what worked and what didn't, read some more, etc. - in this case a basic foundation is needed at the start. Without a solid understanding of at least some of the core ideas before starting, you simply can't get very far in OS dev.
Rev. First Speaker Schol-R-LEA;2 LCF ELF JAM POEE KoR KCO PPWMTF
Ordo OS Project
Lisp programmers tend to seem very odd to outsiders, just like anyone else who has had a religious experience they can't quite explain to others.
Post Reply