• Deze website gebruikt cookies. Door deze website verder te gebruiken, gaat u akkoord met ons gebruik van cookies. Leer Meer.

Het besturingssysteem genaamd BirdOS

#84
Okay dat zal ik bij de volgende updates gaan doen. Als je iets hebt van de vorige updates waar je graag iets meer van wilt weten dan is moet je het maar zeggen. xD
 
#86
Ik zal mijn best doen wanneer ik een computer bijdehand heb. Deze twee maanden hebben redelijk wat huiswerk, maar ik denk/hoop vanavond een heleboel van deze week af te hebben.

Wil je van bericht #80 iets specifiek specifieker hebben of mag ik helemaal los gaan (dat zal iets langer duren misschien)?
 
#87
#80 in een specifiekheid waar de honden geen brood van lusten. Het is laat dus dit is mijn manier van schrijven nu. Eerst eventjes origineel quoten:
Zeker! Je leert de computer zelf (de hardware) ook beter begrijpen. Vooral in de zin van hoe het werkt en waarom dingen niet werken zoals ze niet werken. Mijn ervaring is als je apps maakt voor een OS (de taal assembly even niet meegeteld) leer je meer de OS kennen, wat ook interessant is maar anders interessant.

Ook interessant (vind ik) zijn verschillen (let op: Beroerd uitgelegd/omschreven). Veel programma's gebruiken in de sleep() functie een getal in microseconden. Sleep(1000) wacht 1 sec. maar B-OS in haar/zijn huidige vorm gebruikt sleep(100) waarbij het 1 seconde wacht. Nu ben ik wel van plan om een keer wat oude(re) functies te bekijken en ze misschien te verbeteren.
Ik doe hier maar wat dus ik hoop dat ik de goede dingen kies om specifieker te maken.
Goed, dus... Technische werking, functies en doelen.

Ik ga je trouwens nu al zeggen dat ik met functies voids bedoel, dus dat ga ik nu ook gebruiken. Voor zij die niet weten wat voids zijn: dat is gewoon een plekje waar je een bepaald stuk code schrijft. En ja, dat is kort door de bocht uitgelegd.

Sleep()
Technische werking: In B-OS sleep() is een void waarvan je zegt "Meh". Waarom? Heel het 'klokken'-systeem is simpelweg niet goed en dom. 't Werkt en... ja... dat is het. Sleep(int amount); int i = amount * 2; En doe er daarna het volgende mee: zolang i niet nul is wacht totdat een seconde voorbij is (althans wacht totdat twee gelijke ints gelijk zijn) daarna doe i - 1 en ga door totdat i 0 is. Geen idee wat ik dacht toen ik 14 was maar goed, klein detail. Zo vaag als het uitgelegd is, zo vaag is het in de praktijk ook. Maar 't werkt, blijkbaar ofzo. Maar goed, ik heb inmiddels al drie andere manieren bedacht waarvan ik nu al weet dat die beter werken.
Functie: het wachten totdat er een aantal seconden gewacht is (vereist een getal waarbij 100 is 1 seconde).
Doel: eh ja...

Oude(re) voids bekijken en 'verbeteren'
Jep. 'Verbeteren'. Als in weghalen en als het echt nodig is opnieuw schrijven.
Anyway, je vraagt je misschien af wat voor voids dat zijn. Nou, heel makkelijk: de voids die ik geschreven heb toen ik 14 was... En andere.
Technische blabla: Het zijn een aantal voids die niet gebruikt worden, althans niet meer. en die van toen ik 14 was. Sleep() wordt sowieso herschreven. Voorbeelden van dingen die weg gaan...


CMOS_Wait(unsigned char sec). Dat is sleep(), maar gebruikt het de CMOS tijd en 't is een stomme manier en ook nog eens onnodig.

Alles van de shell/terminal da's toch buggy, dus dat houd in: shell_launch(); shell(); en commando's help, echo, exit en pause.

En nog veel meer...
Functie: NVT
Doel: Het systeem verbeteren en zorgen dat dingen die niet nodig zijn weg zijn. Ook het efficienter maken van het systeem. Gewoon een of andere grote schoonmaak.

Denk je nou van "Ik heb dit gelezen, wat zal ik nu eens doen?" dan kan je nu kijken naar deze afbeelding terwijl je jezelf afvraagt of het nut heeft om ernaar te kijken:



 
#88
Goed sorry, ik kan weer normaal schrijven. Deze maand (en ik verwacht ook volgende maand, maar ben niet zeker) heb ik veel huiswerk gehad. Maar dit vind ik geen excuus om helemaal niks gedaan te hebben en er is wel wat gedaan, maar heel erg weinig. Ik weet niet hoeveel ik kan doen in de komende tien dagen, maar tot nu toe heb ik een kleine bugfix gedaan.

Dit betekent dat ik wel een beetje heb om over te schrijven maar niet heel veel. Ik dacht ik laat het jullie even weten.
 

Rubensky

Moderator
Medewerker
#89
Het is ook een project van de lange adem. Ons op de hoogte houden is een keuze die je zelf hebt gemaakt. Dus waarom zou je excuus maken als iets een keer niet lukt? Doe het rustig aan en meld het als je zelf vind dat je wat te melden hebt. Als het een wedstrijd was, of een commercieel project dan was het anders. Maar dat is het zeker niet.

Tevens moet je maar denken school is belangrijker. :)
 
#90
Het probleem, vind ik, is dat ik de keuze heb gemaakt (ik ben erg blij met de keuze die ik gemaakt heb), maar gelijk de tweede keer heeft het weinig zin. Dat is mijn probleem, volgende paar maanden beter I guess.
 
#92
Er is hartstikke weinig gebeurt maar er zijn twee bugfixes doorheen gekomen en een deel van de dingen die ik weg wilde halen aangezien ze te oud zijn (zie bericht #87).

- [BACKSPACE] haalt geen systeem tekst meer weg als je hem gebruikt. Het probleem kwam doordat het systeem geen rekening hield met de keybuffer. Ofwel: Het systeem hielt wel bij welke letters er waren geschreven en hoeveel, maar nam gebruikte dit niet voor backspace. Nu houd het rekening met het aantal ingedrukte toetsen, dit aantal wordt nadat je op enter gedrukt hebt weer gereset naar 0.

- Het toetsenbord werkt weer, het toetsenbord werkte niet meer doordat ik een keer bedacht had scancode set 2 (de standaard tabel met de nummers/code van de toetsen) maar deze had ik nooit afgemaakt. Hierdoor werd het toetsenbord niet gelezen (huidig is scancode set 1), dit heb ik veranderd.

- CMOS_Wait(), ofwel de sleep() die gebruikt maakt van de CMOS, is weg. Het werkte niet en was inaccuraat.

- De terminal is weg: commando's werken niet meer. Dit is zodat we informatie op het scherm kunnen gooien en alvast een voorbereiding op de GUI, waar we nog lang niet mee bezig zijn.
 

Rubensky

Moderator
Medewerker
#93
Is het weghalen van de terminal zo'n goede keuze? Ik denk van niet. In veel gevallen kan die net even de uitkomst bieden die je zoekt. Ik denk dat je die moet behouden ondanks het gebruik van een GUI.
 
#94
Ja dat klopt maar dat werkt niet zo. De terminal in een GUI is een apart programma, de terminal in mijn systeem werd geregeld door de kernel zelf.

Een GUI is zeg maar een container programma. Misschien zie je hier een beetje wat ik bedoel. Ik weet niet hoe ik dit makkelijk uit kan leggen aangezien beide eigenlijk totaal iets anders zijn, maar het is dus zeg maar dat de kernel in een GUI de GUI zelf niet regelt.

In een kernel terminal zijn de doelen van een terminal anders. Zie het als een upgrade van MS-DOS naar windows 95, je kan het niet met elkaar vergelijken. Het werkt compleet anders. Een andere werkomgeving/container.

Ik hoop dat je een beetje begrijpt wat ik bedoel?
 
#95
Hetgeen dat mij de grote hoeveelheid huiswerk gaf deze maand is klaar, dit betekent dat ik vanaf nu weer het normale aantal tijd heb om aan BirdOS te werken.
 
#96
5011+ keer gelezen! Wat?!

Anyway, ik startte net het systeem op en kreeg dit te zien:



Ik ga een start maken aan dus drive/file management deze maand.
 
#98
Was de laatste /23 update goed qua technische details en doelen? Misschien wordt het meer details een te lang verhaal en ik schrijf ook niet zo interessant geloof ik.

Anyway, 23/4 wordt iets interessanter dan vorige maand maar met wat algemener/kleine dingetjes. De start met driveman is gemaakt.
 
Yay! *kuch kuch*

Ik heb altijd al een servertje van een oude laptop met Linux gebruikt om BirdOS te compilen (betekent ook wel: omtoveren tot een bestand die de computer begrijpt). Maar, ik kan jullie met trots mededelen dat deze het vandaag op software niveau begeven heeft.

De code zelf staat nog up-to-date op mijn PC staat (dus ik ben niks verloren). Maar nu is er wel een probleem. De (net up-to-date) uitvoerbare bestanden stonden wel op de server. Dus die ga ervan afhalen met behulp van een Ubuntu live USBtje (zou moeten lukken). Ook moet ik een andere manier bedenken om het compile verhaal op te lossen, hoewel ik een aantal ideeën heb wil ik hier nog even over na denken. Tijdelijk kan ik dus alleen toevoegen, maar niet testen. Ik hoop dit woensdag te hebben opgelost (nadruk op 'hoop').

Twee stappen vooruit, één achteruit. Zo hoort het ook te gaan blijkbaar.
 

Nieuwste berichten