How to make the os networking?
How to make the os networking?
How to make the os networking? I searched Google and this wiki ,but I only got little inforrmation,I don't have any train of thought to do this.
I found http://forum.osdev.org/viewtopic.php?f= ... rk#p227575,but it doesn't give me some advice.
What should I do? Thank you very much!
I found http://forum.osdev.org/viewtopic.php?f= ... rk#p227575,but it doesn't give me some advice.
What should I do? Thank you very much!
Re: How to make the os networking?
* Implement the driver for the network card, to the level that you can send and receive proper (ethernet or other) packets.
* Implement higher level protocol like IPv4, IPv6, IPX etc.
* Implement higher level protocol like UDP, TCP.
* Implement higher level protocol like networking socket.
* Build and run!
* Implement higher level protocol like IPv4, IPv6, IPX etc.
* Implement higher level protocol like UDP, TCP.
* Implement higher level protocol like networking socket.
* Build and run!
Learn to read.
Re: How to make the os networking?
Oh,I am more interested at the first one than others,can you tell me how to do ? (I know I need to do all. But I need to do the first one first.)dozniak wrote:* Implement the driver for the network card, to the level that you can send and receive proper (ethernet or other) packets.
* Implement higher level protocol like IPv4, IPv6, IPX etc.
* Implement higher level protocol like UDP, TCP.
* Implement higher level protocol like networking socket.
* Build and run!
Thank you!!
Re: How to make the os networking?
You basically need to write a device driver.
Pick a network card that you want to support, find the documentation and write that driver.
Bochs emulates several devices for which it is relatively easy to find documentation (for example the NE2000 card is fairly well documented, with code samples and data sheets). Other cards in the wild might be worse documented.
I'd start with ne2k and learn how the send/receive machinery works.
Pick a network card that you want to support, find the documentation and write that driver.
Bochs emulates several devices for which it is relatively easy to find documentation (for example the NE2000 card is fairly well documented, with code samples and data sheets). Other cards in the wild might be worse documented.
I'd start with ne2k and learn how the send/receive machinery works.
Learn to read.
- Bender
- Member
- Posts: 449
- Joined: Wed Aug 21, 2013 3:53 am
- Libera.chat IRC: bender|
- Location: Asia, Singapore
Re: How to make the os networking?
It isn't that easy, To get started you first need to learn how to make a serial[pretty easy] file transfer, like transfering files from a Linux machine to your OS through a serial port. That would be a learning tool. Then you would need to implement the TCP/IP, so that your OS can communicate, then you would implement a NIC Driver,
If it was that easy I would have done it ages ago.......
You can have a look at MINIX3 or Linux, they do have a lot of drivers, try to translate them so that they fit into your own operating system. Then you will implement a HTML Parser, to parse HTMLcode in webpages, if possible then try to implement a CSS and a JScript parser. That's all.
If it was that easy I would have done it ages ago.......
You can have a look at MINIX3 or Linux, they do have a lot of drivers, try to translate them so that they fit into your own operating system. Then you will implement a HTML Parser, to parse HTMLcode in webpages, if possible then try to implement a CSS and a JScript parser. That's all.
"In a time of universal deceit - telling the truth is a revolutionary act." -- George Orwell
(R3X Runtime VM)(CHIP8 Interpreter OS)
(R3X Runtime VM)(CHIP8 Interpreter OS)
Re: How to make the os networking?
Um, what?sid123 wrote:Then you will implement a HTML Parser, to parse HTMLcode in webpages, if possible then try to implement a CSS and a JScript parser. That's all.
Learn to read.
Re: How to make the os networking?
Actually, common ethernet hardware is easier to program and set up than common serial hardware. The serial hardware has far more switches and modes of operation. Going from zero to being able to ping other computers on the network isn't that hard. UDP is a small step beyond that. TCP, on the other hand, is a much bigger step.sid123 wrote:To get started you first need to learn how to make a serial[pretty easy] file transfer
Every universe of discourse has its logical structure --- S. K. Langer.
Re: How to make the os networking?
Tyndur's ne2k driver is about 10kb of source C.
It works in bochs at least and can send and receive packets. Building IP and UDP headers on top of this is trivial.
It works in bochs at least and can send and receive packets. Building IP and UDP headers on top of this is trivial.
Learn to read.
- Bender
- Member
- Posts: 449
- Joined: Wed Aug 21, 2013 3:53 am
- Libera.chat IRC: bender|
- Location: Asia, Singapore
Re: How to make the os networking?
See that, link he referred it shows a webbrowser displaying a webpage, of course he, has to implement a parser if he wants it like that.dozniak wrote:Um, what?sid123 wrote:Then you will implement a HTML Parser, to parse HTMLcode in webpages, if possible then try to implement a CSS and a JScript parser. That's all.
"In a time of universal deceit - telling the truth is a revolutionary act." -- George Orwell
(R3X Runtime VM)(CHIP8 Interpreter OS)
(R3X Runtime VM)(CHIP8 Interpreter OS)
- Bender
- Member
- Posts: 449
- Joined: Wed Aug 21, 2013 3:53 am
- Libera.chat IRC: bender|
- Location: Asia, Singapore
Re: How to make the os networking?
That matters person to, person, I programmed a serial easily for my OS, Maybe you will find a TCP/IP Driver easy. It was just a suggestion.....bwat wrote:Actually, common ethernet hardware is easier to program and set up than common serial hardware. The serial hardware has far more switches and modes of operation. Going from zero to being able to ping other computers on the network isn't that hard. UDP is a small step beyond that. TCP, on the other hand, is a much bigger step.sid123 wrote:To get started you first need to learn how to make a serial[pretty easy] file transfer
The problem is that none of the hardware manufacturers would give him drivers, unlike other OSes, I guess networking for a hobby OS is too much, unless you have a, team to work with.
"In a time of universal deceit - telling the truth is a revolutionary act." -- George Orwell
(R3X Runtime VM)(CHIP8 Interpreter OS)
(R3X Runtime VM)(CHIP8 Interpreter OS)
Re: How to make the os networking?
What's a TCP/IP driver?sid123 wrote:I programmed a serial easily for my OS, Maybe you will find a TCP/IP Driver easy.
If you mean TCP/IP stack, then no, that's not easy and I never claimed it was.
Yet there is plenty of evidence to prove you wrong.sid123 wrote: I guess networking for a hobby OS is too much, unless you have a, team to work with.
Every universe of discourse has its logical structure --- S. K. Langer.
- Bender
- Member
- Posts: 449
- Joined: Wed Aug 21, 2013 3:53 am
- Libera.chat IRC: bender|
- Location: Asia, Singapore
Re: How to make the os networking?
Yup there is a great evidence to prove me wrong!
You're RIGHT!
I learned today in my class that Linux was first a hobby OS?????!?!!!!?!?!?!?!?!?!?!?!?!?!!?!?!?!?!?!?!?!?!!?!!?!?!!?!?!
I am wrong...
You're RIGHT!
I learned today in my class that Linux was first a hobby OS?????!?!!!!?!?!?!?!?!?!?!?!?!?!!?!?!?!?!?!?!?!?!!?!!?!?!!?!?!
I am wrong...
"In a time of universal deceit - telling the truth is a revolutionary act." -- George Orwell
(R3X Runtime VM)(CHIP8 Interpreter OS)
(R3X Runtime VM)(CHIP8 Interpreter OS)