This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
grabie2's profile picture

netOS - first truly multitasking OS with real world networking build in(not yet)

Started by grabie2, 08 January 2013 - 05:02 AM
grabie2 #1
Posted 08 January 2013 - 06:02 AM
netOS is being completely rewritten, it will take long time before release
I want to show everyone the first really early alpha of my new OS for Computer Craft!
Why I decided to make new one, when there are tons of them? Simple question - cause there aren't OS like that!

I made some changes to how programs work, see: http://netos.robotronika.pl/wiki/netOS


I'm looking for someone to help me with that pretty difficult task, I will need:
- printer driver (printing queue, page management, paper/ink management, API for it, user application[console], future printing over network, mapping network printers)
- beta tester
- someone to help programming GUI
- printer application for GUI that will be created
- possibly more

It has installer now(http not needed!)!

EDIT: I didn't say how to change consoles, user CTRL+<number> ;)/> You know Linux-like. By default you have 4 VTYs, but in etc/vty you can change it
If you install netOS in other directory than "/" of your computer, change first variable in boot file

FEATURES (current):
  • multiple (color)consoles (VTYs - virtual terminal), currently doesn't support colors
  • flexible API and driver system
  • truly multitasking
FEATURES (near future):
  • change how API system works, to make using textutils possible DONE
  • complete rednet layer of network
  • complete IP layer of network ( IP and ARP protocols )
  • complete UDP protocol
  • complete TCP protocol
  • complete telnet functionality
FEATURES (later future):
  • complete DHCP protocol
  • complete HTTP protocol
  • complete FTP protocol
  • complete DNS protocol
FEATURES (planned):
  • AES cryptography, so protocols like SSH, VPN, SSL
  • more!
If you want to learn more about networking see project page: http://netos.robotronika.pl/wiki/Network (still need to be filled with more content)
If you want to keep most up to date with project see development thread on CC forums

IF YOU FOUND BUG, WANT TO REQUEST NE FUNCTIONALITY OR MAKE SUGGESTION, use my ticket system: http://netos.robotronika.pl/newticket

CURRENT PACKAGE DOESN'T HAVE NETWORKING THINGS IN IT
Currently I don't have installer, but will have soon.

I'm working hard on it, but I need beta testers, that's why I'm posting it in that early beta. Probably before end of this week I'll make VTYs colorful, then I'll jump straight into network. I really want to see how this will come up.

Changelog:
Version "alpha 1":
- now it has installer(WARNING! nearly 4000 lines): http://pastebin.com/iUcac9qz or in CC:

pastebin get iUcac9qz installer
- I'm not sure what I changed in core function

Version "indev 3":
[attachment=888:netOS.zip]
- fixed few minor bugs
- fixed big security hole, caused by missed reference
- now textutils API work correctly

Version "indev 2":
- added color support for VTYs

Version "indev":
- initial release

Screens:
SpoilerLittle tease about dialogAPI ;)/>


Another tease, this time networking ;)/>


Not much yet, but when I'll have something to show, I'll post it here
Few important links:
Installer(WARNING! nearly 4000 lines): http://pastebin.com/iUcac9qz or in CC:

pastebin get iUcac9qz installer
Project page: http://netos.robotronika.pl
Project SVN: http://svn.robotronika.pl/svn/netos
username: netos
password: netos

Have any questions? Found typo, language mistake? Fell free to post it in this thread, however bugs, feature requests, suggestions please sent to ticket system


Thanks for support!


netOS and all included programs made by grabie2 are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
Edited on 01 March 2013 - 09:40 AM
Lyqyd #2
Posted 08 January 2013 - 06:29 AM
Definitely not the first multitasking OS, unless you have a very strange definition of "multitasking". Just FYI. :)/>
grabie2 #3
Posted 08 January 2013 - 07:01 AM
Thanks for reply!

I didn't mentioned it yet, cause it's not ready, but… There will be full process permission system, without user permission program will not be able to change important files, or use unsafe APIs. I also have in mind something like file system permissions, but that will go after networking.

EDIT:
BTW. When I started working on it, I believe, the only other multitasking stuff was luashed ported by CoolisTheName007.
Edited on 08 January 2013 - 10:59 AM
nutcase84 #4
Posted 09 January 2013 - 07:27 AM
Screenies please! Good job btw!
grabie2 #5
Posted 09 January 2013 - 07:45 AM
Thanks for reply!

I will put screens, whet there will be something to show, for now there are only loading APIs, drivers, diverAPIs and VTYs. When OS boots up you see normal craftOS prompt(will be replaced later), and you can swich between (default) 4 consoles, by CTRL+<number>. That's all, however all multitasking and OS functionality + required APIs is about 1 500 lines of code, add to that not required APIs(included) and you have 2000 lines of code. That IS a lot. With networking things that are not here it's around 2 500 lines, that is only rednet layer and 30% of IP protocol + 40% od ARP.
I will make screens of packet tracing and dialogAPI, when they are ready.

EDIT: OK, added screen from booting up, all those messages are based on what you have in certain directories, for package here there will be less messages, cause I didn't put networking stuff in release package.
Edited on 09 January 2013 - 07:33 AM
Lyqyd #6
Posted 09 January 2013 - 09:31 AM
EDIT:
BTW. When I started working on it, I believe, the only other multitasking stuff was luashed ported by CoolisTheName007.

Well, if the start date of your post over in General (14th of December) is any indication, it certainly wasn't the only other multitasking stuff. I posted the release of LyqydOS on October 22nd, and I was late to the multitasking game back then. Before that, there was Gopher's goroutine API, and Frames/BlueFrames, and I'm sure there were several others I can't think of right now. :)/>
grabie2 #7
Posted 09 January 2013 - 09:46 AM
SO looks like I started thinking about this before LyqydOS was released ;)/> But it will be the first multitasking OS, that has full file permission system, process permissions, that comes with that much of APIs and programs and has it's own Internet-like network. ;)/>
I also have some, I think, cool ideas how to make it smaller ;)/> but not using HTTP API.
grabie2 #8
Posted 11 January 2013 - 05:13 AM
In Poland we have winter holidays and I'm leaving for about a week. Some status update - I have about 60% of IP functionality, so when I'll be back, I'm going to end this ASAP and release it. In meantime I will need someone to test multitasking, and VTYs.
Zudo #9
Posted 11 January 2013 - 05:16 AM


*cough* Linux
grabie2 #10
Posted 11 January 2013 - 05:23 AM
yea, I'm big Linux fan, but mainly windows developer ;)/>

EDIT:
Little tease about dialogAPI(yea I know Linux 'dialog' program :D/>)
Edited on 11 January 2013 - 04:38 AM
grabie2 #11
Posted 11 January 2013 - 08:37 AM
OK, I've got another screen-teaser, this time network configuration ;)/>
pielover88888 #12
Posted 11 January 2013 - 12:59 PM
O_O telnet ability?
like, open up terminal, type telnet irc.opera.com 6667 and i could irc on a virtual computer within minecraft?
lol, just wondering.
grabie2 #13
Posted 11 January 2013 - 01:08 PM
you can telnet to another computer in minecraft, but there will be software like proxy to real network(in faaaaar future)

if irc.opera.com will be pointing to IP of computer that listens on port 6667, then you will be able to run that command ;)/>
pielover88888 #14
Posted 11 January 2013 - 01:30 PM
I'm sorry, I don't understand that last part lol. I really, really, never ever ever got computercraft to work on smp, nor did my friend, and other people are mean to me so I don't go on servers, so I don't give a darn about telnetting to another computer in minecraft lol.

EDIT: (ten seconds later) Now i get it, yes, irc.opera.com:6667 is an irc server by Operanet, so, you're saying it'd work?
grabie2 #15
Posted 11 January 2013 - 02:19 PM
I'm saying that you need to build your own computer network out of CC computer with netOS installed(when it's ready) to make it work.

You will need at least DNS server and "irc" server, all will be included ;)/> However you can run them on one computer, even you can connect using "telnet" to yourself ;)/> Like in real Internet, but out of CC computers

OK, I'm going to sleep in 5 hours I'm leaving :D/>
Hope now you got it.
I'll be back in a week.
pielover88888 #16
Posted 12 January 2013 - 10:14 AM
I wasn't talking about inside computercraft irc servers, as I have no use for that whatsoever, lol.
I was talking about going on a real-world irc server from within computercraft. Now I get the feeling that "telnet", "http" and "real world networking" is just for in-between computercraft computers :P/>
grabie2 #17
Posted 12 January 2013 - 10:23 AM
yea, It is ;)/>
BUT in future there will be dedicated mod(CC addon) for netOS and there will be proxy betweeen CC and Internet
gngz #18
Posted 12 January 2013 - 11:56 PM
Its a great ideia, We can make better networks , with this we can transform a wireless network in a cable network. :D/>
pielover88888 #19
Posted 14 January 2013 - 11:21 AM
Wait, i'm still confused, is that a yes or a no on the can-go-on-real-world-irc?
Lyqyd #20
Posted 14 January 2013 - 03:49 PM
Wait, i'm still confused, is that a yes or a no on the can-go-on-real-world-irc?

That's a no, with a note about some vaporware future peripheral.
pielover88888 #21
Posted 16 January 2013 - 02:48 PM
aww :(/>
vaporware?
PixelToast #22
Posted 16 January 2013 - 03:53 PM
DHCP hurts my potato, please dont make it :3
grabie2 #23
Posted 18 January 2013 - 05:29 AM
I'm back from holidays, but tomorrow I'll get a new PC, you know moving stuff and all that. I think that at weekend I'll be able to release first networking things, but no TCP/UDP yet.

Also on new PC I'll be able to test network on over 10 000 CC computers, and I definitely will be trying that ;)/> BUT first things first, so IP layer, TCP/UDP and then debugging application.

@PixelToast
Why not DHCP? It will make configuration of network A LOT easier.

Also BIG thanks for support, I didn't expect that much posts when I'm on holidays.
RunasSudo-AWOLindefinitely #24
Posted 20 January 2013 - 04:55 PM
DHCP hurts my potato, please dont make it :3
Some people (not me) don't like GUIs. grabie3, please scrap that idea.
Some people (not me) don't like internet. grabie3, please also scrap that idea.
Some people (not me) don't like CC. grabie3, please take this down and rebuild it in RPC.

Okay, I'm just saying that saying "I don't like this. Get rid of it" is unreasonable when you are just one of the many (possible) users of netOS.
A more reasonable demand would be "I don't like this. Please don't make it compulsory", though I doubt DHCP would be compulsory.
grabie2 #25
Posted 25 January 2013 - 06:07 AM
I've written an installer, It has all files in it, but can also download newest version from pastebin(asks if you have http enabled).
Also If you follow development thread, I have done IP layer of network(at least debugging version) now I'll improve multitasking, clean up my code and then I'll program UDP/TCP. Then I'll jump to making some kind of GUI.
Ziriee #26
Posted 25 January 2013 - 06:46 AM
I would like to be a beta/bug tester
grabie2 #27
Posted 06 February 2013 - 11:06 AM
Sorry for silence from my side, but I currently have a lot of exams in school and I can't keep up with coding netOS and studying. I have new multitasking code ready to be tested. I'll go back to working on netOS during next week or next weekend(about 14-17 February).I'll try to at least get new base code working in next week, but I can't promise anything. I won't leave this project it's great fun to make internet in CC, but it also is difficult task ;)/>
I'm looking forward to find someone who is good in lua and want to help me.
NeptunasLT #28
Posted 09 February 2013 - 03:00 AM
It's Like Hacker's Promt :D/>
sytza #29
Posted 25 February 2013 - 04:33 AM
i want to be beta tester!,and im trying to learn LUA but thats not important
grabie2 #30
Posted 25 February 2013 - 05:53 AM
Thanks for your offer, but right now without at least basic knowledge of lua, you will not be able to test for me.
PixelToast #31
Posted 25 February 2013 - 02:56 PM
i can test :3
Lyqyd #32
Posted 01 March 2013 - 11:05 AM
Locked by request.