OSDev.org

The Place to Start for Operating System Developers
It is currently Sat May 18, 2024 8:56 pm

All times are UTC - 6 hours




Post new topic Reply to topic  [ 24 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: POSTING RULES - REQUIRED READING - FAQ
PostPosted: Sat Sep 15, 2007 4:17 pm 
Offline
Member
Member
User avatar

Joined: Wed Oct 18, 2006 3:45 am
Posts: 9301
Location: On the balcony, where I can actually keep 1½m distance
To all the newcomers to this forum:

Prerequisites
OS Development is one of the most difficult aspects of programming. Without the needed skills, you will not make it. If you don't meet the Prerequisites, we recommend that you gather the needed experience in different subjects first. We are not here to babysit people who are unable to program decently.

Frequently asked questions
Many questions have been asked, and many have been answered already. Everything to get you started is available in the wiki. A list of frequently asked questions can be found on the FAQ page. Furthermore, you should download the manuals for the platform you want to develop on. For the PC, that means you should get the software development manuals from Intel or AMD and read them through. If you don't understand them, read again.

How not to make a fool of yourself
We can see from your style of questioning how hard you have tried to solve the problem. Do read the essay on how to ask questions the smart way, and the related notes on the wiki. Offences will result in flames, STFWs, RTFMs and other noob-related insults.

I wish you all good luck with your endeavours.

_________________
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]


Last edited by Combuster on Mon May 05, 2008 2:41 pm, edited 3 times in total.

Top
 Profile  
 
 Post subject:
PostPosted: Sun Sep 16, 2007 10:10 am 
Offline
Member
Member
User avatar

Joined: Thu Dec 21, 2006 7:42 pm
Posts: 1391
Location: Unknown. Momentum is pretty certain, however.
I also suggest making your titles of your posts so they tell us whats going on and what you want to know.

Something like GETTING STARTED!?!!!?!!! is going to get you flamed.

Never Ever type your entire post in IM slang.

Don't offend people.

Be willing to share your opinion, but listen to others and do research before you blankly say they're wrong.

-JL

_________________
SeaOS: Adding VT-x, networking, and ARM support
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io


Last edited by piranha on Tue Apr 01, 2008 5:46 pm, edited 1 time in total.

Top
 Profile  
 
 Post subject:
PostPosted: Wed Sep 19, 2007 1:10 am 
Offline
Member
Member

Joined: Sun Jan 14, 2007 9:15 pm
Posts: 2566
Location: Sydney, Australia (I come from a land down under!)
Before you even think about OS development, make sure you understand C and have worked on at least 1 large-scale project in the language before.

You should also understand how to use a command line. If using Windows, you should know how to modify your PATH (if using DJGPP) or get some experience with Cygwin.

Write some "hello world!" programs and invoke the compiler on them via the command line (preferably GCC). Learn about linker scripts and what they do.

Read [wiki]How_To_Ask_Questions[/wiki] first. Actually, read all the getting started topics in the wiki and then ask your questions.

_________________
Pedigree | GitHub | Twitter | LinkedIn


Top
 Profile  
 
 Post subject:
PostPosted: Wed Sep 19, 2007 8:28 am 
Offline
Member
Member
User avatar

Joined: Thu Sep 28, 2006 10:32 am
Posts: 1309
Location: Slovakia
pcmattman wrote:
Before you even think about OS development, make sure you understand C

This isn't required. ;) Even with BASIC and some knowledge of assembly you can make a 32-bit OS, don't forget FreeBASIC :)

//EDIT: The quote got messed up somehow, before making this thread as sticky, it was quoted correctly, so I've fixed it. ;)

Regards
inflater

_________________
My web site: http://inflater.wz.cz (Slovak)
Derrick operating system: http://derrick.xf.cz (Slovak and English :P)


Last edited by inflater on Wed Sep 19, 2007 12:39 pm, edited 1 time in total.

Top
 Profile  
 
 Post subject:
PostPosted: Wed Sep 19, 2007 11:00 am 
Offline
Member
Member
User avatar

Joined: Wed Oct 18, 2006 3:45 am
Posts: 9301
Location: On the balcony, where I can actually keep 1½m distance
inflater wrote:
This isn't required. ;) Even with BASIC and some knowledge of assembly you can make a 32-bit OS, don't forget FreeBASIC :)

what isn't required?
1. C knowledge? Everything you find is either in c or assembly, and OSDeving in higher languages like FreeBasic requires a mindset you do not get from normal programming.
2. Experience with larger projects? obviously this holds as good for basic as it does for C. If you can't design and manage your code properly, you'll be doomed even before you started.
3. command line experience? Freebasic is command line oriented.
The similar line of reasoning can be applied to Pascal, Java and any other language you want to try.

_________________
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]


Top
 Profile  
 
 Post subject:
PostPosted: Wed Sep 19, 2007 12:44 pm 
Offline
Member
Member
User avatar

Joined: Thu Sep 28, 2006 10:32 am
Posts: 1309
Location: Slovakia
Also, to be said: Know your host OS from A to Z before doing a new one ! ;)

Combuster wrote:
3. command line experience?

Of course, I fully agree with this. I do have the full knowledge about DOS prompt syntax, look, and commands, basic, and extended thingies. ;) But I can't say the same about bash in *nix though :lol:
I wonder why I have the "open DOS command window here" at the main directory/file submenu in WinXP :lol: Some things are more easily done at the command prompt, unlike the GUI... That's why I do not like Vista as it doesn't have the DOS subsystem (no more posts about this OS please :D)

Regards
inflater

_________________
My web site: http://inflater.wz.cz (Slovak)
Derrick operating system: http://derrick.xf.cz (Slovak and English :P)


Top
 Profile  
 
 Post subject:
PostPosted: Fri Sep 21, 2007 4:49 pm 
Offline
Member
Member
User avatar

Joined: Mon Jun 05, 2006 11:00 pm
Posts: 2294
Location: USA (and Australia)
inflater wrote:
That's why I do not like Vista as it doesn't have the DOS subsystem


MS is trying to _very_ gradually faze out the old cmd in favour for Windows PowerShell (a scriptable .NET command line environment). It is one of the most powerful shells I've come across. You can directly interact with any .NET dll which means you could, theoretically, have a PowerShell script that could render something on screen with DirectX, or act as a miniature web server using System.Net.

_________________
My OS is Perception.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Sep 21, 2007 4:57 pm 
Offline
Member
Member
User avatar

Joined: Thu Jan 04, 2007 3:29 pm
Posts: 1466
Location: Noricum and Pannonia
MessiahAndrw wrote:
inflater wrote:
That's why I do not like Vista as it doesn't have the DOS subsystem


MS is trying to _very_ gradually faze out the old cmd in favour for Windows PowerShell (a scriptable .NET command line environment).

It's always interesting to me how as Windows gets more and more 'advanced', it seems to simply incorporate more and more features that have been in *nix for ~30 years.

_________________
C8H10N4O2 | #446691 | Trust the nodes.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Sep 21, 2007 5:03 pm 
Offline
Member
Member
User avatar

Joined: Mon Jun 05, 2006 11:00 pm
Posts: 2294
Location: USA (and Australia)
Alboin wrote:
MessiahAndrw wrote:
inflater wrote:
That's why I do not like Vista as it doesn't have the DOS subsystem


MS is trying to _very_ gradually faze out the old cmd in favour for Windows PowerShell (a scriptable .NET command line environment).

It's always interesting to me how as Windows gets more and more 'advanced', it seems to simply incorporate more and more features that have been in *nix for ~30 years.


It's separated from most Unix shells since their pipelines are based around text. PowerShell works around the principle of passing around .NET object (which can be converted to text for output)

_________________
My OS is Perception.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Sep 21, 2007 5:11 pm 
Offline
Member
Member
User avatar

Joined: Thu Jan 04, 2007 3:29 pm
Posts: 1466
Location: Noricum and Pannonia
MessiahAndrw wrote:
PowerShell works around the principle of passing around .NET object (which can be converted to text for output)

Yes, but if we consider a .NET object to simply be a piece of executable code, how is it any different from a normal *nix shell using programs like cat and grep? It's just syntactic sugar.

_________________
C8H10N4O2 | #446691 | Trust the nodes.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Sep 21, 2007 10:31 pm 
Offline
Member
Member
User avatar

Joined: Tue Oct 17, 2006 6:06 pm
Posts: 1437
Location: Vancouver, BC, Canada
Alboin wrote:
Yes, but if we consider a .NET object to simply be a piece of executable code,


An object is code + data, not just code.

Quote:
how is it any different from a normal *nix shell using programs like cat and grep? It's just syntactic sugar.


No, it's not. The difference is that *nix commands pass unstructured text between each other. if I do "nm foo.so | grep main", grep is just getting a stream of text that it has to parse. In PowerShell, commands pass structured data around instead of text, so it's more like composing sub-programs in a higher-level programming language than just doing text processing over and over again.

_________________
Top three reasons why my OS project died:
  1. Too much overtime at work
  2. Got married
  3. My brain got stuck in an infinite loop while trying to design the memory manager
Don't let this happen to you!


Top
 Profile  
 
 Post subject:
PostPosted: Fri Sep 21, 2007 10:39 pm 
Offline
Member
Member
User avatar

Joined: Thu Jan 04, 2007 3:29 pm
Posts: 1466
Location: Noricum and Pannonia
Colonel Kernel wrote:
No, it's not. The difference is that *nix commands pass unstructured text between each other. if I do "nm foo.so | grep main", grep is just getting a stream of text that it has to parse. In PowerShell, commands pass structured data around instead of text, so it's more like composing sub-programs in a higher-level programming language than just doing text processing over and over again.

But it's so similar. The only difference is that it passes objects. That's why I called it syntactic sugar. It's just makes everything cleaner to write; there's still no new ideas. The thing to change would be the idea of pipes, not their format.

_________________
C8H10N4O2 | #446691 | Trust the nodes.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Sep 21, 2007 11:04 pm 
Offline
Member
Member
User avatar

Joined: Tue Oct 17, 2006 6:06 pm
Posts: 1437
Location: Vancouver, BC, Canada
Alboin wrote:
But it's so similar. The only difference is that it passes objects. That's why I called it syntactic sugar.


Ok, let me spell it out for you. Let's say you write a *nix command (program or script) that dumps out a table of information in comma-separated values. I'll use a really dumb example: firstname,lastname,phonenumber. If you want to write another *nix command that processes that table of information somehow. Your new command will have to do text parsing. The data is unstructured -- it has no schema. Yes it is flexible, but parsing is a pain in the butt.

If you do the same thing in PowerShell, you can define a type that includes fields for firstname, lastname, and phonenumber. Your first command can create instances of this type, and your second program will simply receive them and use them, no parsing required.

Quote:
It's just makes everything cleaner to write; there's still no new ideas.


I've never heard of an objected-oriented shell before PowerShell. Have you? Besides, isn't making things cleaner to write the whole point? This isn't about satisfying your personal sense of aesthetics...

Quote:
The thing to change would be the idea of pipes, not their format.


Why? Pipes are *nixes gift to the world! :D

_________________
Top three reasons why my OS project died:
  1. Too much overtime at work
  2. Got married
  3. My brain got stuck in an infinite loop while trying to design the memory manager
Don't let this happen to you!


Top
 Profile  
 
 Post subject:
PostPosted: Fri Sep 21, 2007 11:18 pm 
Offline
Member
Member
User avatar

Joined: Thu Jan 04, 2007 3:29 pm
Posts: 1466
Location: Noricum and Pannonia
Colonel Kernel wrote:
Alboin wrote:
But it's so similar. The only difference is that it passes objects. That's why I called it syntactic sugar.


Ok, let me spell it out for you. Let's say you write a *nix command (program or script) that dumps out a table of information in comma-separated values. I'll use a really dumb example: firstname,lastname,phonenumber. If you want to write another *nix command that processes that table of information somehow. Your new command will have to do text parsing. The data is unstructured -- it has no schema. Yes it is flexible, but parsing is a pain in the butt.

If you do the same thing in PowerShell, you can define a type that includes fields for firstname, lastname, and phonenumber. Your first command can create instances of this type, and your second program will simply receive them and use them, no parsing required.

I kind of got that the first three times...

Colonel Kernel wrote:
I've never heard of an objected-oriented shell before PowerShell. Have you?

This is from 1987. The only problem is that I can't tell if it really has any relation to what we're talking about or not... :cry:

_________________
C8H10N4O2 | #446691 | Trust the nodes.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Sep 22, 2007 9:11 am 
Offline
User avatar

Joined: Sat Sep 22, 2007 9:04 am
Posts: 3
Location: WuHan/China/Asia
My English is not very good, but I will study hard !

PS: This is my first reply :-)


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 24 posts ]  Go to page 1, 2  Next

All times are UTC - 6 hours


Who is online

Users browsing this forum: Bing [Bot], wishedtobe and 10 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group