1. Deze website gebruikt cookies en vergelijkbare technologieën. Dat houdt in dat wij het gedrag van bezoekers verzamelen, gebruiken en met derden delen om u een optimale gebruikerservaring te bieden. Cookies van derden kunnen worden gebruikt om advertenties te tonen die aansluiten op uw interesses. Door deze website verder te gebruiken, gaat u akkoord met ons gebruik van cookies. Leer Meer.

Het besturingssysteem genaamd BirdOS

Discussie in 'Hobbyhoek' gestart door maarten70, 9 dec 2016.

  1. maarten70

    maarten70 Bekend gezicht

    Hallo allemaal!

    Een aantal van jullie waren genteresseerd in mijn besturingssysteem, wat dat nou eigenlijk inhield... Ik heb nu informatie genoeg dat ik het aandurf om er dingen over te zeggen! :D

    Het plan is om een 32-bits protected mode besturingssysteem te maken met GUI (Graphical User Inteface) en al. En die GUI is best ambitieus, maar niet geprobeerd is niet geprobeerd natuurlijk. Dus ja. Ik werk zelf aan het systeem en heb een 'team' achter me (met mij meegeteld zijn we met z'n 4en) staan voor concept art en alles met video's en afbeeldingen. Ik ben niet op een punt waarvan je zegt 'goh, wat be je ver!'. Toch kom ik in de buurt.

    De designers (de rest van het team dus) schieten aardig op, en dat kan je zien in de nieuwsbrieven.

    Alle links:
    Wesbite: http://birdos2015.wix.com/feathercode
    Twitter: 'BirdOSdev'
    We hebben net de nieuwe nieuwsbrief eruit gegooid (nieuwsbrieven zijn in het stonecolen-english): December newsletter

    We hebben nog eerdere:
    November newsletter
    October newsletter
     
    Laatst bewerkt: 9 dec 2016
  2. Rubensky

    Rubensky Moderator Medewerker

    Vind het een interessant project! In hoeverre hebben jullie het al werkend?
     
  3. maarten70

    maarten70 Bekend gezicht

    Kort antwoord: Hardware/software signalen op een goede manier handlen.

    Lang antwoord:
    Ik ben nu met de IDT bezig (interrupt descriptor table). Om het simpel te zeggen: een interrupt is een signaal afgegeven door software of hardware. Op het moment dat dat gebeurd gaat de cpu alles opslaan waar het mee bezig is en het gooit een pointer op de stack waarin staat waar hij bezig was. Het zal dan gaan kijken of er iets staat wat zegt wat hij moet doen. Zo ja: voer uit wat er staat. Zo nee: negeer het en ga door.

    Het systeem regelt deze interrupts (althans, wat ermee gedaan wordt), maar de cpu weet natuurlijk niet waar dat is. Daar komt de descriptor table, het is vergelijkbaar met een soort tabel waarin staat wat hij moet doen en wanneer. De locatie daarvan speel je door aan de CPU. Dat is wat de descriptor table doet en is in het simpel.
    Een verschil tussen real mode (MS-DOS/FreeDOS) en protected mode (Windows, Linux) is dat je bij real mode de IDT niet hoeft op te zetten, day heeft de BIOS al voor je gedaan. Maar op het moment dat je naar protected mode gaat wordt daar overheen geschreven (dat laatste is een educated guess). Dus moet je hem er zelf bij gooien.

    Nu is het zo dat QEMU (virtuele machine) een error geeft. Een error die ik eerder ben tegen gekomen maar die niks te maken heeft met code maar ik geloof met QEMU zelf. Ik moet nu dus ergen anders testen (Virtualbox) maar dat is ernstig vervelend, niet de software zelf maar het proces om te testen. Anyway QEMU zegt dat het geen 4GiB kan vrijmaken. Maar die 4GIB heeft hij helemaal niet nodig. Virtualbox werkt met 32mb RAM gewoon prima met dezelfde code.

    Dus ik moet me even verdiepen in hoe we dat gaan oplossen.
     
  4. Rubensky

    Rubensky Moderator Medewerker

    Een leuk verhaal. Ik hoop dat je ons op deze manier op de hoogte houd van jullie voortgang vind het een erg interessant project.

    En misschien kan je de error hier plaatsen en is er iemand hier met de gouden tip.
     
  5. maarten70

    maarten70 Bekend gezicht

    Dank je!
    Ik zal kijken of het nodig is om de vraag te stellen. Waarschijnlijk is het inderdaad wel handig. :)
     
  6. Rubensky

    Rubensky Moderator Medewerker

    Ja, waarom zou je niet. Misschien is er wel iemand die de fout een keer bij de hand heeft gehad of er kennis aan heeft. Nu, dan wil die je denk ik wel verder helpen.
     
  7. maarten70

    maarten70 Bekend gezicht

    Qemu werkt weer, klein foutje met welk bestandje ik gebruikte.....
     
  8. Rubensky

    Rubensky Moderator Medewerker

    Verkeerde link oid? Dat overkomt iedereen denk ik wel eens. ik vergeet in PHP ook wel eens een ;
     
  9. maarten70

    maarten70 Bekend gezicht

    Ja dit was iets anders:

    Ik had voor debugging de 'kernel' compiled naar kernel2.sys. Daardoor had ik dus kernel.sys (oud) en kernel2.sys (nieuw), ik compilde altijd kernel2.sys maar ik teste kernel.sys (die werd nooit meer geupdatet). Kernel.sys had dus die error.

    Dus ja dat was 't...
     
    Laatst bewerkt: 14 dec 2016
  10. Rubensky

    Rubensky Moderator Medewerker

    Het nare van dat soort dingen is dat je jezelf helemaal blind zoekt naar dat soort dingen. Je blijft er maar mee bezig maar kan hem echt niet vinden. Dan ineens zie je hem en denk je o ja, logisch.

    kan best wel een beetje frustrerend zijn.
     
  11. maarten70

    maarten70 Bekend gezicht

    Update BirdOS e.d.:

    Sinds de laatste keer heb we een aantal dingen toegevoegd aan BirdOS:
    - CMOS tijd, BirdOS kan nu 'wachten' tot maximaal 9 seconden
    - Het toetsenbord is nu werkend en de komende weken gaan we het toetsenbord en de muis uitbreiden in
    functionaliteit

    De volgende dingen zijn 'known issues' in het systeem zoals 'ie nu is:
    - CMOS tijd kan niet werken met 2-cijferige nummers/cijfers (soms telt hij 4 seconden als 1 seconde)
    - Backspace werkt maar voor een regel, kom je met de cursor op een regel eerder dan kan hij geen karakters meer
    weghalen

    De volgende dingen hebben we met FeatherCode (het 'bedrijf' van BirdOS) gedaan:
    - We hebben nu een ticket/support systeem voor support in de toekomst
    - Op de website is nu een manier om je op te geven voor email nieuwsbrieven (bijna maandelijks wordt er een uitgegeven)
    - Twitter bestaat nu ook voor ons

    De volgende overige dingen zijn gedaan, gebeurd en besloten:
    - Van nu af aan komen er twee versies van BirdOS: Bird DOS en BirdOS
    - Een van de designers had een computer die niet meer wilde opstarten, na een clean install van Windows hebben we opnieuw moeten beginnen met concept art (het is nu veel mooier aan het worden)

    Misschien zijn de volgende dingen interessant:
    - Het systeem is op dit moment in totaal 15kb groot
    - Het systeem heeft nu meer dan 750 regels code, en het kan nu pas alleen maar een basis US-toetsenbord een soort van interperteren.
    - Je zou nodig hebben (om op dit moment BirdOS te gebruiken) een toetsenbord, scherm, 60kb RAM, x86 CPU en een video card met minstens 1mb VRAM

    Groet,
    Maarten
     
  12. maarten70

    maarten70 Bekend gezicht

    Dit is inmiddels opgelost. De volgende dagen zal ook een nieuwe nieuwsbrief uitgegeven worden. We gaan waarschijnlijk ook een versie uitgeven voor de fun, maar hier zal je nog meer over horen als we er eenmaal klaar voor zijn.

    Je kan de meer technical dingen, de soort van 'devblog' hier bekijken. Dit is ook gelijk meer up to date.

    Ik zal jullie zoveel mogelijk op de hoogte te houden, zolang mogelijk.
     
  13. Rubensky

    Rubensky Moderator Medewerker

    Komt de nieuwsbrief alleen in het Engels uit?
     
  14. maarten70

    maarten70 Bekend gezicht

    Ja, tot op heden wel. Maar als je wilt kan ik er ook een in het Nederlands doen. Ik kan nieuwsbrieven toch opsturen naar bepaalde groepen/mensen en ook kan ik ze per link delen.

    Dus mocht je Nederlandstalige nieuwsbrieven willen, het is mogelijk. Zou je in het Nederlands willen?
     
  15. Rubensky

    Rubensky Moderator Medewerker

    Engels is voor mij op zich prima. Maar omdat je er hoer over vertelt is het misschien wel leuk daarom ook een Nederlandse te maken.
     
  16. maarten70

    maarten70 Bekend gezicht

    Je was eigenlijk precies op tijd: De Englse versie wilde ik vandaag uitgeven, dus dan kan ik NL'se gelijk maken en dan zet ik ze beide hier neer.

    Je hebt wel gelijk.

    En men kan zich trouwens ook via de website 'aanmelden' en dat is alleen even je email adres invullen in een vakje. Dan krijg je ze via de mail, mochten mensen dat fijner vinden om een of andere rede. Als je in het Nederlands wil via de mail zou je even een berichtje moeten sturen via 'Contact' dan komen er geen misverstanden.
     
    Laatst bewerkt: 14 apr 2017
  17. Rubensky

    Rubensky Moderator Medewerker

    Goed idee. Ik ben benieuwd wanneer de eerste versie te testen.
     
  18. maarten70

    maarten70 Bekend gezicht

  19. Rubensky

    Rubensky Moderator Medewerker

    Heb je enig zicht op wanneer we de eerste testversie mogen verwachten?
     
  20. maarten70

    maarten70 Bekend gezicht

    Als alles goed gaat tussen volgende maand en de maand erop. Maar het zal wel een heel erg simpele test versie zijn: een terminal en wat commands.
     
  21. Rubensky

    Rubensky Moderator Medewerker

    Oke ik ben benieuwd.
     
  22. maarten70

    maarten70 Bekend gezicht

    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...
     
  23. Rubensky

    Rubensky Moderator Medewerker

    Wat is het doel waar jullie naar streven met dit OS?
     
  24. maarten70

    maarten70 Bekend gezicht

    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.
     
  25. maarten70

    maarten70 Bekend gezicht

    Laatst bewerkt: 18 apr 2017
  26. maarten70

    maarten70 Bekend gezicht

    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
     
  27. maarten70

    maarten70 Bekend gezicht

  28. maarten70

    maarten70 Bekend gezicht

  29. Rubensky

    Rubensky Moderator Medewerker

    Zal me er zeer binnenkort eens in verdiepen en kijken wat ik ervan vind.
     
  30. maarten70

    maarten70 Bekend gezicht

    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.
     
  31. maarten70

    maarten70 Bekend gezicht

    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:
    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.
     
  32. maarten70

    maarten70 Bekend gezicht

    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).
     
  33. Rubensky

    Rubensky Moderator Medewerker

    We zijn benieuwd naar hoe ver dit systeem gaat komen.
     
  34. maarten70

    maarten70 Bekend gezicht

    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...
     

Deel Deze Pagina