4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1
Vind ik niet. Het is gewoon leuk om zelf iets te maken!Als je aan een OS wil werken kun je beter meedeveloppen aan linux.
Verwijderd
denk je nu ecxht dat 20-30-50 man die een beetje programmeren iets kunnen maken dat ook maar enigzins compatibel is en ook nog werkt zo dat het een meerwaarde geeft boven de bestaande?
Get Real!!
PS als het idd beter is ben ik de eerste die het gebruikt maar ik geloof er niet veel van
Beginnen we meteen van de grond af of maken we een soort GUI voor DOS/Linux?
Verwijderd
Ik ben het met Onno eens dat een (nieuwe) GUI voor DOS oid geen nieuw OS is....
En als je van de grond af aan met een nieuw OS begint dan hoef je 't de eerste paar jaar nog niet over een GUI te hebben ;-)
Hoe gaat het OS heten?
Nou... dat vind ik wel weer erg pessimistisch hoor.komende jaren
[...]
eerste paar jaar
In een paar maand tijd moet je toch wel een bescheiden kernel plus wat basic drivers (toetsenbord, muis, IDE, fdc, ISA, PCI) in elkaar kunnen draaien hoor. Zeker als je het met meerdere mensen doet.
(alhoewel dat natuurlijk ook vertragend kan werken
Iemand nog goede sites/tips om mee te beginnen?
(C en assembly wou ik toch al gaan leren, en nu in de vakantie heb ik daar wat tijd voor...)
Als we hiermee doorgaan dan moeten we eerst maar eens alles op een rijtje zetten (wat moet ie kunnen, evt compatibiliteit met FAT32 [lijkt mij erg handig], wie doen er mee, wie kan wat), en iemand zou ff een site moeten maken waarop alles gecoordineerd wordt, en de progress te volgen is. Dat zou ik dan wel willen doen, want zolang ik geen C kan hebben jullie verder weinig aan mij
En de naam: Tweak OS vind ik wel wat hebben...
4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1
Hee, wie heeft er nou meer ervaring mee, jij of ik?Ja, en dan nog een filesystem, een shell etc. en dan pas de GUI.
Een nieuw bestandssysteem verzinnen is overigens niet echt nodig, of je moet wel revolutionaire plannen hebben.
Het begin zal echt in assembly moeten gebeuren hoor. C komt later pas.Dat zou ik dan wel willen doen, want zolang ik geen C kan hebben jullie verder weinig aan mij
"I sit in my room and imagine the future."
Verwijderd
Dan stel ik voor om meteen rond die kernel een grafische 1e schil te bouwen...er komt dus niks in textmode in het OS, compleet grafisch! verder bevalt de Unix methode van files opslaan met die rechten wel goed alleen nog ff ACL's erbij maken (thnx Onno). Misschien kunnen we ext3 verder helpen ontwikkelen???
Verder moeten we een goeie API maken voor game programmers die natuurlijk voor ons super gave os willen proggen...John Carmack? (altijd op vakantie die gast
Verwijderd
Maar count me in als jullie het echt gaan doen. Een eigen versie van Linux is wel beter om mee te beginnen. Gewoon om ervaring op te doen snappie.
En het blijft niet bij huis-tuin-en-keuken assembly leren, je zult een aantal interessante techsheetjes van Intel compleet moeten doorworstelen. Leuk voor als je veel tijd over hebt.Assemble leren. Nou dat doe je niet ff in je vankantie.
Idd!Dan stel ik voor om meteen rond die kernel een grafische 1e schil te bouwen...er komt dus niks in textmode in het OS, compleet grafisch!
Maar ja, alle begin is moeilijk. Ik zal morgen eens dat tasm gaan zoeken en proberen een paar simpele DOS-proggies te bouwen. Gewoon, beetje rekenen, wat karakters op scherm. ('hello world!'
4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1
int main()
{
cout << "Hello world!\n";
return 0;
}
[edit]
tering, die include wordt als html gezien
Ik kan alleen geen tasm vinden
Als iemand het weet te vinden, graag!
4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1
Verwijderd
Maar ff een klein voorbeeldje dan maar
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| ;NASM-IDE ASM Assistant Assembler Project File
[BITS 16] ;Set code generation to 16 bit mode
[ORG 0x0100] ;Set code start address to 0100h
[SEGMENT .text] ;Main code segment
mov ax,$0500
int $10
mov ax,$1112
sub bl,bl
int $10
mov ah,$12
mov bl,$20
int $10
ret
[SEGMENT .data] ;Initialised data segment |
Sorry Onno, het is geen TASM...maar wel leuke GRATIS!!! NASM
Dit progje zet je scherm op 50 regels zonder ANSI...het is maar een heel klein voorbeeld, maar dan zie je dus hoe het ongeveer zal gaan moeten...overigens heb je niks aan dit stukje code in protected mode, toch Onno?, maar ja,eerst maar de simpele DOS progjes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| ideal
model small, stdcall
p386
stack 200h
codeseg
proc main
startupcode
call print, offset DagAllemaal
exitcode 0
endp main
proc print uses ax bx si, tekst:ptr
mov si, [tekst]
mov ah, 0Eh
mov bx, 0007h
cld
print_lus:
lodsb
or al, al
jz print_klaar
int 10h
jmp print_lus
print_klaar:
ret
endp print
dataseg
DagAllemaal db "Dag allemaal!",0
end main |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| proc print uses ax si di es, tekst:ptr
mov ax, 0B800h
mov es, ax
mov di, [huidigepositie] ; en die moet je dan dus wel ergens bijhouden he? ;)
mov si, [tekst]
mov ah, 07h
cld
print_lus:
lodsb
or al, al
jz print_klaar
stosw
jmp print_lus
print_klaar:
ret
endp print |
johnwoo:Turbo Assembler 5.
TASM zit verder ook bij C++Builder en volgens mij ook wel bij Delphi.
Maar als het goed is heb ik C++Builder hier nog ergens liggen. [...] Joepie! Gevonden! 's kijken of het wil lukken.
4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1
Verwijderd
ten eerste heeft bijna niemand zo'n ding en dus wordt het schrijven/testen van code vrij lastig.
ten tweede geeft apple (bijna) geen technische documentatie over de g4 vrij zodat het adresseren van de hardware heel erg moeilijk wordt (vervelend als je een kernel of device drivers wilt schrijven).
dit laatste is ook de reden dat ook be geen versie van beos heeft die gegarandeerd compatible met de g4 is. apple wil hun de specs gewoon niet geven.
* johnwoo heeft geen beschikking over een G4
4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1
Nu een probleem waar ik al een tijdje een oplossing voor zoek. Hoe start je je C code vanuit assembler? Kijk, je maakt natuurlijk een bootsector in assembler, die vervolgens een modeswitcher (rm > pm) opstart, ook in assembler, en die start vervolgens je kernel op die in c geschreven is. Lijkt mij. Maar hoe maak je die overstap van assembler naar c(++)?
Het lijkt me logisch dat je dan de gebruikte c-libraries moet herschrijven, maar wat moet er nog meer gebeuren? Wat heeft de c code nog meer nodig? Weet iemand waar je hierover informatie kan vinden?
Je kan natuurlijk ook de bikkelmethode gebruiken == het hele ding in tasm schrijven. Ook leuk....
Mzl, Thrax
"Ore wa bakemono? Che, ore wa akuma da!"
Ik denk dat ik ook wel wat kennis heb wat bij kan dragen in dit supercoole idee...
Is er al een site ofzo, ik denk dat dat het eerste is wat er moet komen. Of in iedergeval een goede communicatie methode.
Tweak OS lijkt me een goede naam. Logisch vervolg op de lading tweakers.net skins.
Inderdaad geen textmode, maar gelijk GUI. Linux achtige kernel is een zeeeer goed plan, is ook makkelijk ivm met het ontwikkelen van drivers. Hoef je niet steeds een nieuwe kernel te fabrieken.
En wat heeft onno voor ervaringen met os'en??? Iedereen verwijst naar hem.
[toevoeging] uiteraard beginnen we met een x86 os. Is het makkelijkst. Iedereeen heeft wel een x86'je en er is veeel meer documentatie beschikbaar. En het moet wel een beetje algemeen bruikbaar zijn.[/toevoeging]
Ik denk dat dat binnen een redelijke termijn te bepalen moet wezen, mits er een goede leiding is (meerdere personen denk ik). Hierbij moeten we natuurlijk opletten dat we zeer flexibel/compatible blijven.
Daarna prioriteiten stellen, maar wel meerdere dingen tegelijk ontwikkelen. Met een tiental personen moet dat kunnen.
Verwijderd
Ja Onno heeft z'n eigen os gemaakt en is er nog steeds mee bezig geloof ik
Maar ok...
Ten eerste:
Het is ASSEMBLY (de taal dus) en de ASSEMBLER is het programmaatje om de pseudo shit (mov, cmp, add ed) om te zetten naar de echte binaire code zoals de i386 deze kan gebruiken.
Dus je schrijft een programma dus in assembly!!! laat dat nou eens voor altijd duidelijk aub
Ten tweede
We moeten dus een C compiler gaan schrijven...als die er is kun je hele stukken Linux (c-code) gewoon overnemen...lekker makkelijk
Verder stel ik voor dat er gepraat wordt over een subdomein bij tweakers ofzo (tweakos.tweakers.net)
En er moet heel duidelijk een taakverdeling komen binnen de 'medewerkers' van het TweakOS
Licentie: GPL stel ik voor (zelfde licentie als Linux)...
Ikzelf ben niet meer zo 'into' assembly, dus ik zal de boeken er weer bij moeten pakken (PC Intern 5 is wel redelijk dacht ik) Onno?!?!?!?!?!?
Shit...zit msturm10 dit ook weer net neer te schrijven...schiet lekker op
That's it for now, Felix out
4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1
Verwijderd
nee, ik denk dat we eerst een vrijwilliger nodig hebben om de kernel te schrijven... wie wie wie???
aanmelden, en dan kunnen de vrijwilligers samen gaan nadenken over de taal etc
gewoon hier posten waar je in geintereseerd bent!!!!
Al die andere Tweak* dingen waren toch ook alleen maar skins
...Dus het beste lijkt me eerst een goed overzicht te maken, met bijv. enqûete-sheets
met veel vragen over wat je allemaal al kan en wat je het liefst zou willen gaan doen en hiervoor een deadline stellen, laten we bijv. zeggen 20 Juli ofzo, dan heeft iedereen een maand de tijd om het in te vullen. En als dat allemaal gebeurd is een goede structuur op te zetten...........maaaaaar dat zien we dan dan wel weer.
- Remier
Heah what?!?? O, signature??
Uiteraard moet er een forum komen, of een nieuwe categorie bij dit forum.
We kunnen denk ik wel bestaande dingen recycelen, want het is natuurlijk een beetje onzinnig om zelf overal het wiel opnieuw uit tevinden.
Ik denk dat als onno al zelf een os heeft geschreven hij wel een goede leider is voor het kernel team. Maar dat moeten we gewoon ff bekijken.
Verwijderd
Ikzelf zou het wel leuk vinden om te werken aan de ANSI-C compiler voor ons OS...maar kunnen we geen forum maken dan op een of andere server met diverse onderwerpen (kernel, GUI, kernel drivers enz)! ik denk niet dat het verstandig is dat 1 iemand de kernel gaat bakken, dat moet met een aantal personen gedaan worden die elkaar het liefst IRL of anders via ICQ ofzo kennen...wel zo makkelijk
Verder lijkt me het handig om op die page een gedeelte te maken waar alle documentatie te vinden is. Dan moet er best uit te komen zijn...
[update]
Maar wie heeft de mogelijkheid om een forum te hosten ofzo???? Femme? Misschien is een IRC kanaal ook wel handig???
[/update]
Bekijk de code maar eens van Minix ... dat is relatief eenvoudig en niet zo groot als bijvoorbeeld linux. Ik denk dat je dat ook nog aardig aan het denken zet.
suc6 Paul
Verwijderd
kernel gastjes (die ECHT een beetje ervaring hebben) een mailtje naar onno sturen (weet hij veel dat ie nu leider is van het kernel gebeuren...)
diegene die zich bezig willen houden met het porten naar verschilende procesoren moeten zich bij mij melden (mail of icq)
tja, andere kunnen gaan nadenken over de interface, pak je tekenproggie maar en begin een beetje te schetsen
Verwijderd
Als Onno mee wil doen laat ie dat vast wel horen in dit topic, want hij leest hem regelmatig geloof ik.
Het zou natuurlijk fantastisch zijn dat jij het voor mekaar krijgt een sub-domein te regelen.
Ik stel ook voor dat er meerdere mensen het management van het OS doen, dus niet dat 1 persoon opdrachten gaat verdelen en gaat beslissen wat er wel/niet in het OS komt en dergelijke
HOUD DE DISCUSSIE OPEN!!!! niet via ICQ of MAIL of iets dergelijks maar via deze topic of anders via het te regelen forum of iets dergelijks! zodat iedereen die dat wil kan meebeslissen!!! niksie trekt nu de leiding compleet naar zich zelf toe. SCHAAM JE!diegene die zich bezig willen houden met het porten naar verschilende procesoren moeten zich bij mij melden (mail of icq)
Zo dat was het weer voor dit moment
Ik kan misschien nog wel een kernel 'hacker' regelen
Het is trouwens wel degelijk mogelijk om in (ansi)-c te schrijven. Een paar dingen moeten (i.v.m. compacte code) wel in assembly, maar het leeuwendeel kan in C. Alleen mogen er alleen instructies aangeroepen worden die geen gebruik van kernels/api's e.d. maken. De linux-kernel is tenslotte ook (vrijwel) volledig in C geschreven? Een eventuele C-compiler is ook gewoon in C te schrijven. Alleen zal je die op een ander platform moeten compilen.
Verder:
gewoon zeggen: we gaan een OS maken, werkt niet. Dat hebben ze bij MS wel bewezen. Je moet weten wat je wilt, hoe je de kernel opbouwd. Daarover goed nadenken, zonder ook maar een regel code te schrijven. Vooral hoe je je geheugen separeert, en clockcycli. Hoe programma's/processen te laden.
De linux kernel is inmiddels ook een grote rotzooi geworden. Structuur is er nog maar weinig in te vinden. Maar dat wil je wel hebben. Dus moet je het zo opbouwen dat het over 5 jaar nog makkelijk uit te breiden is. Met de meest vreemde opties die je dan (kunt) hebben.
Kijk: iets simpels bouwen wat alleen een fs ondersteunt en in single-mode een proggie kan starten is niet zo moeilijk... Maar daarna...
Er moet zo goed over nagedacht worden hoe je het moet gaan aanpakken, dat ik dat hier niet zie gebeuren. Het is niet een kwestie van een programmeertaal leren. Je moet er ervaring mee hebben, waarop je dan je beslissingen kan baseren hoe je je OS wilt vormgeven.
Iemand van jullie ooit in LISP geprogrammeerd? Kijk voor de gein ook eens op http://www.tunes.org Da's een voorbeeld van het andere uiterste. (alleen denken, niet programeren)
Verder hoor ik Onno niet meer? Alleen anderen die voor hem spreken?
JoJo,
Loesje.
Leven is meervoud van lef
En als je er niet van overtuigd bent dat dit niet gaat lukken en dus niet wil meewerken, ga dan weg. Die kreten van 'dit gaat niet lukken' en 'als dit lukt eet ik mijn schoen op' schieten gewoon niet op. Ik heb het idee dat er wel animo is om dit project te starten, al was het alleen maar om als leerzaam iets te fungeren.
We moeten het uiteraard niet onderschatten, maar als we goed te werk gaan MOET het lukken.
Het heeft geen zin om daar over na te denken voordat besloten is dat de kernel in C wordt geschreven.en die start vervolgens je kernel op die in c geschreven is. Lijkt mij.
Als je dat wilt zul je C code moeten schrijven die geen gebruik maakt van een C library (want die heb je nog niet) en standaard APIs (die heb je ook nog niet).
Ik noem maar wat: geheugenbeheer. Daarvoor gebruikt elk C programma functies van het OS in kwestie, maar als je het geheugenbeheer zelf aan het schrijven bent in C wordt dat een beetje lastig...
En dan zit je nog met het probleem dat je een C compiler nodig hebt die code uitspuugt die voor dit OS geschikt is. Maak je de boel dan uit gemak maar even posix/gnu/etc compliant, of maak je echt zelf iets?
Zulk soort dingen zul je je af moeten vragen...
Maar zelfs dan loop je nog tegen problemen op. Bijvoorbeeld: wat voor formaat voor je libraries en programma's gebruik je? TLINK32 maakt alleen maar PE's, gebruik je die dan maar? Of bouw je een eigen linker?Je kan natuurlijk ook de bikkelmethode gebruiken == het hele ding in tasm schrijven. Ook leuk...
Hmm? Wat versta jij onder een Linux-achtige kernel? Dat volg ik in deze context even niet helemaal...Linux achtige kernel is een zeeeer goed plan, is ook makkelijk ivm met het ontwikkelen van drivers. Hoef je niet steeds een nieuwe kernel te fabrieken.
Heerlijk is dat...En wat heeft onno voor ervaringen met os'en??? Iedereen verwijst naar hem.
Ja ehh... wat wil je bouwen? Een Linux kloon of een nieuw OS? De Linux TCP/IP stack is behoorlijk Linux-specifiek...We moeten dus een C compiler gaan schrijven...als die er is kun je hele stukken Linux (c-code) gewoon overnemen...lekker makkelijk de complete TCP/IP stack kun je dan gebruiken,
En verder, is die stack eigenlijk wel zo mooi geregeld in Linux? Is het niet veel mooier om met installable protocol stacks te werken, zoals in (sorry fkooman) Windows? Dat vind ik eerlijk gezegd een veel mooiere aanpak.
Waarom? Wat is er zo goed aan de GPL? Wat zijn de voor- en nadelen? Wat zijn de alternatieven? Allemaal vragen...Licentie: GPL stel ik voor (zelfde licentie als Linux)...
Het gaat in deze thread niet over het bouwen van een eigen Linux distro (alhoewel dat ook best leuk zou zijn natuurlijkWaarom beginnen we niet gewoon met een kale Linux kernel?
Inderdaad. "Moderne Besturingssystemen" (o.i.d., ben de exacte titel even kwijt) is een erg nuttig boek om te lezen als je inzicht wilt krijgen in hoe een besturingssysteem nou in elkaar zit / kan zitten. Wel dik & duur natuurlijk.Ik zou eerst maar eens een goed boek lezen wat er allemaal komt kijken bij een fatsoenlijk OS.
niksie, ik vraag me een paar dingen af over jou...
Jij bent nogal een Mac fan, en een PC hater, dat heb je al diverse keren erg duidelijk gemaakt. Wat doe je dan hier? Heb je eigenlijk wel een PC?
Stukje IRC log:
Vind je niet dat je wat voorbarig handelt? Zeggen de woorden overleg en samenwerking je wat? Ik kan me zelfs niet herinneren ook maar toegezegd te hebben mee te werken, laat staan dat ik eigen code doneer. Waarvan je ook weer om mij onduidelijke redenen uitgaat dat die niet meer in ontwikkeling is.[15:16] <niksie> onno, jij bent de nieuwe baas van kernelafdeling tweakos
[15:17] <Onno> och gossie...
[15:17] <niksie> mensen gaan zig bij jou aanmelden
[15:17] <niksie> en van jou word verwacht de code van je ouwe project in de strijd te gooien
[15:18] <Onno> toe maar weer...
[15:19] <niksie> je hebt er toch geen probleempies mee heh onno
Verder vraag ik me ook af, of jij eigenlijk ooit geprogrammeerd hebt. Uit wat ik hier en daar van jou lees blijkt dat niet in ieder geval.
Er zijn twee dingen die voor Linux gelden, en niet (direct) voor een nieuw te maken OS op hoeven gaan:Alleen mogen er alleen instructies aangeroepen worden die geen gebruik van kernels/api's e.d. maken. De linux-kernel is tenslotte ook (vrijwel) volledig in C geschreven?
1. De feitelijke Linux kernel is 1 geheel, en wordt in één keer patsboem geladen. Daardoor kunnen in heel veel onderdelen procedures uit andere gebruikt worden.
En dat is ook meteen zo'n beetje het enige voordeel ervan.
2. De Linux kernel is nu zover dat vrijwel alles in C kan gebeuren: alle functionaliteit (naja, veel iig) is al geimplementeerd. Maar dat is niet zo als je begint met een OS.
Microsoft heeft over NT wel degelijk eerst hele boekwerken volgeschreven voordat ze begonnen zijn met programmmeren. En dat merk je. NT zit veel beter in elkaar dan 9x, maar imo ook dan Linux.gewoon zeggen: we gaan een OS maken, werkt niet. Dat hebben ze bij MS wel bewezen. Je moet weten wat je wilt, hoe je de kernel opbouwd.
Eén van de (vele) dingen die ik slecht aan Linux vind, is dat het veel minder modulair is dan Windows. Je kunt niet zomaar een bestandssysteempje of protocolletje inpluggen, je moet daarvoor met de kernel gaan zitten knoeien, en zult die opnieuw moeten compileren.
Het kan zoveel beter...
Inderdaad. Geheugen- en procesbeheer zijn twee dingen die gewoon perfect moet werken, en dat is vrij lastig...Daarover goed nadenken, zonder ook maar een regel code te schrijven. Vooral hoe je je geheugen separeert, en clockcycli. Hoe programma's/processen te laden.
* Onno steekt voorzichtig z'n hand op. Hier! Hier ben ik!Verder hoor ik Onno niet meer? Alleen anderen die voor hem spreken?
Posix/gnu-compliant lijkt me bijna een vereiste. Anders heb je er in een keer verschikkelijk veel problemen bij. Maar op zich is het iets waar je nog wel over kan discussieren. Misschien is dat juist wel een uitdaging. En posix heeft ook zo zijn nadelen...
Maar over dit soort dingen moeten besloten worden. Daar zal je toch eerst een hele tijd over moeten discussieren, of een iemand moet een voorstel neerleggen, waar de anderen op/aan-merkingen bij kunnen maken, waarna het aangepast moet worden enz, enz.
Wie wil dat doen?
Probeer eerst eens een soort animo-enquete te houden. Willen we (jullie) dit echt wel? Zijn er mensen die het kunnen/ervaring hebben/het kunnen leren?
Misschien moet iemand eens een page in elkaar klussen waarop mensen ideeen kwijt kunnen, maar ook kunnne opgeven wat ze kunnen/hoe veel tijd ze te besteden hebben enz... msturm10? Idee voor jou?
JoJo,
Joost.
Leven is meervoud van lef
Verwijderd
dus ik nam effe de leiding. trouwens, ik heb geen pc, het spijt me .
iemand die de leiding dan wel wil nemen????
nouja, ik hou me aanbevolen voor een powerpc versie. ik zal verder m'n bek dicht houwen, heb trouwens wel al een mail naar femme gestuurt, ik dacht dat jullie een leider nodig hadden, en zoals sommige al weten, ik hou wel van macht... Als er ooit nog es iets nodig is dan kunnen jullie het wel zeggen.
PS: de nieuwe leider, (onno?!?!?!?!?!) die het veel beter kan, suc6, je gaat het nog moeilijk krijgen.
PS: he, als dit os 99% van de markt krijgt dan kan ik zeggen dat ik ooit voor een paar uur tweakos heb bestuurd!!!!
PS: ik kan progguh javascript applescript java
Verwijderd
Omdat iemand nu misschien wel heel goed kan proggen hoeft het nog niet te betekenen dat ie ook goed kan leiding geven. Het zou kunnen. Vaak hebben technische aangelegde mensen moeite met communiceren enzo (ikke ook wel een beetje
Verwijderd
GREETINGZ h3llspawn
Verder krijg ik vanavond een boek over C van een vriend te leen (die gozer kan trouwens goed proggen - eens vragen of ie interesse heeft) zodat ik mij daar eens in kan verdiepen.
Zolang de vakantie duurt (voor mij tot half september geloof ik) kan ik er behoorlijk wat tijd in steken. Ik wil dan ook best een site maken (ken alleen geen PHP
O ja, over dat eerst in DOS bouwen: niet dat ik zoveel C/asm kennis heb, maar het lijkt mij een heidens karwei om iets wat eerst gemaakt is om onder DOS te werken om te bouwen naar een stand-alone OS. Volgens mij kan je het dan net zo goed in één keer doen.
Wat me wel een goed idee lijkt is om van de uiteindelijk te implementeren GUI eerst een DOS-versie te maken, om de 'feel' ervan te bepalen. Omdat het in DOS veel makkelijker proggen is (kan ik zelfs nog, in BASIC) kun je dan nog easy veranderingen aanbrengen, die een stuk lastiger door te voeren zijn in de C of asm code van het Tweak OS.
4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1
Ik denk dat het opzetten van een nieuw OS met meerdere personen over het internet vrij moeilijk is. Besef dat linus torvalds (maker linux) in z'n eentje een groot begin heeft gemaakt, des te meer omdat de communicatie in die tijd nog niet zo gevorderd was als nu (icq, irc). Andere os-en zijn misschien wel met meerdere personen begonnen, maar die zaten allemaal met elkaar in een kantoortje, waar je veel contact hebt, snel code bij elkaar kan plakken, en ideeen kan uitwisselen. Dit zal via irc/icq/mail met 10 personen niet echt bijster vlot verlopen.
Je moet het dus extreem precies afspreken wie wat doet en hoe.
Aangezien de gemiddelde expertise hier niet op >15 jaar ervaring ligt (of je moet vanaf je 2e begonnnen zijn
Ik programmeer zelf al een paar jaar (vanaf een jaar of 12) en ik kan redelijk c/c++, toch ben ik vaak veel langer bezig met 'simpele' dingen dan ik had verwacht. (Zo wou ik laatst een regexp searcher bouwen, maar dat bleek ook al vrij ingewikkeld
'Even' een OS in elkaar draaien gaat dus verder dan HTML/javascript, dit verandert ook niet met een vakantie C leren.
Desalniettemin vind ik het een leuk idee
Dat is ook waarom je dit meteen groot moet aanpakken. Je moet er wel zeker van zijn dat dit gaat lukken. Verstanding om daarom ook eerst een homepage te maken en 10-20 mensen aan te wijzen die mee doen (ik wil ook best helpen, maar ik kom niet echt ver betreffende C....) en 1 project leider (Onno????). Daarna zou je een echte uitgebreide meeting moeten houden (niet over ICQ of IRC off course) waarbij je gaat bespreken met die 10-20 personen hoe het eruit gaat zien. Wat het moet kunnen en wie wat maakt. Je moet dan ook indelen naar wat wie kan. Je kan mij wel de bootsector laten maken maar ver met het OS zullen we dan niet komen. Lijkt mij wel heel leuk om aan zoiets te beginnen en het werkend af te maken. Als je namelijk eenmaal een werkende kernel + bootsector heb wat werkt dan kan je de GUI maken en dan wordt het leuk werk.
Als er maar wel iets beters van wordt gemaakt als Linux en Windows. Niet zoals als V2os wat in principe nooit een super OS zal worden.
Het is dus eerst zaak een website te maken, en leiding te verzorgen.
Ik denk dat de leiding bij een paar personen moet komen te liggen. Het zal in het begin gewoon zwaar en moeilijk worden, en we zullen goed moeten nadenken wat we willen.
De leiding moet een groep personenen worden. Een leider gaat denk ik gewoon niet werken, temeer omdat hiet de gemiddelde leeftijd niet hoog is. De teamleden moeten aan een of meer van de volgende eisen voldoen. Er is denk ik niemand die alles kan, dus daarom is het ook beter een soort managment team samen te stellen, met natuurlijk wel een leider. Op die manier kun je ieder zijn specialisme uitbuiten. Er moet een paar man komen die de website bouwen en beheren.
Er moeten mensen komen die zich met de leiding van de programmering bezighouden en al. En zo kun je nogwel wat specialisme opnoemen. Ik denk dat dit team 5 of 6 man groot moet worden.
Een leider die alles leid is denk ik niet realistisch. Niemand kan hier fulltime aan werken, want iedereen gaat naar school, studeert of werkt. En het is uiteraard nodig dat alles goed beheerd word.
Ik ben eventueel wel bereid te inventariseren wie er willen meewerken en wie wat wil gaan doen.
[slot opmerking]
Is het eigenlijk niet eens tijd voor een nieuw topic?? dit word wel erg lang... :)[/slot opmerkin]
Verwijderd
Een bestandsysteempje EN een protocolletje kan je in linux als module compileren... Dan kun je het dus meteen draaien, zonder rebootEén van de (vele) dingen die ik slecht aan Linux vind, is dat het veel minder modulair is dan Windows. Je kunt niet zomaar een bestandssysteempje of protocolletje inpluggen, je moet daarvoor met de kernel gaan zitten knoeien, en zult die opnieuw moeten compileren. Het kan zoveel beter...
Linux is tegenwoordig wel degelijk modulair opgezet. Ik heb mijn geluidskaart, beide NICs, Een paar filesystems, SCSI emulatie, een paar IP masquerading protocollen etc etc. Als module gecompileerd.
Mailen kan ook <A HREF="mailto:tweakos@yahoo.com">tweakos@yahoo.com</A>
Je kunt ook aangeven wat je kunt, en ideeen.
Ik zal zoveel mogelijk de berichten en statistieken hier melden.
Ik hoop dat we hiermee een klein beginnetje kunnen maken...
Verwijderd
Over dat overnemen van kernel-code van een ander besturingssysteem (bv. linux), ik denk dat dat niet een goed idee is. De code is meestal zo in elkaar verweven dat als je het wilt overnemen je eigenlijk de kernel zelf moet overnemen. En je leert meer als je de kernel zelf schrijft dan als je het overneemt, ook al duurt dit misschien langer. Ook moet je een overgenomen stuk code wel snappen wat het doet, anders heb je er nog niks aan, hier komt dan ook weer aardig wat tijd in te zitten. Dat overnemen van een stukken kernel lijkt me dus geen goed idee en het is toch leuker als je het zelf hebt geschreven.
Wat maakt het uit of dat het een jaar duurt of twee jaar of zelfs meer voor dat een beetje OS er is. Het is toch geen commercieel project, we zijn maar een stelletje hobby-isten.Als jullie voor het einde van dit jaar een werkend OS hebben eet ik mijn schoen op
Hardware-kennis is heel belangrijk, hoe staat het met de hardware kennis? We weten allemaal wel wat er op het moederbord zit, maar weten jullie ook hoe de processor en de verschillende hardware intern in elkaar steekt en communiceert.
Vooral mensen met hardware kennis zijn erg handig, en mensen die (veel) ervaring hebben met assembly en event. besturingssystemen zijn uiteraard zeeer welkom. Ook link en titels van boeken over os'en zijn denk ik wel bruikbaar.
Verwijderd
Voor Intel: [url="http://www.intel.com->support"]www.intel.com->support[/url]
Voor AMD : [url="http://www.amd.com->Techdocs"]www.amd.com->Techdocs[/url]
Zelf weet ik wel de basis dingen over hoe een computer werkt (IRQ, poorten, DMA enz).
Verwijderd
Voordat je OS uberhaupt opstart ben je al een hele hoop tijd verder. Zelf heb ik in Java is een MSX Basic Emulator gebouwd. Dit is een een enorm klein onderdeel van een hele computer. En ik kan je wel verzekeren dat dat al een enorm karwei was.
Je hebt mensen nodig die volledig in Assembly thuis zijn, of dat willen leren. Pas als je dan een C compiler gebouwd hebt kun je aan andere modules gaan denken.
Het begin zal het allermoeilijkst worden.
Ik ben niet thuis in assembly (heel klein beetje). Kan best aardig programmeren in Java en C++. Ik wil best meedenken over een OS, maar ik vind dat iedereen wel realistisch moet blijven. Dingen als GUI zijn nog lang niet aan de orde.
Als ik superrealistisch ben, denk ik dat het ook niet gaat lukken, waarom niet?
Het kost zo ongelooflijk veel tijd. Misschien dat je na de vakantie op 1% van je kernel bent ofzo. Dan zien de meesten te weinig vooruitgang en verliezen de interesse om mee te werken. Daarnaast zal na de vakantie de beschikbare tijd weer verminderen door school en werk.
Derhalve hoop ik dat het van de grond komt. En ik wil best meedenken en meewerken, maar ben helaas geen Assembly guru.
Ok, dus je kunt dezelfde kernel gebruiken, van welk bestandssysteem je ook start? (uhm. start Linux uberhaupt van iets anders dan ext2fs en nfs?)Een bestandsysteempje EN een protocolletje kan je in linux als module compileren... Dan kun je het dus meteen draaien, zonder reboot
Linux is tegenwoordig wel degelijk modulair opgezet.
En je kunt ook TCP/IP even unloaden als je dat wilt? Gewoon, om te vervangen door een IPv6 stack ofzo...
Nee, vind ik ook maar niks.Over dat overnemen van kernel-code van een ander besturingssysteem (bv. linux), ik denk dat dat niet een goed idee is.
Kort maar krachtig: ja.maar weten jullie ook hoe de processor en de verschillende hardware intern in elkaar steekt en communiceert.
Dat is al in de vorige thread gezegd...je eerst (nu krijg ik waarschijnlijk reacties) denk ik echt een ontwerp maken.
Vergis je daar niet in: compilers & interpreters zijn juist heel erg moeilijk, veel en veel moeilijker dan bijvoorbeeld het aansturen van een stukje hardware.Zelf heb ik in Java is een MSX Basic Emulator gebouwd. Dit is een een enorm klein onderdeel van een hele computer.
Verwijderd
TCP/IP kun je opzich zelf niet even uit en aanzetten zonder compile. Het IPv6 protocol kun je wel als module compileren.Ok, dus je kunt dezelfde kernel gebruiken, van welk bestandssysteem je ook start? (uhm.
start Linux uberhaupt van iets anders dan ext2fs en nfs?)
En je kunt ook TCP/IP even unloaden als je dat wilt? Gewoon, om te vervangen door een
IPv6 stack ofzo...
Inderdaad. Dat zei ik dus. Maar nee hoor, Linux was zo modulair enzo...niet even uit en aanzetten zonder compile.
Verwijderd
hiervoor heb je mensen nodig met al wat langere ervaring. Wil je alles modulair opbouwen, dan zul je in ieder geval te maken krijgen met UML (ontwerpmethode voor Object Oriented Code). Bij een goed ontwerp ben je vaak al 40% van de tijd aan het ontwerpen. (Dus voorlopig nog niks werkends
daarna 30% programmeren en dan nog 30% testen / debuggen. Bij het opzetten van een groot goed werkend OS ben je toch wel tot de herfst bezig met ontwerpen. Opzetten van de Kernel kun je veel van Linux afkijken, en om compatible te blijven met Bill dien je toch een eigen API afhandeling te maken,
Komt dus vrij veel bij kijken, toch zie ik er wel iets in,
Goede structuur/communicatie is wel belangrijk,
dit kan inderdaad via een website/forum/ICQ
Verwijderd
Object Oriented en modulair is iets anders. Modulair werkt op basis van modules (duh) die een flink dosis functionaliteit bieden.Wil je alles modulair opbouwen, dan zul je in ieder geval te maken krijgen met UML (ontwerpmethode voor Object Oriented Code)
Een object is ook een soort module, maar met een kleinere functionaliteit. Objecten hebben als het ware een eigen leven.
Hoewel Object Oriented mooi is, is het ook traag. Het samenwerken van al deze objecten zorgt voor een hoop overhead.
Zo heb ik het ook geleerd idd. Na afloopBij een goed ontwerp ben je vaak al 40% van de tijd aan het ontwerpen. (Dus voorlopig nog niks werkends )
daarna 30% programmeren en dan nog 30% testen / debuggen
Tijdens de implementatie zal na het testen van een onderdeel wellicht het ontwerp aangepast moeten worden
Daarnaast moet je niet te lang stil blijven staan bij het ontwerp omdat anders wellicht een aantal goeie mensen hun interesse verliezen omdat zoals je zegt er geen tastbaar resultaat is.
Ik heb nooit code geschreven om hardware aan te spreken, dus ik kan die vergelijking zelf moeilijk trekken vanuit praktijk ervaring.Vergis je daar niet in: compilers & interpreters zijn juist heel erg moeilijk, veel en veel moeilijker dan bijvoorbeeld het aansturen van een stukje hardware
Echter het verschil is dat je als je kernel loopt de compiler/interpreter, te maken heeft met 2 talen. De originele en de doel taal. Echter met hardware heb je te maken met een bijna oneindig aantal producten die allemaal net even weer iets anders aangesproken moeten worden.
En als je met 30 personen hieraan gaat werken zul je te maken krijgen met 30 verschillende videokaarten, geluidskaarten, mobo's enz enz enz. En dan kunnen die driver's (als ik ze zo mag noemen) zelf niet zoveel moeite koesten, maar 1000 drivers schrijven, kost denk ik een enorme berg tijd.
Overigens heb ik mij al aangemeld msturm10 om mee te helpen.
/me hoopt dat het wat wordt
Verwijderd
Yo dawg, I heard you like posts so I posted below your post so you can post again.
Verwijderd
Tenminste, dat is wat collega's zeggen als ik een nieuw iets voor me neus krijg.
joenidt@hotmail.com
Verwijderd
Ik denk dat, dat hier (nog) niet thuis hoort
Verwijderd
http://www.robinvr.f2s.com/cgi-bin/tweakos.pl
en je leuke site om aan te melden werkt niet bij mij......
Allemaal leuk en aardig.. Persoonlijk denk ik dat het weinig zinvol is een 32 bits OS te gaan schrijven. Er zijn er al zoveel.
Ik zou liever een OS willen ontwikkelen dat op meerdere platformen kan draaien, zonder dat er allerlei conversie stappen noodzakelijk zijn. (een beetje Java achtig)
Verder zou ik vandaag de dag een 64 bits OS ontwikkelen i.p.v. 32 bits. Tegen de tijd dat het enigzins af is heeft iedereen toch al wel een 64 bits machine.
Ik denk dat het heel goed is te bedenken wat je eigenlijk wil met die OS. De doelgroep is denk ik het belangrijkst. Nou hebben we hier te maken met tweakers. Die willen dus van alles zelf in de hand hebbeb (wat ik in Unix achtige systemen terugzie). Misschien een ander belangrijke succesformule, goed games kunnen draaien. En ga zo maar door..
Ik wil best meeontwikkelen, echter dan moet er wel een discussie op gang komen hoe en wat voor OS het moet worden. Ook nog voor welke platform.
Persoonlijk zou ik op de Itanium, Sledgehammer, Alpha 21364, USparc III mikken... Daar ligt namelijk de toekomst.
F u cn rd ths, u mght hv a gd jb n cmptr prgmmng.
F u cn rd ths, u mght hv a gd jb n cmptr prgmmng.
F u cn rd ths, u mght hv a gd jb n cmptr prgmmng.
F u cn rd ths, u mght hv a gd jb n cmptr prgmmng.
Virussen? Scan ze hier!
Verwijderd
Verwijderd
ook misschien is het dus handig om nu een 32 bit systeem te maken maar dan wel zo dat het heel makkelijk te om te bouwen is naar 64 en dat de applicaties automatisch op op alle 2 kunnen draaien
ps. zijn de alpha's niet 64 bit?
Verwijderd
Jawel, die zijn helemaal 64 bits en hebben ook al wel 64 bits OS'en. De sparc is ook 64 bits. Van de PA-Risc, MIPS en PowerPC weet ik het niet zeker.Zijn de alpha's niet 64 bits
m.a.w. Er zijn wel degelijk 64 bits systemen vandaag de dag.
F u cn rd ths, u mght hv a gd jb n cmptr prgmmng.
Virussen? Scan ze hier!
Verwijderd
Moeten we anders even een polletje houden hoeveel alpha testers we met een 64 bit procesor er zijn de programmeurs zullen echter ook over zo'n dergelijke pc moeten beschiken.
over de html interface lijkt me een prima idee dit maakt het natuurlijk volledig schaalbaar voor iedereen.
ik heb nog een idee:
als we alle teksten die het os produceert in aparte txt files maaken word het eventueel vertalen van het systeem ook er makkelijk wat de hoeveelheid hulp die beschikbaar komt in een later stadium weer vergroot
Ik zal het nog iets erger maken, ik denk dat we al heeel veeel moeite zullen hebben een 16 bit os te maken....
Over de moeite voor een OS kan ik het volgende zeggen. Ik denk persoonlijk dat het qua inspanning niet zoveel zal gaan uitmaken of de OS 16 danwel 32 of 64 bits wordt. Echter blijf ik van mening dat je het best op een 64 bits syteem kunt mikken want ik verwacht geen werkend iets in 1.5 jaar. Ik denk dat je sowieso 2 jaar mag uitrekken eer je een pre-alpha iets kunt danwel zal hebben en mijn verwachting is wel dat in die twee jaat tijd de 64 bits systemen aardig ingeburgerd zullen raken. Zeker bij de tweakers waar het OS voor ontwikkeld zal zijn. De tweakers bezitten gemiddeld toch wel een top of the range systemen.
F u cn rd ths, u mght hv a gd jb n cmptr prgmmng.
Verwijderd
Verwijderd
Het probleem van verschillende interpertatie's van html hebben wij niet aangezien we toch alles zelf bepalen of niet?
Greetinx [eNeRGy]
(edited 25-06-2000).]
Verwijderd