Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Delphi - приемущества и недостатки, принимаются различные высказывания 
:(
    Опции темы
MAKCim
Дата 5.1.2007, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



Цитата

а коль такая штука будет написана на ассемблере - ты ей сразу звание ОС дашь? даже если никаких "управления доступом к памяти" и "переключения потоков" в ней не будет? 

Бесполезно что-то здесь обсуждать... smile 
вы не понимаете (или не хотите понимать) меня, а я вас
Цитата

какой именно? *.obj ? 

тот, который получается после трансляции кода на ассемблере, но перед линковкой
W4FhLF
дело говоришь  smile 
Только как ты вывод то на С делал? Без ассемблера тут тоже никак (все таки тут надо либо через int 10h или через порты напрямую)


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Daevaorn
Дата 5.1.2007, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 5
Всего: 70



Как всё сделано в моей Python-os(гипотетической):

первичный загрузчик - asm
вторичный - с(перевод в защищенный режим)
итерпритатор python для встраиваемых систем, без многопоточности и прочее - с
биндинг работы с портами, ситемными прерываниями и т.д. - с
запуск главного python скрипта - с
управление пямятью - python(биндинг то есть)
менеджемент процессов - python
файловая система - python
обработка скрипт языка для прикладного ПО ОС - python

всё. а вы говорите....

Это сообщение отредактировал(а) Daevaorn - 5.1.2007, 15:16
PM MAIL WWW   Вверх
pythonwin
Дата 5.1.2007, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 1
Всего: 36



Цитата(W4FhLF @  5.1.2007,  17:15 Найти цитируемый пост)

Ну обычно это bin. Странно как ты споришь о таких вещах и не знаешь элементарных понятий. Ну что ж, давайте послушаем Ваш бред дальше. 

1) взял нахамил  smile  - у меня правило == ставить только плюсы...
читай подпись у smartov
2) можно на ты
3) меня убивает ситуация: за 40 страниц я никого не оскорбил, не кричал "дельфи маздай", не называл дельфистов "криворукими придурками" (я сам на дельфих писал) и не тебе...
4) я не упирась - хочешь считать что ВООБЩЕ нельзя написать ОС (блин даже две-три строчки которые будут вызывать сишный код, а тот в свою очередь асемблер, а скомпилить можно - нужно желание - сишный код, который вызывает питоновский) - пожалуйста, думай так - я по этому поводу переживать не буду.

Цитата(W4FhLF @  5.1.2007,  17:15 Найти цитируемый пост)
Кстати, когда я писал свою миниОС, я писал загрузочный сектор на ассемблере, а второй модуль на С, он выводил на экран строку. После написания я получал два бинарника(bin), объединял их в один образ(img). Так, что предположим, что загрузочный сектор у нас на ассемблере, а дальше?smile
Да можете в общем-то не парится, у компилятора питона просто нет нужных параметров, что в прицнипе не удивительноsmile А вот у gcc и gas есть... 

1) если буду заниматься этим извратом - то к тебе обязательно обращусь (уже записал)
2) W4FhLF, есть одна проблема - ты не внимательно читаешь мои посты smile я неоднократно писал что питон хорошо совместим c Си.
3) я сказал что есть ФОРУМЧАНИН который пишет ОС на питоне (многие моменты организованы на питоне). я сам скептически отношусь к этому мероприятию, - зачем писать то что уже есть и бесплатное? Но это его дело. Но за это время я ниразу не сказал что ОС можно написать использую ТОЛЬКО питон и даже часто писал что считаю что если это и возможно (? во что я не верю), то будет такой изврат.
4) ОС на питоне может быть просто обёрткой Си и asm

Добавлено @ 15:05 
Daevaorn, дай, пожалуйста, ссылку - самому стало интересно. можно и в личку.
PM WWW GTalk Jabber   Вверх
MAKCim
Дата 5.1.2007, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



Daevaorn, 
вот, другое дело, уже пример есть
Цитата

вторичный - с(перевод в защищенный режим)

только на С не получится
да и на С + assembler тоже: слишком много тут возни с адресами и прочими пакостями
Цитата

итерпритатор python для встраиваемых систем, без многопоточности и прочее - с

это будет raw binary code? Иначе нужен планировщик (который у тебя на Python  smile )
Цитата

биндинг работы с портами, ситемными прерываниями и т.д. - с

на С не напишешь
только С + assembler

Кстати, смотри
Допустим у тебя есть интерпретатор и он выполняет скрипты
Через APIC процессору пришел сигнал о прерывании. Он моментально переходит на обработчик прерывания, но для того, чтобы начать интерпретировать код обработчика ему нужен интерпретатор, а интерпретатора то нет (EIP то изменился при переходе на обработчик через шлюз)



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
W4FhLF
Дата 5.1.2007, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 2
Всего: 121



Цитата(MAKCim @  5.1.2007,  14:43 Найти цитируемый пост)
дело говоришь   Только как ты вывод то на С делал? Без ассемблера тут тоже никак (все таки тут надо либо через int 10h или через порты напрямую)


Конечно. В видеопорт и писал. 


pythonwin, да ладно, не держи зла на меня старикsmile Просто в какой-то момент вы переступили грань в своих утверждениях ;)


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Daevaorn
Дата 5.1.2007, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 5
Всего: 70



Цитата(MAKCim @  5.1.2007,  16:10 Найти цитируемый пост)
только на С не получится

Я имел ввиду "уже с применением С"
Цитата(MAKCim @  5.1.2007,  16:10 Найти цитируемый пост)
это будет raw binary code

да
Цитата(MAKCim @  5.1.2007,  16:10 Найти цитируемый пост)
 Он моментально переходит на обработчик прерывания

да, который ищет зарегестрированный скрипт на это прерывание и его запускает
PM MAIL WWW   Вверх
MAKCim
Дата 5.1.2007, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



Кстати, опять по поводу pythonOS
Daevaorn
у тебя же не получится вообще использовать защищенный режим потому как:
Твой интерпретатор работает на ring0 (иначе быть не может, потому как он интерпретирует ОС) & любая пользовательская программа им же интерпретируется => любая пользовательская программа работает на ring0 со всеми последствиями

Добавлено @ 15:29 
Цитата

да, который ищет зарегестрированный скрипт на это прерывание и его запускает 

у тебя уже нет к этому моменту интерпретатора!! чтобы интерпретировать код, который ищет скрипт обработчика
EIP у тебя изменен


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
MAKCim
Дата 5.1.2007, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



кроме того, никакой памяти не хватит для работы такой ОС:
при любом изменении EIP мы теряем интерпретатор, значит в целевом коде, на который мы осуществляем прыжок, должен быть вызов интерпретатора, чтобы этот код интерпретировать. В свою очередь в этом коде тоже есть команды перехода => опять потеря интерпретатора, опять его вызов и т. д. Стек мгновенно переполнится



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
skyboy
Дата 5.1.2007, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 1
Всего: 260



Цитата(MAKCim @  5.1.2007,  14:40 Найти цитируемый пост)
В свою очередь в этом коде тоже есть команды перехода => опять потеря интерпретатора, опять его вызов и т. д.

не понял. почему мы здесь теряем интерпретатор?
PM MAIL   Вверх
Daevaorn
Дата 5.1.2007, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 5
Всего: 70



Цитата(MAKCim @  5.1.2007,  16:23 Найти цитируемый пост)
Твой интерпретатор работает на ring0 (иначе быть не может, потому как он интерпретирует ОС) & любая пользовательская программа им же интерпретируется => любая пользовательская программа работает на ring0 со всеми последствиями

Хе-хе. Пользовательская программа интерпретируется скриптом, т.е. интерпретатор в интерпретаторе получется. А значит я сам могу контролировать пользовательское ПО, поэтому не парюсь по поводу встроенной защиты процессора, а делаю её сам. Да и потом, кто тебе сказал, что у меня под x86 ОС?
Цитата(MAKCim @  5.1.2007,  16:23 Найти цитируемый пост)
у тебя уже нет к этому моменту интерпретатора!! чтобы интерпретировать код, который ищет скрипт обработчика
EIP у тебя изменен 

А что мне IP. Интерпретатор то из памяти никуда не делся, а значит я смогу его запустить.
PM MAIL WWW   Вверх
MAKCim
Дата 5.1.2007, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



Цитата

не понял. почему мы здесь теряем интерпретатор? 

Интерпретатор - программа. Программа набор команд. В данной ОС процессор выполняет команды, которые соответствуют коду интерпретатора, т. е:
____________ EIP (адрес 1-ой команды интерпретатора)
____________ EIP + A1 (адрес 2-ой команды интерпретатора)
............................
____________ EIP + An (адрес n-ой команды интерпретатора)
Допустим есть скрипт который интерпретируется интерпретатором  smile 
Т. е процессор выполняет последовательно команды 1, 2, 3, ... , k
на k-ой команде интерпретатора какая-то команда скрипта идентифицируется. Пусть это будет вызов функции
Код

F()

Здесь должна быть команда call на "адрес 1-ой команды интерпретатора" и все начнется сначала: идентификация команд функции F(). А если учитывать, что функция использует стек + сам интерпретатор исполь зует стек + много вызовов функций и переходов => стек порвется мгновенно
По поводу потери интерпретатора, не так выразился  smile

Добавлено @ 16:12 
Цитата

Хе-хе. Пользовательская программа интерпретируется скриптом, т.е. интерпретатор в интерпретаторе получется. А значит я сам могу контролировать пользовательское ПО, поэтому не парюсь по поводу встроенной защиты процессора, а делаю её сам.

неа
не получится  smile 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Daevaorn
Дата 5.1.2007, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 5
Всего: 70



Цитата(MAKCim @  5.1.2007,  17:08 Найти цитируемый пост)
Цитата

не понял. почему мы здесь теряем интерпретатор? 



Интерпретатор - программа. Программа набор команд. В данной ОС процессор выполняет команды, которые соответствуют коду интерпретатора, т. е:
____________ EIP (адрес 1-ой команды интерпретатора)
____________ EIP + A1 (адрес 2-ой команды интерпретатора)
............................
____________ EIP + An (адрес n-ой команды интерпретатора)
Допустим есть скрипт который интерпретируется интерпретатором   
Т. е процессор выполняет последовательно команды 1, 2, 3, ... , k
на k-ой команде интерпретатора какая-то команда скрипта идентифицируется. Пусть это будет вызов функции

Python
1:
F()
Здесь должна быть команда call на "адрес 1-ой команды интерпретатора" и все начнется сначала: идентификация команд функции F(). А если учитывать, что функция использует стек + сам интерпретатор исполь зует стек + много вызовов функций и переходов => стек порвется мгновенно
По поводу потери интерпретатора, не так выразился  

Ты видимо куришь, то чего у нас нетsmile Сам не запутался? Ещё и стек приплелsmile
Сам процессор выполняет код интепрретатора в обычном режиме, или код обработчика прерывания. При поступлении внешнего прерывания, инт-ор останавливается и начинается выполнение обработчика. Тот в свою очередь передает управление инт-ру(переводя его в состояние "обработка прерывания"), который ищет скрипт обработки этого прерывания и его запускает. Когда скрипт отработал, возобновляется работа инт-ра в обычном режиме.
Цитата(MAKCim @  5.1.2007,  17:08 Найти цитируемый пост)
неа
не получится    

Обоснуй.

Добавлено @ 16:33 
Да, и вообще где модератор, пусть разделит темы.
PM MAIL WWW   Вверх
MAKCim
Дата 5.1.2007, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



Цитата

При поступлении внешнего прерывания, инт-ор останавливается и начинается выполнение обработчика

на чем будешь писать код, который передает управление интерпретатору с целью поиска обработчика (кстати ужасно медленно будет)?
Цитата

Обоснуй.

кажись начинаю догонять, что теоретически из этого что-то может выйти  smile 



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Void
Дата 5.1.2007, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 11
Всего: 173



Господа системщики, просветите, пожалуйста, как обстоят дела с boot sequence и всем остальным на EFI. В том, что касается доли ассемблера в коде ОС. По идее, потребность в нём должна снизиться…


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
likehood
Дата 5.1.2007, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


666
**


Профиль
Группа: Участник
Сообщений: 536
Регистрация: 21.12.2005

Репутация: нет
Всего: 24



Цитата(MAKCim @  5.1.2007,  16:23 Найти цитируемый пост)
Твой интерпретатор работает на ring0 (иначе быть не может, потому как он интерпретирует ОС) & любая пользовательская программа им же интерпретируется => любая пользовательская программа работает на ring0 со всеми последствиями

А кто сказал, что прикладной код написан на питоне? Он может быть написан хоть на ассембере.
Системный интерпретатор питона выполняет только код ОС, к прикладным программам он не относится.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.0842 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.