На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Коротко о разделе:
Здесь разрешается создавать темы, относящиеся к любому языку программирования, для которого не существует раздела на форуме (например, Lisp, Tcl/Tk, FORTRAN и т.д.). Если раздел для нужного Вам языка есть, большая просьба создавать тему в нем.
Вопросы, связанные с JScript, Perl, PHP обсуждаются в разделе WWW Masters.

Обратите внимание:
1. Прежде чем задать вопрос, воспользуйтесь поиском. Возможно, Ваш вопрос уже обсуждали.
2. Если Ваш вопрос связан с конкретным языком программирования, обязательно укажите название языка в имени темы.
3. Постарайтесь давать темам информативные названия. Темы с названиями типа "Помогите, горю" будут удалены.
4. Помните, чем грамотней будет задан Ваш вопрос, тем больше будет у Вас шансов получить на него ответ. Как правильно задавать вопросы
5. Ипользуйте тег [ code ] ...текст программы... [ /code ] для выделения текста программы.

Просьбы выполнить какую-либо работу за автора в этом разделе не обсуждаются. Темы с подобными просьбами будут перемещены или удалены. Для заказов у нас существуют специальные разделы: Разовые заказы и подработка, ПОМОЩЬ СТУДЕНТАМ.

Если кто не понял (а такие есть) — чтобы за вас решали ваши задачки, идите на другие ресурсы.

Полезные ссылки:
Есть. ;)
Наши Исходники | GPSS (en), GPSS (ru) (!) | Common Lisp | Tcl/Tk | Haskell | Lua
Модераторы: B.V.
Страницы: (3) 1 2 [3]  все  ( Перейти к последнему сообщению )  
> разработка отечественной революционной ОС , идея создания революционной ОС в украине
    Ahilles, вообще-то они так во всех официальных мануалах и называются: memory address space и IO address space - пространство памяти и пространство ввода/вывода.

    Добавлено
    А ещё есть SMM address space.
    Сообщение отредактировано: Qraizer -
      Цитата Qraizer @
      Ahilles, вообще-то они так во всех официальных мануалах и называются: memory address space и IO address space - пространство памяти и пространство ввода/вывода.

      а где я это отрицал?
        Цитата Ahilles @
        Можна кусок кода, или хотя бы название атрибута?
        Первый раз про такое слышу и в документации нет.
        На описание двух адресных пространств я натыкался, по-моему, в каком-то из исходных файлов самого компилятора (описывающих для него архитектуру). Сейчас поискал - тоже ничего не нашел. Собственно из-за того описания я и решил, что можно явно задать имя адресу порта ввода-вывода и пользоваться им как переменной. Потом больше не интересовался - в нормальной практике доступ к этим регистрам не нужен. Да и ОС не пустит.

        У меня, кстати, нигде функции для работы с портами не обнаруживаются.
          Цитата amk @
          Вторая - область устройств ввода вывода, памятью естественно не являющаяся, но позволяющая писать программу так, будто регистры тоже находятся в памяти.

          На самом деле можно это сделать с использованием возможностей виртуальной памяти, но я сильно сомневаюсь, что это реализуемо на уровне компилятора.
            Цитата amk @
            У меня, кстати, нигде функции для работы с портами не обнаруживаются.

            /usr/include/asm/io.h или linux/include/asm-i386/io.h
            Доступ получить можна: http://www.faqs.org/docs/Linux-mini/IO-Port-Programming.html

            Цитата shm @
            На самом деле можно это сделать с использованием возможностей виртуальной памяти, но я сильно сомневаюсь, что это реализуемо на уровне компилятора.

            Ловить исключение при чтении/записи в определённый (специально созданный) диапазон адресов и в обработчике исключения читать/писать из порта при помощи in/out и возвращать в качестве результата операции?
            Так это надо на уровне ядра ОС реализовывать, или как минимум модулем режима ядра (драйвером), а не компилятором.
            Но там тоже будут проблемы - адрес по которому произошло исключение получить можна (и вычислить адрес порта), а вот размер определить (байт, слово, двойное слово) не получится, прийдётся дизассемблер к обработчику исключения прикручивать.
            В общем затрат больше чем пользы.
              Цитата cppasm @
              овить исключение при чтении/записи в определённый (специально созданный) диапазон адресов и в обработчике исключения читать/писать из порта при помощи in/out и возвращать в качестве результата операции?

              :yes:
              Цитата cppasm @
              Так это надо на уровне ядра ОС реализовывать, или как минимум модулем режима ядра (драйвером), а не компилятором.

              Я это и имел ввиду.
              Цитата cppasm @
              Но там тоже будут проблемы - адрес по которому произошло исключение получить можна (и вычислить адрес порта), а вот размер определить (байт, слово, двойное слово) не получится, прийдётся дизассемблер к обработчику исключения прикручивать.
              В общем затрат больше чем пользы.

              :yes:
                Странно, до весны еще чуть менее полутора месяца, а революционные ОСи уже начинают писать =/
                  Цитата korvin @
                  Странно, до весны еще чуть менее полутора месяца, а революционные ОСи уже начинают писать =/

                  на пороге лето и пора студенческого творчества :P
                  и пожалуйста Колибри ОСПолная демократия.

                  форум самой революционной оси kолибри

                  P.S. И проект запущен на колибри ОС на kickstart
                  Есть возможность приблизить "наше счастливое детство" :)
                  Что уж более революционное, чем "пилить" ядро ОСИ на ассемблере? (есть, правда, ещё один вариант использовать Форт (Forth))
                  ХабраХабр дал добро
                  KolibriOS вышла на Kickstarter, чтобы провести свой Summer of Code 19.05.2013
                  Для сбора средств мало времени и могут не собрать, к сожалению, заявленную сумму для привлечения к работам студентов "контрактников"
                  Сообщение отредактировано: Kopa -
                    Цитата Kopa @
                    самой дореволюционной оси kолибри

                    FIXED.
                      Цитата korvin @
                      Цитата Kopa @
                      самой дореволюционной оси kолибри

                      FIXED.

                      Часто всё новое - это хорошо забытое старое:)
                      Хотя "доля" здравого скептицизма в замечании есть.
                      И поддерживать код ядра данной оси, думаю, не так безоблачно.

                      P.S. А куда делся ТС? Может уже написал собственную Ось!
                      А на С++ сделана неплохая открытая ось Haiku (Сейчас её использую для "безопасного" сёрфинга в i-nete и пишу данное сообщение из неё
                      сама ось на флешке и переписывается(переустанавливается) за несколько минут, грузится тоже на ура)
                      Сообщение отредактировано: Kopa -
                      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                      0 пользователей:
                      Страницы: (3) 1 2 [3]  все


                      Рейтинг@Mail.ru
                      [ Script execution time: 0,0375 ]   [ 15 queries used ]   [ Generated: 30.04.24, 19:54 GMT ]