OSDev http://osdev.su/ |
|
Кое что об унифицированной архитектуре http://osdev.su/viewtopic.php?f=2&t=870 |
Страница 1 из 2 |
Автор: | dragon [ 05 мар 2014, 23:10 ] |
Заголовок сообщения: | Кое что об унифицированной архитектуре |
Не знаю, было или нет. В теме http://board.kolibrios.org/viewtopic.ph ... 4&start=30 появился пост, ссылающийся на http://www.computerra.ru/65749/steps/ "Система STEPS: двадцать тысяч строк кода, которые изменят программирование, операционные системы и интернет" Похоже, мир таки двигается в сторону унификации. Или как обычно, поговорили и разошлись? |
Автор: | Yoda [ 06 мар 2014, 15:13 ] |
Заголовок сообщения: | Re: Кое что об унифицированной архитектуре |
dragon писал(а): "Система STEPS: двадцать тысяч строк кода, которые изменят программирование, операционные системы и интернет" Как обычно бывает, – слишком громкие слова, ряд серьёзных преувеличений. А ряд концепций, например, замена понятий документа сценариями и скриптами, вообще вредоносны. Нет, на революцию это не тянет. dragon писал(а): Похоже, мир таки двигается в сторону унификации. Или как обычно, поговорили и разошлись? Определённая унификация будет, я в этом уверен. Но только не в таком виде и не под флагом Smalltalk/Squeak. В данном случае другого исхода кроме как "поговорили и разошлись" быть не может. |
Автор: | Bargest [ 06 мар 2014, 16:48 ] |
Заголовок сообщения: | Re: Кое что об унифицированной архитектуре |
Да проще можно с таким подходом. Написать всю систему одним словом: Код: RUN А потом подогнать пару десятков мегабайт скомпилированных интерпретаторов, каждый из которых воспримет это слово по-своему и будет выполнять разные действия, которые уже конечно не учитываются при подсчете количества строк для американского научного фонда, выделяющего деньги. |
Автор: | pavia [ 07 мар 2014, 17:15 ] |
Заголовок сообщения: | Re: Кое что об унифицированной архитектуре |
Вы видимо не дочитали статью до конца все данные по компилятору приводиться. Трансляция с объектного уровня на ЯВУ 130 строк. Трансляция с ЯВУ в промежуточное представление 1100 строк. Компиляция не учитывается. Но в целом она скорее всего не более 100-1000 строк. Дело в другом что подход в статье прост выкинуть всё лишнее. С таким подходом можно работать и создавать ОС. Они не первые. Существует тысячи языков и сотни ОС. Но такие продукты это лабораторные образцы они не учитывают интересы большинства забывают о нюансах. Которых очень много. Язык программирования. Он должен быть лаконичным. А следовательно поддерживать строки, целые числа, рациональные, комплексные числа, матрицы, символьные вычисления, лямбда вычисления и другие математические операции, динамические массивы и матрицы, длинные числа и тд. А это уже код для АСТ больше 1 000 строк, а возможно и более 10 000. На самом деле если по уму делать, то только модификаторы и объявления АСТ 1 000 строк кода. В принципе ядро или каркас для ОС можно написать в коротком виде уложившись от 10 000-100 000 строк. А вот драйвера и вспомогательные библиотеки которые решают частные задачи. Могут занять очень много. WindowsPE занимает около 1 мбайта, что примерно равно 100 000 строкам. |
Автор: | Bargest [ 07 мар 2014, 20:29 ] |
Заголовок сообщения: | Re: Кое что об унифицированной архитектуре |
Цитата: Компиляция не учитывается. Но в целом она скорее всего не более 100-1000 строк. Дочитал. И думаю, что их компиляция значительно больше 1000 строк. Цитата: А вот драйвера и вспомогательные библиотеки которые решают частные задачи. Могут занять очень много. WindowsPE занимает около 1 мбайта, что примерно равно 100 000 строкам. А если пытаться сделать ОС, эффективно работающую на сильно разном железе, то и 100 000 будет слишком мало. Не говоря о том, что вообще с их подходом писать драйвера как-то глупо. Идея целиком и полностью состоит из неэффективных решений. Языки, трансляторы языков, трансляторы трансляторов, и так далее. Все это нагромождение не может работать эффективно; думаю, что вся их система функционирует только благодаря тому, что процессоры сейчас 8миядерные по 3 с гагом гигагерца. И по мнению разработчиков, мощность компьютерам девать некуда и надо ее расходовать по-максимуму. И все только ради того, чтобы можно было заявить про 20 000 строк. |
Автор: | pavia [ 07 мар 2014, 21:32 ] |
Заголовок сообщения: | Re: Кое что об унифицированной архитектуре |
Спасибо поржал. Это классическая схема используемая всеми современными компиляторами (GPP, Clang, RAD и тд). Классической она стала толи в 70-тых толи в 80-тых годах. Когда и гигагерцового процессора в помине не было. |
Автор: | Yoda [ 09 мар 2014, 00:16 ] |
Заголовок сообщения: | Re: Кое что об унифицированной архитектуре |
pavia писал(а): Трансляция с объектного уровня на ЯВУ 130 строк. Трансляция с ЯВУ в промежуточное представление 1100 строк. Компиляция не учитывается. Но в целом она скорее всего не более 100-1000 строк. Если говорить про описание синтаксиса языка на YACC/BISON или языке OMeta, о котором идёт речь в статье, то да, его, вероятно, можно уложить в пару сотен строк. Но если вы считаете, что можно упихнуть весь компилятор в тысячу строк, вы явно не имели практического опыта с компиляторами. Язык OMeta весьма напоминает YACC/BISON и выполняет сходные функции. Вы знаете размер исходников BISON? 44 тысячи строк! А ведь я ещё не включаю туда 25 тыс строк библиотечных функций в его составе. И это - только одна фаза компилятора! Так что не верьте в те сказки, которые вам рассказывают. pavia писал(а): Дело в другом что подход в статье прост выкинуть всё лишнее. С таким подходом можно работать и создавать ОС. Это очень хороший подход, я сам всегда ратую за него. Но он не должен доходить до абсурда. Есть определённый предел, после которого падает функциональность, затем падает эффективность, а потом пропадает и ясность. |
Автор: | iz56 [ 09 мар 2014, 08:44 ] |
Заголовок сообщения: | Re: Кое что об унифицированной архитектуре |
Выше головы все хотят прыгнуть. Я про все эти игры с ЯВУ. |
Автор: | pavia [ 09 мар 2014, 10:53 ] |
Заголовок сообщения: | Re: Кое что об унифицированной архитектуре |
Yoda, Я имел в виду компиляцию не с Ometa, а с промежуточного языка Nothing в Натив. А полная компиляция включает все стадии просто просуммировать данные 130+1100+1000. По поводу BISON я знал что много, но детально его не изучал. Зато читал справку она очень маленькая. У BISON много кода так как ему приходится поддерживать много частностей. Но честно я думал у него кода будет меньше. У BP6.0 к примеру 31 тысяча строк кода. Это целиком компилятор. С поддержкой отладочной информацией и BASM. Но я прекрасно знаю сколько занимает компилятор BP6.0 и сколько GCC, и Clang так как их код пристально изучал. А вы знаете сколько занимает транслятор Вирта для PL/0 в ассемблер? 440 строк. Правда смело значения можно умножить на 2 так как явно место в книге экономили. И свой компилятор я писал прекрасно знаю что и сколько места занимает. |
Автор: | Yoda [ 09 мар 2014, 13:51 ] |
Заголовок сообщения: | Re: Кое что об унифицированной архитектуре |
pavia писал(а): Я имел в виду компиляцию не с Ometa, а с промежуточного языка Nothing в Натив. А полная компиляция включает все стадии просто просуммировать данные 130+1100+1000. Скачайте исходники Tamacola и OMeta и попробуйте в них разобраться. Я не напрасно в своём посте привёл ссылку на OTCC - в котором даже не-obfuscated версия компилятора с языка C, написанная на нём же самом, имеет размер 15000 байт и 633 строки. Т.е., я знаю, что если поставить себе целью поставить рекорд компактности и много лет идти к этой цели, то можно достичь существенных успехов. Также я не случайно привёл последовательность, в которой приносятся жертвы в погоне за размером. Попробуйте воспользоваться этим компилятором. По поводу Тамаколы/ОМеты. Институт VPRI существует с 2001 года. Получается, что за 13 лет они написали всего несколько тысяч строк. Почему? Потому что Тамакола, - развитие LISP/Scheme, - типичный представитель мозголомного функционального программирования. Общеизвестный факт, что функциональные языки существенно плотней, но на них сложней писать, а в большинстве случаев их эффективность, мягко говоря, сомнительна. Иными словами, VPRI 13 лет шёл к намеченной цели - создать ультра-компактную, но неэффективную, неудобную и нечитаемую среду, в чём, вероятно, и преуспел. |
Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |