Stránka 1 z 1

Vlastní (nadstandardní) server - assembler, Linux, ... ?

Napsal: 22 srp 2009 22:54
od Paulí
Dobrý den,
prosím Vás o pomoc.

Přemýšlím o vlastním serveru, který by přes net pomocí TCP komunikoval s připojenými klienty a taky aby fungoval jako klasický server pro web (nevím, jaký je rozdíl mezi TCP a web serverem - zatím jsem to neřešil). Zkoumal jsem programování v C# pro windows, kde lze snadno vytvořit vzájemné spojení, ale dost mě vadilo, že PC (serverové) zbytečně využívá paměť, procesor a HDD pro funkce samostatného OS, což zpomaluje chod celé komunikace serveru a hlavně mě vadí nutnost antiviru.

Přemýšlel jsem nad tím, že bych si to všechno naprogramoval v assembleru (jako celý OS od boot sektoru - jak bych jinak využil opravdové maximum výkonu ? :D ). Že by po spuštění PC program načetl potřebné data (soubory, ale bez klasického souborového formátu, který obsahuje zbytečné data a atributy, to abych ušetřil každý bit na HDD :D ) z HDD do RAMek a dále bych už nepotřeboval tolik přistupovat k HDD (zde zůstanou pouze data, která se tak často nepoužívaj). Pak už bych jen kontroloval požadavky od TCP klientů a posílal jim ty data z RAMek. Nepotřeboval bych SW na monitor a ani na žádné vstupní zařízení (klávesnice, myš, ...) a o to by to šlapalo rychleji. A antivir by taky nebyl potřeba, protože všechny přijaté příkazy z netu zpracuje jen ten program a tak nemůže žádný kod udělat nic nekalého. Dobrý nápad, avšak naprogramovat to by nebylo vůbec jednoduché a bylo by to na několik roků až století.

Tak teda bych se chtěl zeptat, zda neexistuje nějaký hotový řešení (jako například zdrojové kody pro ten assembler) a nebo nějaká pěkná distribuce linuxu, která by nebyla náročná a šlo by v ní jednoduše vytvořit takovýto stálé serverové spojení. Program pro tu distribuci si klidně sestavím sám, jen když nebude v jazyce C++ (ten patří mezi ty, které fakt ani trochu nechápu :-( ). Ale hlavně, ať je tam možnost nastavení, aby všechny net příkazy zpracovávala jen ta aplikace (aby nebyl třeba antivir), aby šlo říct OS jaké soubory přednahrát do paměti a to bez stránkovacího souboru a pokud možno, aby šlo podle sebe urovnávat data v RAM i na HDD.

Nevíte o něčem takovým ?

Děkuji moc za pomoc.
S pozdravem Paulí.

Re: Vlastní (nadstandardní) server - assembler, Linux, ... ?

Napsal: 22 srp 2009 23:00
od Radix

Re: Vlastní (nadstandardní) server - assembler, Linux, ... ?

Napsal: 22 srp 2009 23:32
od X
A assembler znáš dobře? Protože ten je o mnoho složitější než nějaké Céčko, které nechápeš ... Dříve jsem občas nějakou menší rutinu spíchl přímo ve strojáku Z80, sice ne přímo v hexa, jen v decimální soustavě kódu ... musel bys znát dopodrobna přesné specifikace hardwaru, obrovské bichle, aby sis udělal vlastní osekaný OS. V assembleru se dnes programuje výjimečně, ovladače hardwaru a podobně.

Re: Vlastní (nadstandardní) server - assembler, Linux, ... ?

Napsal: 23 srp 2009 21:58
od domitea
Tady je neco tvorbě os :smile: .
odkaz
částečně počestěné

Re: Vlastní (nadstandardní) server - assembler, Linux, ... ?

Napsal: 23 srp 2009 22:24
od Unholy
Dost záleží co konkrétně chceš mít na tom serveru spuštěné. Pokud uvažuješ o nějakém vlastním řešení, hádal bych že na to máš vyhrazený stroj. O jakou HW konfiguraci se jedná? Z vlastní zkušenosti můžu říct že v podstatě cokoli na web/ftp server stačí. Hlavně jestli to máš u sebe na půdě pro pár kamarádů... Mám doma celeron E1400 (2ghz) . Běží tam ftp, web/MySQL/PHP, občas torrenty, a ještě to routuje a firewaluje pro 50/10Mbps linku. CPU load v jednotkách procent. Jestli opravdu nemáš nějaké specifické požadavky, tak bych se vyprd na nějaký domácí bastl a dal tam FreeNAS nebo něco na FreeBSD.

Re: Vlastní (nadstandardní) server - assembler, Linux, ... ?

Napsal: 24 srp 2009 15:01
od Paulí
to Radix:
Ten ubuntu je zajímavý nápad. (Zarím testuju jen v VirtualBoxu) Když nainstaluju jen základ, tak je velmi odlehčený (jen konzolová verze), ale nějak jsem se nemohl prokousat k tomu, abych přijímal všechny net zprávy do jedné aplikace, která by uměla i TCP. No je to složitý ...

to X:
Assembler není tak složitý. Prostě pracuješ s registry funkcemi přerušení (int13, ...), kdežto C++ jsou nekonečný řádky, které vedou do pekel (aspoň podle mě, protože to nedokážu moc pochopit).

to domitea:
Díky moc. Ale o netu tam nebyla zmínka. :-(

to Unholy:
Zatím žádný PC pro server nemám. (Mimo jedné testovací krabice - 266Mhz, 96Mb RAM, 3GB HDD) Jde mi zatím spíš o testování spojení mezi serverem a klientem a později z toho bude server pro veřejné komunikace.


Jinak se stále prokousávám různými distribucemi linuxu, ale zatím nic moc inteligentního. Ještě mě napadá - není nějaká distribuce jako takovej základ, která načte všechny info o HW a vytvoří na ně jednoduché funkce [třeba čti_HDD(adresa, počet sektorů, cílová adresa RAM)] a spustí daný soubor (předá řizení) ?

Jinak díky všem přizpívajícím za pomoc. Pokusím se ještě něco na netu najít, ale pokud máte nějaký nápad, napište. Dík.

Re: Vlastní (nadstandardní) server - assembler, Linux, ... ?

Napsal: 24 srp 2009 21:35
od domitea
A co takhle použít jádro linuxu a napsat si na vlastní "nástavbu"?

Re: Vlastní (nadstandardní) server - assembler, Linux, ... ?

Napsal: 24 srp 2009 21:39
od Paulí
Nad tím už jsem taky přemýšlel, ale ....

Stáhnul jsem si nejnovější kernel (z kernel.org), rozbalil a vyplivlo to na mě několik desítek tisíc souborů a nějak jsem nepřišel na to co s tím. Ach jo ... zase C++ .... v souboru readme nějaký návod je, ale nic co by mě pomohlo .....

To je tak, když člověk má velké plány, ale malé vědomosti a zkušenosti ...

Re: Vlastní (nadstandardní) server - assembler, Linux, ... ?

Napsal: 25 srp 2009 19:36
od Paulí
Ještě tak mě napadá, nejde udělat něco jako firewall pro windows (XP či 7), abych mohl právě všechny NET zprávy příjmout do té jedné aplikace ? Pak bych už jen vypnul veškeré vzhledové doplňky windows a zbytečné služby a třeba by to bylo vcelku rychlé a drivery ani další problémy okolo bych řešit nemusel vůbec.

Něco takového by nebylo ? Nejlépe nějaký návod nebo celý kod pro C# a nebo popřípadě C++, že bych si z toho udělal DLL.
(Googlil jsem a Bingoval, ale nic ...)

Re: Vlastní (nadstandardní) server - assembler, Linux, ... ?

Napsal: 02 zář 2009 21:31
od domitea
On existuje projekt cosmos, coz je os napsane v c#, ale podle me to nestoji za nic(ani kalkulacku jsem neudelal --> error :evil: )