MenuetOS: Difference between revisions

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
updated the latest x64-bit version information
 
(One intermediate revision by one other user not shown)
Line 13: Line 13:
| released = {{Start date and age|2000|5|16}} (32-bit)
| released = {{Start date and age|2000|5|16}} (32-bit)
| latest_release_version = 32-bit: 0.86B
| latest_release_version = 32-bit: 0.86B
| latest_release_date = {{start date|2019|09|02}}<br />64-bit: 1.56.00 / {{start date|2025|04|04}}
| latest_release_date = {{start date|2019|09|02}}<br />64-bit: 1.56.60 / {{start date|2025|10|30}}
| latest_test_version =  
| latest_test_version =  
| latest_test_date =  
| latest_test_date =  
Line 37: Line 37:


[[Multi-core processor|Multi-core]] support was added on 24 Feb 2010.
[[Multi-core processor|Multi-core]] support was added on 24 Feb 2010.
lindbs-os/
├── boot.asm
├── kernel.c
├── linker.ld
├── Makefile
[bits 16]
[org 0x7c00]
start:
    cli
    xor ax, ax
    mov ds, ax
    mov es, ax
    ; Carrega o kernel (supondo que esteja logo após o bootloader)
    mov si, msg
    call print
    ; Pula para o kernel
    jmp 0x0000:0x7e00
print:
    mov ah, 0x0E
.next_char:
    lodsb
    cmp al, 0
    je .done
    int 0x10
    jmp .next_char
.done:
    ret
msg db "LindBS: Iniciando kernel...", 0
times 510-($-$$) db 0
dw 0xAA55
void print_char(char c) {
    volatile char* video = (volatile char*)0xb8000;
    video[0] = c;      // caractere
    video[1] = 0x07;  // cor (cinza claro em fundo preto)
}
void kernel_main() {
    const char* message = "Bem-vindo ao LindBS!";
    volatile char* video = (volatile char*)0xb8000;
    for (int i = 0; message[i] != '\0'; i++) {
        video[i * 2] = message[i];
        video[i * 2 + 1] = 0x07;
    }
    while (1);  // loop infinito
}
OUTPUT_FORMAT("elf32-i386")
ENTRY(kernel_main)
SECTIONS {
    . = 0x7e00;
    .text : {
        *(.text)
    }
    .data : {
        *(.data)
    }
    .bss : {
        *(.bss)
    }
}
make run


== Features ==
== Features ==

Latest revision as of 19:22, 30 October 2025

Template:Short description Script error: No such module "Unsubst".Script error: No such module "Check for unknown parameters".

MenuetOS is an operating system with a monolithic preemptive, real-time kernel written in FASM assembly language. The system also includes video drivers. It runs on 64-bit and 32-bit x86 architecture computers. Its author is Ville M. Turjanmaa. It has a graphical desktop, games, and networking abilities (TCP/IP stack). One distinctive feature is that it fits on one 1.44 MB floppy disk.

History

32-bit

MenuetOS was originally written for 32-bit x86 architectures and released under the GPL-2.0-only license, thus many of its applications are distributed under the GPL.[1]

64-bit

The 64-bit MenuetOS, often referred to as Menuet 64, remains a platform for learning 64-bit assembly language programming. The 64-bit Menuet is distributed without charge for personal and educational use only, but without the source code, and the license includes a clause that prohibits disassembly.[2]

Multi-core support was added on 24 Feb 2010.

Features

MenuetOS development has focused on fast, simple, efficient implementation. MenuetOS has networking abilities, and a working TCP/IP stack. Most of the networking code is written by Mike Hibbett.

The main focus of Menuet has been on making an environment for easy assembly programming, but it is still possible to run software written in high-level programming languages on the assembler core. The biggest single effort towards high-level language support is Jarek Pelczar's work in porting C libraries to Menuet.

The GUI at version 0.99 supports display resolutions up to 1920 x 1080 (16 million colours) with window transparency. The OS has support for several classes of USB 2.0 peripherals. MenuetOS ships with the shareware versions of Quake and Doom.[1]

For disk access, MenuetOS supports the FAT32 file system.[3] Write support is only possible to USB connected devices.

As of version 1.49.60, MenuetOS can be booted on UEFI machines as well using Easyboot.

Distributions

32-bit

  • Menuet32
  • GridWorks "EZ" distribution (comprehensive 32-bit archive packages) (CD/HD Boots)

64-bit

The 64-bit main distribution is now proprietary. Several distributions of the 32-bit GPL MenuetOS still exist, including translations in Russian, Chinese, Czech, and Serbian.

See also

References

Template:Reflist

Bibliography

External links

Template:Sister project

Template:Hobbyist operating systems

Template:Real-time operating systems

  1. a b Template:In lang MenuetOS: In Assembler geschriebenes Betriebssystem, golem.de, 2009-08-10
  2. Cite error: Invalid <ref> tag; no text was provided for refs named license
  3. Template:In lang Яков Уваров (30 August 2005) Мал золотник, да дорог, Computerra