User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 33

Тема: Формат EXE/DLL для новой ОС

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    23.01.2005
    Сообщений
    1,113
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin
    мля... вдарились в винду- подпихиваем линух. стали глядеть в сторону линукса- тоже не так, подавай амигу. а у многих она есть? я лично видел ее всего один раз в работе так что абсолютно ничего не знаю насчет принципов работы.
    Принципы работы такие же, как у любого компа - процессор + периферия =)

    А вообще ничто не мешает взять winUAE и с некоторой помощью других амижников разобраться до любого уровня =)

    а насчет доки. довольно интересно. Hunks == Chunks?
    Неа! =)

    всетаки надо стараться чтобы количестви лишней информации в бинарниках стремилось к минимуму- поэтому нет особого смысла в символьных названиях секций (насколько я понял, они присутствуют).
    Они присутствуют, если это объектник. А если 'эхешник', то отсутствуют. Формат файлов остаётся таким же.

    плюс к тому, структура таблицы релокации позволяет корректировать не только 16, но и 8-битные адреса (ld a,.metka:ld h,'font etc).
    Код:
     add a,a
     add a,a
     ld    l,a
     ld    h,'font/8
     add hl,hl
     add hl,hl
     add hl,hl

    Код:
     org #какой_попало
    
     ;some stuff
    
     ld h,'megatable
    
     ;more stuff
    
     org ($+255)&#FF00
    megatable
     db #xx,#yy,... ;256 bytes

    Код:
     ld   h,'megatable
    
     ; stuff
    
     inc h
     
     ;stuff
    
     dec h
     ;etc.
    
     ;stuff
    
     ld a,'microtable-'megatable
     add a,h
     ld h,a
    Всё подобное, как я понимаю, пойдёт на север? =)


    ...если честно, я вообще с трудом представляю, что в результате того, что вы задумали, выйдет. Сможет ли там существовать приложение уровня аласма, например? С какой скоростью оно будет работать?...

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,286
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    39 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от lvd
    Принципы работы такие же, как у любого компа - процессор + периферия =)
    ну да. и че гнать на закос под винду или юних- не понимаю. что есть, то и изучаем.

    Цитата Сообщение от lvd
    А вообще ничто не мешает взять winUAE и с некоторой помощью других амижников разобраться до любого уровня =)
    каких других? у нас в городе ни одной амиги насколько я знаю нету.

    Цитата Сообщение от lvd
    Неа! =)
    а похоже- как по названию, так и по смыслу %)

    Цитата Сообщение от lvd
    Код:
     add a,a
     add a,a
     ld    l,a
     ld    h,'font/8
     add hl,hl
     add hl,hl
     add hl,hl
    ld h,'font
    srl h
    srl h
    srl h

    другого варианта пока не вижу. это модули ис-доса могли в себе хранить выражения в ОПЗ. область применения не настолько высока чтоб изза них городить довольно сложную систему.


    Цитата Сообщение от lvd
    Код:
     org #какой_попало
    
     ;some stuff
    
     ld h,'megatable
    
     ;more stuff
    
     org ($+255)&#FF00
    megatable
     db #xx,#yy,... ;256 bytes
    если орг по круглому адресу- нет проблем. а гарантировать такое для приложений- вполне реально

    Цитата Сообщение от lvd
    Код:
     ld   h,'megatable
    
     ; stuff
    
     inc h
     
     ;stuff
    
     dec h
     ;etc.
    
     ;stuff
    
     ld a,'microtable-'megatable
     add a,h
     ld h,a
    Всё подобное, как я понимаю, пойдёт на север? =)
    __extern "diff",diff

    ldh_ a,diff
    ;ldl_ a,diff

    ;somewhere in other module
    __public "diff",constant,microtable-megatable
    ;__public "diff",constant,'microtable-'megatable


    Цитата Сообщение от lvd
    ...если честно, я вообще с трудом представляю, что в результате того, что вы задумали, выйдет. Сможет ли там существовать приложение уровня аласма, например? С какой скоростью оно будет работать?...
    сказывается разница менталитета. для спектрумиста ассемблер- это неразлучная парочка компилятор+редактор. и для полной шведской семьи +отладчик %)
    кто мешает сделать компилятор через командную строку? он тебе может через системные функции или библиотеки в нижней памяти что угодно компилить.

  4. #3

    Регистрация
    18.02.2005
    Адрес
    Набережные Челны
    Сообщений
    1,574
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Exclamation Надо понимать

    что если вы собираетесь писать чтото новое (в частности ОСь) то вообще говоря прям счаз оно даст одни сплошные минусы:
    - Скорость работы приложений отнесённая к чистой производительности процессора будет ниже
    - Всё, что невозможно реализовать аппаратно будет реализовываться программно (читай - всё будет реализовано программно)
    - Всё потенциальные и реальные плюсы будут для этой системы существовать только после достаточно продолжительного периода времени, когда будет написано много приложений, драйверов и произведена достаточная отладка

    Исходя из этого мне непонятно, как вообще можно горить "это будет потреблять много ресурсов", если с самого начала все программные ресурсы будут отдаваться на откуп того, что в других системах реализовано аппаратно?
    Биты рулят лучше байтов, байты рулят шустрее!
    View, Звук, Цвет

  5. #4

    Регистрация
    14.03.2005
    Адрес
    Russia, Saint-Petersburg
    Сообщений
    213
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обновил спецификацию - учел кое-какие пожелания...

    Исходя из этого мне непонятно, как вообще можно горить "это будет потреблять много ресурсов", если с самого начала все программные ресурсы будут отдаваться на откуп того, что в других системах реализовано аппаратно?
    Вообще - да, сам в написании ос вижу много минусов для реальных приложений. Но для работы с текстами + в это время слушания музыки + в это время обсчета чего-нибудь вполне пойдет. Плюс - хорошая практика низкоуровнего программирования в условиях полного зада...

  6. #5

    Регистрация
    18.02.2005
    Адрес
    Набережные Челны
    Сообщений
    1,574
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Exclamation

    Цитата Сообщение от Alex/AT
    Вообще - да, сам в написании ос вижу много минусов для реальных приложений. Но для работы с текстами + в это время слушания музыки + в это время обсчета чего-нибудь вполне пойдет. Плюс - хорошая практика низкоуровнего программирования в условиях полного зада...
    Для таких систем, где нужна полная производительность системы вводится монопольный режим. В этом режиме система сносит все свои блоки в верхнюю память, оставляет лишь самые необходимые трапы. однако в таком случае все положительные моменты, реализуемые системой будут грубо говоря "затыканы" монопольным режимом.
    Вот основные трапы, которые нужны для программ в монопольном режиме:
    - Загрузка/выгрузка данных на носитель
    - Переключение банков памяти
    - Получение информации о памяти
    - Восстановление системы
    Биты рулят лучше байтов, байты рулят шустрее!
    View, Звук, Цвет

  7. #6

    Регистрация
    01.03.2005
    Адрес
    Russia, Krasnodar
    Сообщений
    433
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от GriV
    Цитата:
    Сообщение от lvd
    А вообще ничто не мешает взять winUAE и с некоторой помощью других амижников разобраться до любого уровня =)

    каких других? у нас в городе ни одной амиги насколько я знаю нету.
    А кроме Таганрога есть еще крд мск и прочие города России. если есть нужда - поможем всей тольпой =)

  8. #7

    Регистрация
    23.01.2005
    Сообщений
    1,113
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin
    каких других? у нас в городе ни одной амиги насколько я знаю нету.
    Для винуае амижники под рукой не необходимы (в отличие от случая, когда с дискет надо оживить реальную амигу - тут все клоны вг93 в пц отдыхают =).

    если орг по круглому адресу- нет проблем. а гарантировать такое для приложений- вполне реально
    Вопрос был в том, если вы уж городите релоцируемые ехешники, то в них блоки с выравниванием по хотя бы 256 байт будут?

    __extern "diff",diff
    ldh_ a,diff
    ;ldl_ a,diff

    ;somewhere in other module
    __public "diff",constant,microtable-megatable
    ;__public "diff",constant,'microtable-'megatable
    Ууу...

    сказывается разница менталитета. для спектрумиста ассемблер- это неразлучная парочка компилятор+редактор. и для полной шведской семьи +отладчик %)
    Раз так, то заявляю, что у меня для спектрума, для амиги и для пц менталитет разный (всего 3 варианта). =) А у тебя?

    кто мешает сделать компилятор через командную строку? он тебе может через системные функции или библиотеки в нижней памяти что угодно компилить.
    Никто не мешает, вопрос в том, кому он нужен. Аласм и то, несмотря на интегрированность с редактором, довольно-таки коматозен. Что будет, если каждый раз надо будет прибить редактор, записать на диск текст, загрузить с диска компайлер (==командная строчка?), откомпилировать с диска на диск, линкануть, не дай бог, с диска на диск, загрузить результат с диска в память, убедиться, что повисло наглухо, 5 минут терпеть загрузку оси, и всё с начала... Нее, лучше уж аласм! =)

  9. #8

    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,286
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    39 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от lvd
    Для винуае амижники под рукой не необходимы (в отличие от случая, когда с дискет надо оживить реальную амигу - тут все клоны вг93 в пц отдыхают =).
    неюзабельно по причине отсутствия
    -опыта
    -времени
    -эмулятора %)

    Цитата Сообщение от lvd
    Вопрос был в том, если вы уж городите релоцируемые ехешники, то в них блоки с выравниванием по хотя бы 256 байт будут?
    ну стартовый адрес образа процесса если выровнен по границе, от него можно и плясать дальше

    Цитата Сообщение от lvd
    Ууу...
    тада расскажи как эта проблема решается в предложенной структуре. авось каку идею хорошую можно будет слямзить %)

    Цитата Сообщение от lvd
    Раз так, то заявляю, что у меня для спектрума, для амиги и для пц менталитет разный (всего 3 варианта). =) А у тебя?
    у меня 3 менталитета- для спека, для винды и для линуха %) хотя последние два довольно тесно склеены (причем результат близок к первому). во загнул! %)

    Цитата Сообщение от lvd
    Никто не мешает, вопрос в том, кому он нужен. Аласм и то, несмотря на интегрированность с редактором, довольно-таки коматозен. Что будет, если каждый раз надо будет прибить редактор, записать на диск текст, загрузить с диска компайлер (==командная строчка?), откомпилировать с диска на диск, линкануть, не дай бог, с диска на диск, загрузить результат с диска в память, убедиться, что повисло наглухо, 5 минут терпеть загрузку оси, и всё с начала... Нее, лучше уж аласм! =)
    зачем прибивать редактор? многозадачная система вообщето может позволить запуск нескольких процессов. туда же и зависание. от бесконечных циклов спасет опять же многозадачность, от порчи памяти только не убережет....

  10. #9

    Регистрация
    14.03.2005
    Адрес
    Russia, Saint-Petersburg
    Сообщений
    213
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Раз уж пошла такая пьянка, дам небольшие пояснения к приведенному описанию:

    1. Оно опирается на структуру памяти, приведенную мной в разделе "менеджер памяти".

    2. Вся память кода и данных делится на т.н. сегменты. Предельный размер сегмента кода в "стандартной" архитектуре - 16 кб (страница), данных - для статических сегментов данных (возможно, вместе с кодом) - до 16кб минус код при размещенни вместе с кодом, до 8 кб - при произвольном размещении, для динамических сегментов данных - до 8 кб. При повышенных возможностях архитектуры (замена #8000-#BFFF) эти лимиты возрастают.

    3. Сегмент представляет из себя просто блок в памяти. Блоки кода и связанные блоки данных располагаются между #C000-#FFFF, статические несвязанные данные и динамические данные - в свап-области.

    4. "Связанность" сегментов - это нахождение сегментов в одной странице (есть флаг, позволяющий указать именно такое расположение).

    5. Несвязанные сегменты кода для вызовов между ними требуют использования процедуры ISC (Intersegment call). Она выглядит как CALL #xxxx; DW #yyyy, где xxxx - это процедура переключения страницы, yyyy - адрес в странице.

    6. Несвязанные статические и динамические сегменты данных требуют их размещения в области свопа. Статические сегменты попадают в область свопа по строго определенному адрему, динамические - по произвольному. Для этого существует функция свопинга.

    7. Segment index - системный номер сегмента (в файле - номер сегмента ZE/ZL). Internal address/Offset - смещение от начала сегмента.

    8. Кроме всего прочего, существует набор системных вызовов (обсуждался ранее) и переменных, адресуемых по номерам (вместо номера подставляется реальный адрес).

    Думаю, это прояснит некоторые моменты.

  11. #10

    Регистрация
    23.01.2005
    Сообщений
    1,113
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin
    неюзабельно по причине отсутствия
    -опыта
    -времени
    -эмулятора %)
    Ну - а я что говорю? -
    http://zx.pk.ru/showpost.php?p=9265&postcount=5


    тада расскажи как эта проблема решается в предложенной структуре. авось каку идею хорошую можно будет слямзить %)
    В какой ещё предложенной структуре? В формате hunk'ов? Там эта проблема решается очень просто - применением 680x0 процессора =)


    зачем прибивать редактор? многозадачная система вообщето может позволить запуск нескольких процессов. туда же и зависание. от бесконечных циклов спасет опять же многозадачность, от порчи памяти только не убережет....
    Да - зачем прибивать? А если всё в памяти сидит, то причём тут командная строка? Или у тебя IPC такое - через командную строку? =)
    Далее. В памяти сидит редактор, ассемблер, линкер, куча сорцов. Ассемблер компилит в объектники - тоже в память. Объектники линкуются в ехешник - тоже в память. При этом тексты остаются ещё в памяти. Так? =) Или своп на диск? Если второе, то тогда чем эта ось лучше аласма получается? %)
    Последний раз редактировалось lvd; 05.04.2005 в 14:50.

Страница 1 из 2 12 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 180
    Последнее: 21.12.2008, 19:30
  2. Ответов: 2
    Последнее: 26.02.2005, 18:17
  3. Формат модулей Digital Studio?
    от Shiru в разделе Музыка
    Ответов: 3
    Последнее: 20.01.2005, 00:02

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •