> man operating_systems
9 декабря вышла новая сборка Xameleon
Xameleon - российская микроядерная операционная система,базирующаяся на микроядре L4Ka::Pistachio. Архитектура системы очень близка к Unix, местами её повторяет.
9 декабря вышла новая сборка этой ОС, загрузочный диск доступен для скачивания с основного сайта.
Изменения в новой версии:
- увеличен размер виртуального диска до 1048576 байт;
- частично обновлено содержимое виртуального диска;
- исправлены ошибки в различных подсистемах;
- обновлена библиотека xameleon libc;

Источник: http://l4os.ru/

[Прислал Sergeev]
Roman I Khimov  в  Пятница, 10 Декабрь 2010, 20:43  |   Комментарии: 10  |  для печати

Комментарии
alman |15.12.2010 21:57
Комментарии: 58

Зарегистрирован: 28.10.2006 01:21

Спасибо за новость. Я очень благодарен Вам, Sergeev.
Вышла ещё одна сборка, единственное отличие которой - русификация консоли и русский README.

http://l4os.ru/russian_font

Sergeev |18.12.2010 20:50
Комментарии: 7

Зарегистрирован: 03.12.2010 10:28

Всегда пожалуйста. Я сейчас вновь болею и не часто на сайте, но буду следить за различными ОСями. В т.ч. и за этим чрезвычайно интересным проектом. Надо будет про него статью в КаталогОС впилить.. Хотя я не понимаю,что мешает это сделать таким же местным юзерам

Sergeev |27.12.2010 20:21
Комментарии: 7

Зарегистрирован: 03.12.2010 10:28

Так, Хамелеон кстати добавлен в КаталогОС

alman |30.12.2010 14:53
Комментарии: 58

Зарегистрирован: 28.10.2006 01:21

Спасибо.
Я сейчас рекурсивно ушёл в "дебри". Написал многопотчный ftp сервер. Писал и отлаживал, разумеется, на Линуксе. Когда сервер более-менее заработал, начал портировать на Хамелеон и тут началось "интересное".

    struct hostent *hp = gethostbyaddr( (const char*) &m_remote_address.sin_addr.s_addr, 4, AF_INET);


Функция используется для получения доменного имени из адреса. Такая, казалось бы, простая функция, но тянет за собой RFC 1035 (протокол работы с DNS сервером), кэширование ответов, UDP сокеты и множество маленьких функций, типа inet_addr.

Господи, дай мне сил и здоровья.



alman |08.01.2011 15:47
Комментарии: 58

Зарегистрирован: 28.10.2006 01:21

Ура, UDP сокеты заработали и DNS ресолвер готов! Появятся в новой сборке.



Но что-то совсем не радостно - слишком много ещё надо исправить и дописать.

Коллеги, бью вам челом. Помогите, кто чем может.

Вопрос N1. Этот код написан ещё в 2002 году. Функция меняет знакогенератор для текстового режима VGA карты.


typedef enum {
    seqReset,
    seqClockingMode,
    seqMapMask,
    seqCharmapSelect,
    seqMemoryMode
} type_VgaSeqRegisters;

const unsigned int        VGA_PORT_GRAPHICS            =    0x3ce;
const unsigned int        VGA_PORT_MISC_READ            =    0x3cc;
const unsigned int        VGA_PORT_MISC_WRITE            =    0x3c2;
const unsigned int        VGA_PORT_SEQUENCER            =    0x3c4;
const unsigned int        VGA_PORT_CRT_COLOR            =    0x3d4;
const unsigned int        VGA_PORT_CRT_MONO            =    0x3b4;
const unsigned int        VGA_PORT_MODE_SELECT        =    0x3d8;

const unsigned char        VGA_COLOR_BIT                =    0x01;


int VGA_Card::set_font(
    int                     ch,         // First character
    int                     count,         // Characters count
    int                     height,     // Character heights
    bool                    invert,        // Invert font?
    bool                    wide_char,    // Enable additional charset?
    unsigned char         *    ptr)        // Pointer to font
{    
    int                        result;
    int                        i, j;
    int                        position;
    unsigned char         *    font_ptr;
    unsigned char            mask;

    result = XAM_EINVAL;
//return result;
    if( ch + count < 512)
    {
        mask = invert ? 0xff : 0x00;
        
        vga_write_index_reg(VGA_PORT_SEQUENCER, seqMapMask, 0x04);
        vga_write_index_reg(VGA_PORT_SEQUENCER, seqMemoryMode, 0x04);
        vga_write_index_reg(VGA_PORT_GRAPHICS, graMiscallaneous, 0x0c);

        for(j=ch; j<count; j++) 
        {
            position = j << 5;
            font_ptr = (unsigned char*) video_memory;
            font_ptr += position;
            for(i=0; i<height; i++) 
            {
                *font_ptr++ = mask ^ (*ptr++);
            }
        }

        vga_write_index_reg(VGA_PORT_GRAPHICS, graMiscallaneous, 0x0e);
        vga_write_index_reg(VGA_PORT_SEQUENCER, seqMemoryMode, 0x03);
        vga_write_index_reg(VGA_PORT_SEQUENCER, seqMapMask, 0x03);
        // Do you want 512 glyphs ?
        if(wide_char) vga_write_index_reg(VGA_PORT_SEQUENCER, seqCharmapSelect, 0x20);
        result = S_OK;
    }
    return result;
}


Собственно вопрос, почему этот код обновляет знакогенератор на MS Virtual PC, но не работает на VMWare Workstation 7 ?
Буду признателен за помощь.

Вопрос 2. Разыскивается код минимальной реализации telnet клиента. Пробовал написать "за одну ночь", но не так всё просто. Разумеется, брать код из Linuх не хочется по лицензионным соображениям.

Очень надеюсь на вашу помощь и поддержку.

Roman I Khimov |08.01.2011 22:13
Комментарии: 952


По второму вопросу - OpenBSD-шный telnet не смотрел?

alman |09.01.2011 04:55
Комментарии: 58

Зарегистрирован: 28.10.2006 01:21

Проблема с телнетом решилась с помощью pthread_create - один поток на входные данные, второй на исходящие. Заработал, как ни странно. Но пока терминал слишком тупой - для bash его почти хватает, но Midnight Commander не воспринимает клавиши, хотя отрисовывается правильно.

alman |16.01.2011 05:30
Комментарии: 58

Зарегистрирован: 28.10.2006 01:21

Вышла новая сборка от 15 января 2011 года.

- исправлены некоторые ошибки реализации TCP протокола.
+ добавлена первоначальная поддержка UDP протокола.
+ добавлена утилита nslookup.
- исправлена ошибка в разборе параметров утилиты ln.
- исправлена ошибка в реализации библиотечной функции pthread_create.
+ добавлен разбор параметров утилитой ifconfig. В предыдущих версиях IP адрес и маска были прописаны в коде программы.
- исправлена ошибка загрузки шрифта на некоторых видеокартах.
+ добавлена утилита route.
* добавлены новые ошибки

Описание новой сборки и страница загрузки: http://l4os.ru/floppy_image/20110115

alman |25.10.2011 14:22
Комментарии: 58

Зарегистрирован: 28.10.2006 01:21

Вышла новая сборка системы Хамелеон. Сборка получила название Концепт.



Статус сборки - бета.

Запускается на реальном железе - поддерживается минимум, достаточный для демонстрации возможностей, но недостаточный для реального использования.

Страница Xameleon Concept

Проекту требуются бета-тестеры.



Комментарии доступны только авторизованным пользователям, авторизуйтесь или зарегистрируйтесь на сайте здесь

© OSRC.info, 2004-2010.
Авторские права на любые материалы, авторы которых явно указаны, принадлежат их авторам. По вопросам публикации таких материалов обращайтесь к авторам.
Авторские права на любые другие материалы принадлежат OSRC.info.
Сайт является помещением библиотеки. Копирование, сохранение на жестком диске или иной способ сохранения произведений осуществляются пользователями на свой риск.
При использовании материалов сайта ссылка на OSRC.info обязательна.