Lançamento do ELKS 0.6, uma variante do kernel Linux para processadores Intel de 16 bits mais antigos

Foi publicado o lançamento do projeto ELKS 0.6 (Embeddable Linux Kernel Subset), desenvolvendo um sistema operacional semelhante ao Linux para processadores de 16 bits Intel 8086, 8088, 80188, 80186, 80286 e NEC V20/V30. O sistema operacional pode ser usado tanto em computadores antigos da classe IBM-PC XT/AT quanto em SBC/SoC/FPGAs recriando a arquitetura IA16. O projeto está em desenvolvimento desde 1995 e começou como um fork do kernel Linux para dispositivos sem unidade de gerenciamento de memória (MMU). O código-fonte é distribuído sob a licença GPLv2. O sistema é fornecido na forma de imagens para gravação em disquetes ou execução no emulador QEMU.

Existem duas opções para a pilha de rede - a pilha TCP/IP padrão do kernel Linux e a pilha ktcp em execução no espaço do usuário. Adaptadores Ethernet compatíveis com NE2K e SMC são suportados por placas de rede. Também é possível criar canais de comunicação através de uma porta serial utilizando SLIP e CSLIP. Os sistemas de arquivos suportados incluem Minix v1, FAT12, FAT16 e FAT32. O processo de inicialização é configurado por meio do script /etc/rc.d/rc.sys.

Além do kernel Linux, adaptado para sistemas de 16 bits, o projeto está desenvolvendo um conjunto de utilitários padrão (ps, bc, tar, du, diff, netstat, mount, sed, xargs, grep, find, telnet, meminfo, etc.), incluindo interpretador de comandos compatível com bash, gerenciador de janelas do console de tela, editores de texto Kilo e vi, ambiente gráfico baseado no servidor Nano-X X. Muitos componentes do espaço do usuário são emprestados do Minix, incluindo o formato de arquivo executável.

Na nova versão:

  • Foi adicionado um interpretador de linguagem BASIC, adequado para estações de trabalho e sistemas flasheados em ROM. Inclui comandos para trabalhar com arquivos (LOAD/SAVE/DIR) e gráficos (MODE, PLOT, CIRCLE e DRAW).
  • Adicionado um programa para trabalhar com arquivos tar.
  • Os comandos man e eman foram adicionados para exibir manuais de manual e foi fornecido suporte para exibição de páginas de manual compactadas.
  • A implementação do bash possui um comando de teste integrado (“[“).
  • Adicionado comando "net restart". O comando nslookup foi reescrito.
  • Adicionada a capacidade de exibir informações sobre partições montadas ao comando mount.
  • A velocidade do comando ls em partições com sistema de arquivos FAT foi aumentada.
  • Desempenho e suporte significativamente aprimorados para sistemas de 8 bits no driver de rede NE2K.
  • O servidor FTP ftpd foi reescrito, adicionando suporte para o comando SITE e a capacidade de definir tempos limite.
  • Todos os aplicativos de rede agora oferecem suporte à resolução de nomes DNS por meio da chamada in_gethostbyname.
  • Adicionado suporte para copiar um disco inteiro para o comando sys.
  • Um novo comando de configuração foi adicionado para configurar rapidamente o nome do host e o endereço IP.
  • Adicionados parâmetros LOCALIP=, HOSTNAME=, QEMU=, TZ=, sync= e bufs= a /bootopts.
  • O suporte para discos rígidos SCSI e IDE foi adicionado à porta do computador PC-98, um novo bootloader BOOTCS foi adicionado, o suporte para carregamento de um arquivo externo foi implementado e o suporte para partições de disco foi expandido.
  • A porta para processadores 8018X adicionou suporte para execução a partir de ROM e melhorou o tratamento de interrupções.
  • Uma biblioteca matemática foi adicionada à biblioteca C padrão e a capacidade de trabalhar com números de ponto flutuante nas funções printf/sprintf, strtod, fcvt, ecvt foi fornecida. O código da função strcmp foi reescrito e significativamente acelerado. Uma implementação mais compacta da função printf foi proposta. Adicionadas funções in_connect e in_resolv.
  • O kernel melhorou o suporte para o sistema de arquivos FAT, aumentou o número máximo de pontos de montagem para 6, adicionou suporte para definir o fuso horário, adicionou uname, usatfs e chamadas de sistema de alarme e reescreveu o código para trabalhar com o temporizador.



Fonte: opennet.ru

Adicionar um comentário