Может есть хороший форум на русском?

Everything you can't fit into other forums
  • Я не понял часть вопросов и рассуждений, а касательно С с ассемблер подобным отношением к памяти у нас есть С--. Использование С и других похожих языков в место ассемблера в разработке ЯДРА не соответствует проекту. Ведь на Ассемблер завязано множество ключевых особенностей проекта как минимальные расходы максимум эффективности которые на других языках получить ещё сложнее.
  • Vaicheslav97 wrote:Ведь на Ассемблер завязано множество ключевых особенностей проекта как минимальные расходы максимум эффективности которые на других языках получить ещё сложнее.
    Неиспользование нормального аллокатора во многих (как правило асмовых) приложениях- максимум эффективности)) ну я про 68.12 в качестве malloc. На каждый чих минимум 4кб дает.
    The best way to predict the future is to create it.
  • rgimad wrote:
    Vaicheslav97 wrote:Ведь на Ассемблер завязано множество ключевых особенностей проекта как минимальные расходы максимум эффективности которые на других языках получить ещё сложнее.
    Неиспользование нормального аллокатора во многих (как правило асмовых) приложениях- максимум эффективности)) ну я про 68.12 в качестве malloc. На каждый чих минимум 4кб дает.
    это ещё не самая большая проблема, некоторые программы даже не используют этот аллокатор, а работают через 64 сисфункцию или вообще память не выделяют динамически, а статически задают область памяти на мегабайт например
  • Vaicheslav97 wrote:Я не понял часть вопросов и рассуждений.
    . Это очень хорошо. Я их и сам не понял. Прошу прощения, что влез на ресурс профессионалов со своими дилетантскими проблемами.
    Last edited by user123 on Tue Feb 21, 2023 7:04 am, edited 1 time in total.
  • могу ответить только по нумеруемым и то не уверен что полностью
    1)Разделение на кольца у нас есть но ограничения по портам ввода вывода слабые
    2)Ограничения портов ввода вывода у нас такие чтобы в случае если надо приложение могло само могло быть как драйвер в случае если оно работает ну с очень специфичным железом
    3)Обработка прерываний есть, когда программы выходит за рамки разрешенной памяти ОС её принудительно закрывает, общие области памяти есть, разделения есть но код не разделяется на модифицируемый или нет.
    4)Наша ОС много задачная и поддерживает это распределяя нагрузку между приложениями даже если одно повиснет то это не повесит остальные приложения
    5)Я не знаю где находится видеобуфер но поддерживаем стандарты (S)VGA
    6)Переключение контекста у нас есть и реализована в рамках многозадачности
    7)Файл подкачки отсутствует, по причине что он приводит к общему замедлению системы даже без нагрузки и даёт призрачный шанс пользоваться приложениями на которые не хватает памяти, у нас пока в обозримом будущем нет приложений которым могло бы понадобится 128Мб и выше кроме разве что виртуального диска когда Оперативка выделяется как раздел жесткого диска
    8)Не знаю точно но вроде есть.
    9)Пока что оконный менеджер вшит в ядро но вроде идут попытки его отделить
  • rgimad wrote:
    Vaicheslav97 wrote:Ведь на Ассемблер завязано множество ключевых особенностей проекта как минимальные расходы максимум эффективности которые на других языках получить ещё сложнее.
    Неиспользование нормального аллокатора во многих (как правило асмовых) приложениях- максимум эффективности)) ну я про 68.12 в качестве malloc. На каждый чих минимум 4кб дает.
    1) приличные асмовые приложения должны это знать и учитывать.
    во избежание неэффективности.

    2) в Линуксе kalloc() тоже нарезает драйверам дин.память целыми страницами.
    даже если нужно меньше.

    3) ядро вообще не обязано заниматься динамической кучей приложений.
    в ЯВУ это забота компиляторов.
    Евангелие от Иоанна: стих 1

    Code: Select all

    ; В начале было Слово:
    B32:        mov     ax, os_stack       ; Selector for os
    [/size]
  • Проще сказать, что на системном уровне память всегда выделяется страницами по 4 кб, и все ОС её так выдают. Более мелкая нарезка происходит на пользовательском уровне; а в библиотеке или в самом приложении — это уже не принципиально. Может даже лучше чтоб программист понимал, что при не правильном обращении к памяти в пределах 4 кб системной ошибки не будет.
  • * * *
    Attachments
    UserLoh.png
    UserLoh.png (27.96 KiB)
    Viewed 11290 times
    Last edited by user123 on Tue Feb 21, 2023 7:03 am, edited 7 times in total.
  • Но крутые как считали лошарой, так и будут считать, поэтому умолкаю.
    Last edited by user123 on Tue Feb 21, 2023 7:02 am, edited 6 times in total.
  • 5)Я не знаю где находится видеобуфер но поддерживаем стандарты (S)VGA
    В документации ( http://wiki.kolibrios.org/wiki/SysFn61/ru ) написано:
    Программе доступны данные графического экрана (область памяти, которая собственно и отображает содержимое экрана) напрямую без вызовов системных функций через селектор gs:

    Code: Select all

    mov eax, [gs:0] 
    В файле исходников ядра core/mtrr.inc написано (строка 898):

    Code: Select all

    ; LFB is mapped to virtual address LFB_BASE,
    В файле const.inc определено (строка 279):

    Code: Select all

    LFB_BASE            = 0xFE000000
    Насколько понимаю , физический адрес получается от BIOS (с некоторой настройкой)
    , возможно его изменяет специализированный драйвер видео карты (таковые имеются ...)
    а затем отображается на виртуальный LFB_BASE = 0xFE000000 , который доступен для записи в том числе и
    в ring3 - пользовательском режиме (лично мне такая беспечность непонятна : нормальный пользователь при "невменяемом" экране решить проблему может только кнопкой RESET)

    Номера строк, естественно, примерные, ибо файл может быть изменён в процессе разработки

    P.S.
    Вы собираетесь разрабатывать что-то новое для 8086, 80386 real mode. 80386 protected mode .
    А вас в стране наверное налажено производство аналогов этих процессоров по цене чуть большей avr для Arduino ...
    А вот с процессорами amd64 напряжёнка ... Тогда всё встаёт на свои места ...

    В моей стране : avr - нет проблем. arm - тоже нет проблем, amd64 - тем более нет проблем, mips вроде как можно найти под вывеской avr32, но на чипсете с возможностями Arduino (а хотелось бы - с чипсетом Raspberri Pi). Насчёт ia32 без amd64, как раз наблюдая
    за Kolibri OS , понял, что вроде как в Китае можно заказать (но по цене, за которую я могу подержанный системный блок amd64 приобрести).
    Боюсь, что следующий логичный шаг после введения UEFI будет новая линейка процессоров, у которых ничего, кроме amd64 long mode , просто нет - на таких компьютерах Kolibri OS уже не запустишь в принципе (даже если оставят amd64 compatability mode)
  • * * *
    Last edited by user123 on Tue Feb 21, 2023 7:01 am, edited 1 time in total.
  • user123 wrote: Sun Jul 31, 2022 11:51 am На "ATmega328/ATtiny4313" пишу ради денег в громоздкой "AVR Studio" под "Windows XP/7/10". "С++" туда же. Компилятор попытаюсь начать на своём оборудовании и под него.
    Не думали рассмотреть разработку ПО для МК (разных и AVR) на Форт (Forth) языке?
    Для AVR, к примеру,
    1. amForth
    2. Форт-ассемблер для AVR
    3. AVRForth
    4. FlashForth
    ...
    P.S. Для других/разных МК/ тоже достаточно сделано инструментария для разработки ПО в рамках Форт системы. :)

    Форт также легко расширить до понимания других языков
    uBasic for 4th
    CC64 is a small-C compiler, written in Forth (here's why), targeting the 6502 CPU.
    ...
    Разместить FORTH в 512 байтах
  • Ин дзис пост были рекордсы о плаг-энд-плэй. Но кому интересны проблемы Plug and Play ин тзис тайм? В наше время есть более модерные технологии от крутейших корпораций.
    Last edited by user123 on Tue Feb 21, 2023 12:32 pm, edited 18 times in total.
  • user123 wrote: Tue Aug 02, 2022 12:21 pm . Изучаю, разбираюсь, материал про язык-4 незнакомый, даже не знаю полезно ли... оценить пока не могу.
    Начать можно с прочтения таких книг.
    С.Н.БАРАНОВ Н.Р. НОЗДРУНОВ ЯЗЫК ФОРТ И ЕГО РЕАЛИЗАЦИИ
    Л.Броуди "Начальный курс программирования на языке Форт"
    ЛЕО БРОУДИ СПОСОБ МЫШЛЕНИЯ - ФОРТ ЯЗЫК И ФИЛОСОФИЯ ДЛЯ РЕШЕНИЯ ЗАДАЧ
    ...
    FORTH (Computer+program+language)

    Сейчас популярен в реализации база стандарта Forth-94.


    P.S. http://fforum.winglion.ru/ рускоязычная площадка пользователей Форт языка.

    На Github много проектов отображается при вводе слова Forth в поисковом запросе.
  • Who is online

    Users browsing this forum: No registered users and 8 guests