I'm new
Re: I'm new
Hi,
The Getting Started wiki page might help if you have no idea where to start..
Cheers,
Brendan
Welcome to the forums.d3crypt wrote:Hey, my name is Will Jones, but people call me d3crypt.
I live in Los Angeles California and I'm 17.
My main hobby is programming and I'm going to major in Computer Science at University of California Santa Cruz.
I have to say that this site is amazing. I already planned on making an OS, but I had no idea where to start.
The Getting Started wiki page might help if you have no idea where to start..
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
- Schol-R-LEA
- Member
- Posts: 1925
- Joined: Fri Oct 27, 2006 9:42 am
- Location: Athens, GA, USA
Re: I'm new
Greetings.
As Brendan said, the wiki has a goo deal of material about starting points and different things you can try (or try to avoid). You definitely want to read the Introduction, Required Knowledge, How to Ask Questions, and Beginners' Mistakes pages first thing, if only to get an idea of what's what.
I would definitely recommend starting by getting your tools in order. Before anything else, consider what you want for your target system, development host, emulator or virtualizer, toolchain, language(s), editor, and version control system, and get them set up for what you plan to do. Note that even if you want to use a different language, you should have a good handle on C and the target system's assembly language before you begin, if only because all OS work involves some amount of assembly coding, and most of the information about OS-dev is geared towards working in C. If you are using binutils (the GNU tools used by Linux, and the long-time favorite of most hobbyist OS devs), make sure you have a separate cross-compiler set up for your development work, and get familiar with writing Makefiles (or whatever build tool or project manager you have chosen).
Also, don't even consider working on a project this size without version control - if you don't have some way of rolling back changes, you will come to regret it. This is true of any larger development project, but doubly so for OS dev. VCS repository hosts like Github, Sourceforge and Bitbucket are usually free for open-source projects, and relatively inexpensive (or free) for private ones, and the effort of using them is trivial, so there's no excuse for not having a cloud repo.
A lot of people, including myself, have started out with writing a bootloader, but it is a lot of work for something that really doesn't move your kernel design forward. My recommendation is to use writing a very simple two-stage bootloader as a warm-up exercise, something to get you into the swing of assembly coding and low-level access, but not to rely on the result unless you are certain that your OS design won't work with an existing production-quality loader (which is very, very unlikely).
Beyond that, it is up to you. I would recommend reading the pages on "What Order Should I Make Things In", for both inspiration and a bit of a chuckle.
As Brendan said, the wiki has a goo deal of material about starting points and different things you can try (or try to avoid). You definitely want to read the Introduction, Required Knowledge, How to Ask Questions, and Beginners' Mistakes pages first thing, if only to get an idea of what's what.
I would definitely recommend starting by getting your tools in order. Before anything else, consider what you want for your target system, development host, emulator or virtualizer, toolchain, language(s), editor, and version control system, and get them set up for what you plan to do. Note that even if you want to use a different language, you should have a good handle on C and the target system's assembly language before you begin, if only because all OS work involves some amount of assembly coding, and most of the information about OS-dev is geared towards working in C. If you are using binutils (the GNU tools used by Linux, and the long-time favorite of most hobbyist OS devs), make sure you have a separate cross-compiler set up for your development work, and get familiar with writing Makefiles (or whatever build tool or project manager you have chosen).
Also, don't even consider working on a project this size without version control - if you don't have some way of rolling back changes, you will come to regret it. This is true of any larger development project, but doubly so for OS dev. VCS repository hosts like Github, Sourceforge and Bitbucket are usually free for open-source projects, and relatively inexpensive (or free) for private ones, and the effort of using them is trivial, so there's no excuse for not having a cloud repo.
A lot of people, including myself, have started out with writing a bootloader, but it is a lot of work for something that really doesn't move your kernel design forward. My recommendation is to use writing a very simple two-stage bootloader as a warm-up exercise, something to get you into the swing of assembly coding and low-level access, but not to rely on the result unless you are certain that your OS design won't work with an existing production-quality loader (which is very, very unlikely).
Beyond that, it is up to you. I would recommend reading the pages on "What Order Should I Make Things In", for both inspiration and a bit of a chuckle.
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.
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.
Re: I'm new
Thanks for the information
So far I have decided to target the P6 Micro-architecture.
I have the cross compilers built and I have finished Bare Bones.
Next I need to read up on process organization, interrupts, and memory management.
I know I shouldn't be worrying about something so silly, but I'm struggling to come up with a name.
Oh well, I'm sure that will come later.
So far I have decided to target the P6 Micro-architecture.
I have the cross compilers built and I have finished Bare Bones.
Next I need to read up on process organization, interrupts, and memory management.
I know I shouldn't be worrying about something so silly, but I'm struggling to come up with a name.
Oh well, I'm sure that will come later.
- Nutterts
- Member
- Posts: 159
- Joined: Wed Aug 05, 2015 5:33 pm
- Libera.chat IRC: Nutterts
- Location: Drenthe, Netherlands
Re: I'm new
Just use whatever pops into your mind as a codename to use for version control and such. You can rename it whenever and how many times you like. Or you end up liking the codename so must you stick with it. No worries.d3crypt wrote:I know I shouldn't be worrying about something so silly, but I'm struggling to come up with a name.
Oh well, I'm sure that will come later.
"Always code as if the guy who ends up maintaining it will be a violent psychopath who knows where you live." - John F. Woods
Failed project: GoOS - https://github.com/nutterts/GoOS
Failed project: GoOS - https://github.com/nutterts/GoOS
- BASICFreak
- Member
- Posts: 284
- Joined: Fri Jan 16, 2009 8:34 pm
- Location: Louisiana, USA
Re: I'm new
Welcome to OSDev.
Honestly what's in a name? I just recently dropped the name MyOS for BOS, and I'll probably change it again when it is more "functional" to something that (may or may not) better suit it...
Anyways, I wish you the best of luck (and patience) in all your OSDev endeavors.
Hope you have a notebook or ten (the paper type of notebook)
Well for starters most of us used MyOS as the first name. (not much of a name, but if you say MyOS anywhere here we know it is "your" os...)d3crypt wrote:I know I shouldn't be worrying about something so silly, but I'm struggling to come up with a name.
Oh well, I'm sure that will come later.
Honestly what's in a name? I just recently dropped the name MyOS for BOS, and I'll probably change it again when it is more "functional" to something that (may or may not) better suit it...
Anyways, I wish you the best of luck (and patience) in all your OSDev endeavors.
Hope you have a notebook or ten (the paper type of notebook)
BOS Source Thanks to GitHub
BOS Expanded Commentary
Both under active development!
BOS Expanded Commentary
Both under active development!
Sortie wrote:
- Don't play the role of an operating systems developer, be one.
- Be truly afraid of undefined [behavior].
- Your operating system should be itself, not fight what it is.
Re: I'm new
How does FreeMicronix sound? Cheesy, yes,BASICFreak wrote:Welcome to OSDev.Well for starters most of us used MyOS as the first name. (not much of a name, but if you say MyOS anywhere here we know it is "your" os...)d3crypt wrote:I know I shouldn't be worrying about something so silly, but I'm struggling to come up with a name.
Oh well, I'm sure that will come later.
Honestly what's in a name? I just recently dropped the name MyOS for BOS, and I'll probably change it again when it is more "functional" to something that (may or may not) better suit it...
Anyways, I wish you the best of luck (and patience) in all your OSDev endeavors.
Hope you have a notebook or ten (the paper type of notebook)
but as you said, I can change it later.
And I think I will have to go get a notebook or few today then
I decided to use the Artistic License 2.0 with a few minor changes.
- eryjus
- Member
- Posts: 286
- Joined: Fri Oct 21, 2011 9:47 pm
- Libera.chat IRC: eryjus
- Location: Tustin, CA USA
Re: I'm new
Welcome!
It was a hell of a lesson.
I couldn't agree more. I thought I would get slick and only put the things I thought were ready for public viewing on GitHub and keep my own repository on a Subversion server on my VM Server. Then, I suffered a 2-disk failure on my SAN. Very very bad news. I had some of what I was working on stored on single disks here and there and I was able to cobble together a good part of what I lost -- but not all. Now, everything I do is saved to GitHub.Schol-R-LEA wrote:Also, don't even consider working on a project this size without version control [...]
It was a hell of a lesson.
Adam
The name is fitting: Century Hobby OS -- At this rate, it's gonna take me that long!
Read about my mistakes and missteps with this iteration: Journal
"Sometimes things just don't make sense until you figure them out." -- Phil Stahlheber
The name is fitting: Century Hobby OS -- At this rate, it's gonna take me that long!
Read about my mistakes and missteps with this iteration: Journal
"Sometimes things just don't make sense until you figure them out." -- Phil Stahlheber
Re: I'm new
Good thing its up on Github alreadyeryjus wrote:Welcome!
I couldn't agree more. I thought I would get slick and only put the things I thought were ready for public viewing on GitHub and keep my own repository on a Subversion server on my VM Server. Then, I suffered a 2-disk failure on my SAN. Very very bad news. I had some of what I was working on stored on single disks here and there and I was able to cobble together a good part of what I lost -- but not all. Now, everything I do is saved to GitHub.Schol-R-LEA wrote:Also, don't even consider working on a project this size without version control [...]
It was a hell of a lesson.