• De afgelopen dagen zijn er meerdere fora waarop bestaande accounts worden overgenomen door spammers. De gebruikersnamen en wachtwoorden zijn via een hack of een lek via andere sites buitgemaakt. Via have i been pwned? kan je controleren of jouw gegeven ook zijn buitgemaakt. Wijzig bij twijfel jouw wachtwoord of schakel de twee-staps-verificatie in.

BirdOs Het besturingssysteem genaamd BirdOS

Status
Niet open voor verdere reacties.
Oke ik ben benieuwd.
 
Ik wil even bevestigen dat ik zeker weet dat ik volgende maand die versie klaar heb. Verwacht er niet al te veel van, het is nog steeds een simpele text-based... :)

Ooit gaat dit veranderen...
 
Wat is het doel waar jullie naar streven met dit OS?
 
In het kort: Simpel maar goed bruikbaar als vrijetijdsbesteding en misschien zelfs voor op kantoor. Een besturingssysteem dat performance gericht is maar dat niet gebruikt als smoes om niks te kunnen. Om maar even te doen alsof het leeft.

Mijn doel is dat we een besturingssysteem maken die performance gericht is en dat het besturingssysteem een simpel is: Niet zoals bij Microsoft dat je allerlei apps erbij krijgt die je toch niet gebruikt. En ook het design willen we simpel houden, wel dat het er goed uitziet maar niet dat het bomvol features zit. Dat is het ultieme doel. Maar dan moet je ook drivers schrijven voor bijvoorbeeld de verschillende architecturen van de verschillende grafische kaarten (bijvoorbeeld de pascal series van NVIDIA nu). Wat gezegd wordt dat dat tijdsverspilling wordt. Je hoeft overigens maar een driver te schrijven als je maximale resolutie 640x480 is. Maar wie wil dat nou! :p

Het doel dat we echt willen behalen is een simpele user interface met een maximale resolutie van 640x480. Want, tot die resolutie is de manier waarop je graphics mode [1] inschakelt en handelt hetzelfde.

[1] MS-DOS is text mode en Windows is graphics mode. (extreme voorbeelden)

Qua wat we willen qua programma's voor BirdOS: Ze hebben een eigen bestandsextensies, waarschijnlijk een die we zelf moeten gaan maken. En programma's zijn optioneel verkrijgbaar behalve een aantal apps zoals instellingen en een webbrowser. Bestandsextensies ondersteunen zoals .exe, dat wordt een grote rotzooi want er zijn wel honderden soorten .exe's die allemaal anders genterpreteerd moeten worden.

Maar goed, zo ver zijn we nog niet.
 
Laatst bewerkt:
Jazeker, in mei kan je BirdOS verkrijgen (compleet met release notes e.d. waar ook de plannen voor de volgende uitgave instaan). Misschien zal je je heel erg vervelen... Alvast een sneak peek:

shell2.PNG
 
Zal me er zeer binnenkort eens in verdiepen en kijken wat ik ervan vind.
 
Als je bugs vindt die niet in de Release Notes staan, zou je die willen doorgeven? Ik denk niet dat er veel zijn. En ik heb er al een aantal 'gefixt' die niet in de Release Notes staan. Zoals een probleem met echo en verkeerde commands: Als je één karakter gebruikte met echo, dan zouden "unknown commands" niet herkend worden als unknown. Dit was omdat ik de keyboard buffer niet leegmaakte, hierdoor (omdat ik de keyboard buffer gebruik om commands en user input te vergelijken) werd echo steeds gebruikt als command. Ookal voerde het echo op dat moment niet meer uit.
 
Er is een nieuwe build waarin de volgende issues verholpen zijn:

[1] Het probleem met [SHIFT] is opgelost, voorheen liet het zichzelf zien als een '6' (vanwege de keycode die wordt vertaalt naar leesbare tekst). Nu doet [SHIFT] helemaal niks.

[2] Het probleem met "PAUSE" is ook opgelost, eerst was het zo dat er geen nieuwe lijn werd gestart nadat "PAUSE" klaar was. Nu doet hij dat wel.

[3] Het probleem met "ECHO", genoemd in de orginele post, is dus ook opgelost. Ofwel:
Zoals een probleem met echo en verkeerde commands: Als je één karakter gebruikte met echo, dan zouden "unknown commands" niet herkend worden als unknown. Dit was omdat ik de keyboard buffer niet leegmaakte, hierdoor (omdat ik de keyboard buffer gebruik om commands en user input te vergelijken) werd echo steeds gebruikt als command. Ookal voerde het echo op dat moment niet meer uit.

Die kleine dingetjes zijn opgelost in build 193: https://github.com/FeatherCode/FeatherCode/tree/master/BirdOS%200.20%20build%20189
Vergeet ook hier niet op "view raw" te klikken om het te downloaden.
 
Ik ben nu bezig met memory management, dit zal wel even duren... Maar de volgende versie kan objecten 'verschuiven' in de memory en de versie daarna kan waarschijnlijk wat met hardeschijven doen... Tegen die tijd zou ik moeten overstappen naar een bootloader (en virtualbox).
 
We zijn benieuwd naar hoe ver dit systeem gaat komen.
 
Ik ben al een poosje niet meer op dit forum geweest... :(

Anyway, de nieuwe website is nu af: http://feathercode.github.io. Er zijn een aantal dingen veranderd, misschien kan je ze allemaal vinden. :p
Voor de website hebben we nog wel wat leuke dingetjes nodig zoals cartoon achtige uilen voor de 404 error (Not Found) pagina. Meer informatie daarover is te vinden op http://feathercode.github.io/we-need-art.

Voor de rest is er niet zoveel interessants gebeurt en gedaan...
 
Gegroet Nederlands internet en NCF...!

Ik dacht ik zal hier even een update'je geven...

Anyway, ik heb de website aangepast: de about page is vernieuwd en ik heb een blog page gemaakt op de website om meer aan visies te doen die we hebben. Dus als je naar FeatherCode (feathercode.github.io/blog) zou gaan kom je daar een blog tegen, waar nu maar één post op staat. Het is niet helemaal mobiel vriendelijk (naja, op een mobiel is het meer praktisch dan mooi) dus ik raad aan de website te bekijken op een tablet+ (tablet+ betekent alles groter dan een tablet en een tablet zelf). Ik zou graag horen wat je er van vindt. We gaan de andere pagina's zo snel mogelijk verbeteren.

Als we eenmaal genoeg blogposts hebben gaan we Blogger verlaten omdat dit niet aan onze visie (ja, zover zijn we al, met visies, erg hé) voldoet en omdat het, naar onze mening, geen fijne dienst is. Verder hebben we de about page een tekst gegeven die beter is en de credits is op een iets oog-vriendelijker manier weergegeven. De tekst is echter wel een beetje geschreven op de manier 'Je praat veel maar je zegt weinig'. Dit gaat veranderen als we eenmaal meer over ons te zeggen hebben.

Ook heb ik Twitter laten beslissen in welke volgorde mijn volgende drie onderdelen van BirdOS zou maken, laten bepalen. Het is deze volgorde geworden: VESA (hoge scherm resoluties), mouse support en daarna RAM. Geinig hieraan is, dat het belangrijkste van de drie niet interessant wordt gevonden. Toch is het zo dat ik VESA en de RAM gedeeltelijk tegelijk kan maken, en daarna, na wat initializing ze één voor één kan wegwerken. Mouse support lijkt me eigenlijk wel leuk om te doen, dus daar verheug ik me op!

De afgelopen weken heb ik CPUID toegevoegd, hierdoor kunnen we kijken wie je CPU gemaakt heeft. Een commando genaamd systeminfo die gebruik maakt van CPUID en de volledige naam van de versie van BirdOS is ook toegevoegd aan het geheel. Verder hebben we nog een bug gevonden die ik op dit moment als een feature ga behandelen: als je op de onderste lijn van het scherm komt (kan je alleen doen door op enter te drukken tot je nog één witregel onderaan overhoudt en dan op spatie of tab drukt tot je op de volgende lijn bent) en wat typt op een x-coördinaat waar geen tekst komt, dan wordt dat herhaalt op elke lijn tenzij je de clear screen functie gebruikt. Dit is een bug die blijkbaar vanaf mijn eerste uitgegeven build bestaat, alleen is het steeds verandert. In build 189, als voorbeeld, is het zo dat je tekst steeds herhaalt wordt als nieuw commando omdat er iets fout gaat in de keyboard buffer (als ik er een snelle blik op werp).

Ook is er een nieuwe manier van versie aangeven, niet een grote verandering, in plaats van major.minor.build hebben we nu major.minor.build.revision (aangezien de revision best wel handig is, niet elke keer dat je iets compileert is er echt iets verandert, je kan bijvoorbeeld gewoon een functie aangepast hebben omdat het niet functioneerde). Officieel gezien is het ook al heel lang codename BirdOS aangezien we er met de naam nog niet helemaal uit zijn, maar we gebruiken gewoon BirdOS als naam.

We hebben ook een kernel panic voor exceptions en errors zoals bijvoorbeeld DEVISION_BY_ZERO. De huidige BirdOS versie is 0.20.271.2.

Voor de geeky-info-maar-eigenlijk-toch-ook-weer-niet-aangezien-het-niet-echt-technische-details-zijn info, dit zijn de bugs die we opgelost of gevonden hebben en de functies die we toegevoegd hebben:

---
- 31Tab bug is ontdekt (is zo genoemd omdat we eerst dachten dat het door [TAB] kwam wat later niet zo bleek te zijn)
- Systeminfo functie toegevoegd
- Er is nu een functie voor berichten in 'Real Mode' (16-bit)
- [TAB] werkt
- Cursor uitschakelen (voor de kernel panic)
- De "echo"-functie is aangepast vanwege een bug met de eerste letter van echo, zo werd "wcho" ook aangezien als "echo"
- Een probleem met de single-quote opgelost die resulteerde in de karakters '0' of 'Σ'
- Kernel panic toegevoegd
- 'help' bericht aangepast --> "CLSCR" is nu "CLS"
- De numpad star ('*') verschijnt nu op het scherm, eindelijk
- De toets [6] doet het weer
- Het probleem waar sommige toetsen als [ENTER] aangezien werden is opgelost
- Heb een probleem verholpen dat [SHIFT] als symbolen werd aangezien ([SHIFT] wordt nog niet ondersteund)
- [ALT] en [CTRL/COMMAND] zijn nu geen symbolen meer
- Een double fault kan nu opgevangen worden
- Een typfout dat resulteerde in het niet clearen van de laatste lijn bij "CLS" is opgelost
- Pause start nu een nieuwe lijn na je op [ENTER ] hebt gedrukt
---

Dat was 'm!
- Maarten
 
Klein kort update dingetje. Ik heb een nieuwe manier gevonden om te testen, ik heb nu namelijk een bootable iso van BirdOS die steeds met elke nieuwe build gemaakt wordt. Helaas heb ik laatst de command shell gesloopt, dus er zijn heel veel dingen die gewoon niet meer werken zoals het zou moeten.

Hierdoor werkt het in VirtualBox en, ik heb het zojuist getest, op een echte laptop. Foto die ik hiervan gepost heb op Twitter.
 
Nu doe ik er een jaartje over. Ik begon met BirdOS 16-bit real mode op 14 september 2014, maar dat vond ik 'saai' worden. Ik ben toen gestopt en had wat research gedaan, en in 2016 was ik verder gegaan maar met een 32-bit protected mode besturingssysteem, dat is deze.

16-bit Real Mode was standaard in MS-DOS tijd, je had maximaal maar 1MiB RAM dat je kon gebruiken, had je bijvoorbeeld 2 MiB RAM kon het besturingssysteem de laatste 1MiB in principe niet gebruiken. Ook kon je niet multitasken en hadden programma's bijna alle macht over het systeem*, virussen konden makkelijk bij data van andere applicaties of konden heel gemakkelijk je systeem overhoop halen.

*= dit kwam omdat het besturingssysteem niet kon multitasken, het programma kreeg de beurt om zichzelf uit te voeren en het besturingssysteem hielp pas als het programma daar om vroeg.


In 32-bit protected mode (32-bit PM), is (zoals de naam eigenlijk al zegt) er de mogelijkheid voor het besturingssysteem om beveiligingen in te bouwen. Dit soort beveiligingen hebben vooral te maken met de RAM, als zo'n besturingssysteem die beveiligingen gebruikt kan een programma moeilijk de 'blokken' van andere programma's gebruiken (waardoor er niks in de RAM overschreven kan worden wat niet van jou is, tenzij je het besturingssysteem zelf bent, die mag 'alles' doen). Voorbeelden van beveiligingen zijn paging en segmentation. In 32-bit PM heb je maximaal 4GiB aan RAM dat je kan gebruiken, dat is veel meer. Het besturingssysteem kan een 'extended memory' optie aan zetten om meer GiB's te ondersteunen (alles boven 4 GiB), zoals 32-bit Windows doet. Dit is eigenlijk niet de moeite waard, ik ga mijn besturingssysteem ook maximaal 4 GiB laten ondersteunen. En natuurlijk is er dan nog multitasking.
 
Heb je echt het idee dit systeem in de loop der jaren uit te brengen?
 
Ja, ooit wanneer het af is hopelijk. Ik hoop binnen max. 2 jaar een soort van klaar te zijn (dat is natuurlijk de droom), maar misschien wordt dit wel 4, 5 of 6 jaar. Ik zit nu op het punt wat ik 'de helft' noem en ben net met een 'nieuw' onderdeel begonnen, na dit zou het redelijk snel moeten gaan (nadruk op 'zou').

Het 'nieuwe' onderdeel is paging, ik heb er in de zomer ook al over gepraat, maar was er nog niet echt aan begonnen. Na dit komen Storage Management en een GUI, is het plan. Wat daarna komt is open ter discussie, internet zou er bijvoorbeeld een kunnen zijn maar bijvoorbeeld apps en games ondersteunen kan ook. Dit ga ik ook pas tegen die tijd bedenken, en misschien laat ik geïnteresseerden wel kiezen. De planning is eind volgend jaar met de GUI te beginnen, maar ik zit volgend jaar wel midden in het examen jaar, dus dit zal misschien wel helemaal niet uitkomen. Wat dat aan gaat heb ik het meest slechte moment uitgekozen om hieraan te beginnen.

Misschien klinkt het de laatste tijd alsof ik terugkrabbel. Maar toen ik, de toen veel te enthousiaste mij, aan dit project begon had ik veel valse beloftes gemaakt. Dus dat was niet zo handig, daarom tegenwoordig geen beloftes alleen heel duidelijk benadrukken dat het een mogelijkheid is. Gelukkig was er toen nog niemand die het project volgde, anders had ik die beloftes waar moeten maken, en dat zou wat minder leuk zijn. Een aantal van die beloftes waren:

- Alle Windows, Linux en Mac OS executables kunnen runnen, je kan nu al wel zien dat dat geen optie is (Windows heeft veel verschillende soorten .exe's en ik weet niet eens wat de bestandsextensie is van Mac executables). Ik ga waarschijnlijk in het begin .deb's ondersteunen alleen, dit omdat dit een makkelijk doelwit is. Linux maakt alles open source wat betekent dat je gauw kan begrijpen hoe en wat. Nu is .deb alleen een installtaiebestand, maar wel iets om mee te starten.

- Het zou oorspronkelijk in december 2017 uitkomen, ik had er drie jaar voor gepland. Want, 14 september 2014 was de eerste dag dat ik aan BirdOS begon. Hoewel ik halverwege een grote omslag heb gemaakt noem ik dat nog steeds de eerste build van BirdOS en het heeft zelfs een versie naam. Dit was 16.v0.00, nu kan je dit niet een versie noemen vanwege de vele nulletjes, maar het geeft wel het begin van het project aan.

Verder is het nog steeds een willen van een GUI, ik hoop dat het werkt (en het is ook niet per se het moeilijkste). Er moet alleen wat aandacht naartoe gegooid worden.

Ik ben meerdere malen van website domein veranderd (huidig is http://feathercode.github.iowaar ik nog steeds mee bezig ben, ik heb weer de look veranderd), maar mijn eerste website was BirdOS en daarna kwam FeatherCode - Home, waarvan beide nog steeds bestaan. Je kan goed zien hoe ik per domein anders over het project dacht. Het enige dat nooit veranderd is, is het email adres.

Misschien geinig om te weten: De huidige website is geïnspireerd op de website van de Alien films, die ze helaas nu hebben veranderd dus ik kan het niet laten zien. En een beetje van de Nerdist website.

Mijn Nederlands is een beetje slecht vandaag, sorry.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan