9 декабря вышла новая сборка Xameleon Xameleon - российская микроядерная операционная система,базирующаяся на микроядре L4Ka::Pistachio. Архитектура системы очень близка к Unix, местами её повторяет. 9 декабря вышла новая сборка этой ОС, загрузочный диск доступен для скачивания с основного сайта. Изменения в новой версии: - увеличен размер виртуального диска до 1048576 байт; - частично обновлено содержимое виртуального диска; - исправлены ошибки в различных подсистемах; - обновлена библиотека xameleon libc;
Источник: http://l4os.ru/
[Прислал Sergeev] |
Комментарии |
Комментарии: 58
Зарегистрирован: 28.10.2006 01:21
| Спасибо за новость. Я очень благодарен Вам, Sergeev. Вышла ещё одна сборка, единственное отличие которой - русификация консоли и русский README.
http://l4os.ru/russian_font
|
|
Комментарии: 7
Зарегистрирован: 03.12.2010 10:28
| Всегда пожалуйста. Я сейчас вновь болею и не часто на сайте, но буду следить за различными ОСями. В т.ч. и за этим чрезвычайно интересным проектом. Надо будет про него статью в КаталогОС впилить.. Хотя я не понимаю,что мешает это сделать таким же местным юзерам |
|
Комментарии: 7
Зарегистрирован: 03.12.2010 10:28
| Так, Хамелеон кстати добавлен в КаталогОС |
|
Комментарии: 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.
Господи, дай мне сил и здоровья.
|
|
Комментарии: 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х не хочется по лицензионным соображениям.
Очень надеюсь на вашу помощь и поддержку.
|
|
Комментарии: 952
| По второму вопросу - OpenBSD-шный telnet не смотрел? |
|
Комментарии: 58
Зарегистрирован: 28.10.2006 01:21
| Проблема с телнетом решилась с помощью pthread_create - один поток на входные данные, второй на исходящие. Заработал, как ни странно. Но пока терминал слишком тупой - для bash его почти хватает, но Midnight Commander не воспринимает клавиши, хотя отрисовывается правильно. |
|
Комментарии: 58
Зарегистрирован: 28.10.2006 01:21
| Вышла новая сборка от 15 января 2011 года.
- исправлены некоторые ошибки реализации TCP протокола. + добавлена первоначальная поддержка UDP протокола. + добавлена утилита nslookup. - исправлена ошибка в разборе параметров утилиты ln. - исправлена ошибка в реализации библиотечной функции pthread_create. + добавлен разбор параметров утилитой ifconfig. В предыдущих версиях IP адрес и маска были прописаны в коде программы. - исправлена ошибка загрузки шрифта на некоторых видеокартах. + добавлена утилита route. * добавлены новые ошибки
Описание новой сборки и страница загрузки: http://l4os.ru/floppy_image/20110115 |
|
Комментарии: 58
Зарегистрирован: 28.10.2006 01:21
| Вышла новая сборка системы Хамелеон. Сборка получила название Концепт.
Статус сборки - бета.
Запускается на реальном железе - поддерживается минимум, достаточный для демонстрации возможностей, но недостаточный для реального использования.
Страница Xameleon Concept
Проекту требуются бета-тестеры.
|
Комментарии доступны только авторизованным пользователям, авторизуйтесь или зарегистрируйтесь на сайте здесь
|