Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 20 reacties
Bron: MenuetOS.org

MenuetOS is een van de weinige zelfgebakken besturingsystemen die op het net te vinden is. In tegenstelling tot Linux is MenuetOS niet geschreven in de programmeertaal C, maar in 32-bit x86 assembly. De nieuwste versie van het besturingssysteem is genummerd als 0.75 en kent de volgende release notes:

Menuet has no unix roots and the basic system is meant to be clean asm based structure. Menuet isn’t based in any particular operating system, since the idea has been to remove the extra layers between different parts of software, which complicate programming and create bugs.

0.75

    Gateway and PPP support; Dns, Chess etc. clients; Rtl8139 drive
Features
  • pre-emptive multitasking, multithreading, ring-3 protection
  • graphical UI with 16 M colours up to 1280x1024
  • faster programming language than in Win, Linux, ..
  • ide: editor/compiler for assembly kernel and applications
  • kernel and application sources included (GPL)
  • TCP/IP stack with PPP & Ethernet drivers
  • http/mp3/email servers, 3D maze
  • free-form, skinnable application windows
  • hard real-time data fetch
  • fits in a single floppy !
[break]Op deze pagina zijn verschillende voorbeelden te downloaden en kunnen eventueel als inspiratie dienen.

MenuetOS (klein)
Versienummer:0.75
Website:MenuetOS.org
Download:http://www.menuetos.org/MSETUP.EXE
Bestandsgrootte:1,43MB
Licentietype:Freeware
Moderatie-faq Wijzig weergave

Reacties (20)

MenuetOS is wel grappig, vooral als je nagaat dat ik deze zelfs op een laptop kon draaien, maar denk niet dat de onwikkeling zo snel gaat, had 6 mnd terug al gezien wat ie kon.
Nog zo'n leuk project is SkyOS welke bijna de 5 final uitbrengt (participeren ook nederlanders mee in dat project) www.skyos.org
Ook al wel eens gekeken naar http://syllable.sourceforge.net/
waar de ontwikkelingen van syllable ook niet stil staan.

P.S. DR DORE

Waar jij het over hebt zijn de programeerwedstrijden welke allemaal verzameld zijn op www.scene.org Kijk hier eens bij haal of Fame of top ten downloads, truuk hiervan is de voledige graphic opbouwen uit vectoren mbv directx features.
Maar wel knap dat bijv de 64 kb demo's 5 minuten muziek en geluid bevatten. (na rendering idd zeer groot)
VISOPSYS ook al eens gezien? (Visual Operating System) www.visopsys.org
heb nooit van dit gehoord maar ziet er wel goed uit.
Dit is wel wat leuks om me bezig te houden

Ik heb eerder een Assemly demo gezien die op 64kb paste en data genereerde data over 1gb ging :S

Is dit ook zoiets of zo ? 1.43mb is wel klein en past nog net op het randje van een floppy. Moet je deze OS perse installen of kan je gewoon als bootable gebruiken
Wat is dan precies het grote voordeel van assembly? Waarom is het sneller?
Assembly is machinetaal. Je geeft dus direct commando's aan de proccessor en het geheugen, waardoor je (theoretisch gezien) een sneller werkend OS krijgt.

Aangezien niet iedereen assembly kan lezen en schrijven ( het is nogal abracadabra ) zijn er zogenaamde tweede, derde en vierde generatie talen uitgevonden, die het geven van instructies aan de processor nogal een stuk vereenvoudigen en leesbaarder maken.

Deze talen worden dan door middel van een zogenaamde compiler weer omgezet naar machine code (assembly dus) zodat je pc het ook weer snapt :)

Google is je vriend als je meer over dit onderwerp wil weten :)
Assembly is geen machinetaal!

Voorbeeld van machinetaal:
011010101101010101010101010010100101010
Voorbeeld van Assembly:
; This program displays "Hello, World!"

dosseg
.model small
.stack 100h

.data
hello_message db 'Hello, World!',0dh,0ah,'$'

.code
main proc
mov ax,@data
mov ds,ax

mov ah,9
mov dx,offset hello_message
int 21h

mov ax,4C00h
int 21h
main endp
end main
Dat was dus een "hello world!" voorbeeld ja :)

Voor een wat uitgebreidere uitleg wat nou WEL het verschil is vertrouw ik even op de uitleg van <a href="\"http://www.aaxnet.com/info/glosoft.html\"" target="_blank">deze site hier</a>
Programming
Programming is the art (or science) of writing instructions for a computer. These instructions are written in a "language". There are several levels of language, but all languages must be boiled down to machine code for the machine to understand them.
machine code - written entirely in 0s and 1s which represent "off" and "on". Machine code programs are refered to as "binaries".
assembly - A system of memnonics (like MOV, NOP, JMP) each representing a small chunk of machine code which does something specific. Assembly is read and converted to machine code by a program called an assembler. The smallest and most efficient programs are written by ace assembly programmers.
higher level programming languages, including:
Third Generation - languages reasonably readable by a human with a programming background, but still rather detailed. Examples are Pascal, C, Fortran, BASIC, COBOL. These are converted to machine code in advance by a program called a compiler (Pascal, C, Fortran, etc.), or while the program is being run by an interpreter (some BASICs). Compiled languages are more demanding to program, but run many times as fast.
Structured Languages - a variety of third generation languages that encourage orderly, modular, maintainable programs (Pascal, Modula, C) versus "spagehetti code" (BASIC) by adhering to the three holy control structures (IF,THEN,ELSE; WHILE DO; DO UNTIL) + CASE or SWITCH or something, and by making it a terrible moral offense to use the GOTO statement.
Fourth Generation - database languages, where very complex operations are represented by relatively simple statements. Since these complex operations must be generalized for many uses, the resulting programs are larger and slower than third generation programs but are much easier to write. They are converted into machine code by compilers, interpreters, or often a combination of both.
Fifth Generation - an advanced proramming language project by Japanese industry which was to show once and for all that Japanese can be innovators, not just copiers. It faded quickly into oblivion, not for lack of innovation, but because each company that participated in the project, as soon as they saw something profitable, grabbed it and ran - until there were no participants left.
Object Oriented - the current "latest & greatest" programming method. Structured programming taken to another level. The object of object oriented programming is to program well tested "objects" that can be used over and over in different programs without further testing. Legend has it someone, somewhere succeeded in this at least partially at least once. Examples of Object Oriented languages are SmallTalk, C++ (properly pronounced "C incremented"), Java and Eifel. Object oriented programming is useful to keep large programming projects reasonably organized.
Edit:
Wees nou niet zo kinderachtig om ook deze post omlaag te modden, wordt daar onderhand moe van...
Jouw assembly heeft (MS-)DOS nodig :o
KEWL!!! :D
Heeft *iemand* hier al enige ervaring mee? :P
Een OS in assembly, Beos, here we come! :*)
hmja, maar wel crappy dat het dan weer op een flop geinstalleerd moet worden. Dit past in het rijtje van QNX
uhm, QNX 4 past misschien op een floppy, maar versie 6 zeker niet. Daar kun je wel degelijk wat mee.
Daar zitten ook diverse programmas bij zoals een browser. Al is het is wel voor embedded applicaties bedoeld.

Natuurlijk leuk zo'n los OS. Maar je moet er wel wat mee kunnen. Of je eigen programma's kunnen schrijven. Maar dat kost wel erg veel tijd lijkt me. Dan kun je met Beos of QNX tenminste direct wat doen.
Kan je dit OS nou op je floppy draaien? En hoe sla je al je files op?
Wat dacht je van floppy eruit ander floppy erin. Lijkt me dat het wordt geladen in het werkgeheugen. (had ooit een vriend met PC zonder harddisk die moest altijd een serie floppy's door werken bij het opstarten van pc met windows (3.11 ofzo))
Heel simpel: De installatie verloopt via de floppie, zo ongeveer hetzelfde als je een installatie bij Linux uit zou kunnen voeren.
Je kunt die floppie ook als live-floppie gebruiken, dus draaien vanaf de floppie, zoiets als bij knoppix, maar om zooi op te slaan moet je toch echt op de HDD vertrouwen.
een heel OS in assembly?
dan zal het wel heel erg snel zijn, * 786562 Rick
Na, de (kleine) prestatieswinst die je hebt tov een kernel die geschreven is in C (linux) weegt volgens mij bij lange na niet op tegen de extra tijd die het kost om het te schrijven.

Als je een beetje weet hoe je C moet schrijven, hoe het wordt omgezet naar assembly en een goede compiler hebt, dan schrijf je in C bijna net zulke efficiente code als in pure assembly alleen dan veel sneller en begrijpelijker...
ik ga er vanuit dat dan ook wordt gedaan?

anders gaan ze toch geen ander OS in elkaar beginnen steken?
Het is een leuke idee maar het werken met meerdere lagen heeft juist veel voordelen.

Zoals je nu ziet met DirectX hoeft een spel maar zich aan 1 set te houden inplaats van voor elke videokaart te programmeren.

Netwerk Protocollen ook...kunnen verschillende soorten pakketjes vervoeren over een medium!

Assembly is leuk, en zeker sneller.... maar ik zie een probleem... het uitbreiden van de mogelijkheden is een stuk moeilijker.

Het is zeker leuk voor een embedded OS. CD persers of andere tijdsgevoelige machinery kan zeker gebruik maken van een sneller OS.

Het probleem... uitbreiden....
Swampy, asm kan dat net zo goed.

Je kan in windows ook asm progs schrijven met TASM, MASM, of NASM (oa).

Je kan net zo goed met meerdere lagen werken en ik vind het minder moeilijk te begrijpen dan C.

Je moet echter wel goed kunnen programmeren en erg netjes/gestructureerd code schrijven en geen fouten maken, dat kan hier wat eerder fataal zijn. Helaas is dit schijnbaar te moeilijk voor de heren van Linux > :).

Ik heb me altijd afgevraagd waarom de compiler van c code niet eerst een assembly bestand output en dat vervolgens assembleert met een assembler to object code enz enz.

Nu maken ze meteen objectcode, en alhoewel dat redelijk portable is (daarvoor is het bedacht neem ik aan) is het nog steeds niet goed te optimaliseren of te ontdoen van mogelijke foutjes in je (C) compiler zo...
Allemaal heel erg leuk om mee te spelen, maar erg bruikbaar is het helaas niet.

Vind het trouwens wel nettjes dat het MenuetOS op één diskette past.
Geweldig ding dit!!

Ik heb het net even geprobeerd op mn laptop, werkt schitterend! zowel qua beeld (16miljoen kleuren 1024*768) als van touchpad als netwerkkaart. Schitterend!

PS vier op een rij is een aanrader, die pc is echt niet te verslaan op zijn hoogste niveau... :)

Als je zoiets kan in assembler ben je echt wel goed!

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True