Человек не знающий как устроена машина и неумееющий давать ей команды на родном для неё языке не достоин называться программистом, и подпускать таких к пограммированию категорически нельзя! Начинать программировать надо с создания своей простой вычислительной машины и изучению её машинного кода. И только после этого переходить к языкам, компиляторам и операционным системам. Иными словами, обучение должно в сокращенной форме повторять путь по которому шел прогресс. Так преподают математику и физику, так должно быть и в компьютерных науках!
Так может быть потому и нету их ? Люди будущего взали в руки калькуляторы, провели небольшие рассчеты и прикинули что вероятность попасть в заданную точку пространстра-времени стремится к нулю, а погрешность в расчетах делает такое путешествие еще более опасным. А тех, кого отправили, в качестве эксперимента, назад не вернулись. Изделие оказалось невостребованным. :-)
Чтобы на ПК получить виртуализацию, аналогичную мэйнфреймам, нужно сделать такой гипервизор, чтобы абсолютно любая гостевая система работала корректно при любых, даже самых нестандартных её обращениях к периферии.
А для этого необходимо отказатсья от MMIO и перейти на "каналы". PCI и PCIe это движение в нужном направлении, но что делать со всем остальным железом ? Где-то читал, что IOMMU не решает всех проблем виртуализации, а только создает новые.
Возможно, имел бы смысл проект универсальной для BSD оболочки типа CDE. Не разброд и шатание, как это происходит в Linux, а спроектированный сверху донизу проект.
Этот проект называется Xfce. И он не только для FreeBSD.
К FreeBSD есть документация - "FreeBSD Handbook". Это целая книга которая доступна on-line в виде HTML на сайте проекта (на Ozon-е есть даже в печатном виде с переводом на Русский). Изучать надо было начинать с неё.
По сути, если не считать GhostBSD, FreeBSD находится в том же состоянии, что и 25 лет назад.
Ваши бы слова, да разработчикам в уши! Но, к сожалению, это не так.
На Ютубе всякого полно. Вообще, владение пальником это как учиться кататься на велосипеде: многие могут надавать советов, но пока сам не прочувствуешь - не поймешь. :)
Если вопос в обучении детей, то в Чипдипе есть конструкторы для сборки методом пайки (всякие безделушки) c выводными и SMD компонентами. Моим заходит.
Я как-то занимался со своими изучением цифровой схемотехники на этих платах (насмотрелся Бена Итера) и обнаружил, что в у breadboard-ов есть масса неприятных глюков: то нет контакта внутри платы, то проводник переломился, то выскочил из гнезда незаметно. Когда собираешь что-то посложнее мультивибратора это начинает сильно досаждать. Ты пытаешься показать детям то, что должно быть в теории, а на практике какая-то фигня получается, они смотрят на тебя как на клоуна. В итоге я вернулся к паяльнику. :-)
А другие площадки тоже не спят, хотят к себе трафик повернуть.
Назовите пожалуйста парочку таких площадок, можно в личку. Как-то так получается, что кроме Хабра и HN я ничего больше не читаю, ибо не интересно. Скорее всего я просто не знаю про существование других кипящих миров.
Да, регулярные посты от нейросетей и про нейросети порядком подзадрали, но я как-то научился их скипать не читая даже заголовка. :)
Руководствуясь критериями выше, я решил писать BIOS на C++ (на деле C с классами) с активным использованием интерфейсов и VMT.
И у Вас получился Symbian S40. :-) Спасибо, за интересную статью.
Мне доводилось реализовывать полноценный фрейм-буфер в 1/4 части от размера. Так как у выбранного МК (STM32F405) было недостаточно ОЗУ для хранения всего обьема изображения дисплея, то под изображение выделялось только четверть. Обновление экрана происходило в четыре фазы. При рендеринге изображения в методе Draw() отрисовывалась только та часть экрана, которая необходима для следущего обновления. Само обновление также как и у Вас производилось DMA контроллером - засылалось по SPI в дисплей FTDI FT800 (480x272, RGB565). Получилось чуть более 12 полных FPS, по 48 полей в секунду. Для решаемой тогда нами задачи (HMI для системы управления сложным агрегатом) этого было вполне достаточно.
Также к этой теме была написана небольшая ОС с графическим оконным интерфейсом, минималистичной файловой системой во Flash и запуском ELF с релокацией в SRAM. Исходники доступны тут: https://github.com/Fabmicro-LLC/GroveOS.git
А промптинг когда преподавать ? ;)
Человек не знающий как устроена машина и неумееющий давать ей команды на родном для неё языке не достоин называться программистом, и подпускать таких к пограммированию категорически нельзя! Начинать программировать надо с создания своей простой вычислительной машины и изучению её машинного кода. И только после этого переходить к языкам, компиляторам и операционным системам. Иными словами, обучение должно в сокращенной форме повторять путь по которому шел прогресс. Так преподают математику и физику, так должно быть и в компьютерных науках!
Так может быть потому и нету их ? Люди будущего взали в руки калькуляторы, провели небольшие рассчеты и прикинули что вероятность попасть в заданную точку пространстра-времени стремится к нулю, а погрешность в расчетах делает такое путешествие еще более опасным. А тех, кого отправили, в качестве эксперимента, назад не вернулись. Изделие оказалось невостребованным. :-)
Очень не многие.
Небольшая погрешность в расчетах, всего-то в 30-м знаке после запятой, и турист отказывается в недрах какой нибудь звезды. Весело. Почти THHGTG.
Разумеется. Только мне его не осилить даже под гипнозом.
Какой ужасный синтаксис у этого вашего Rust.
А для этого необходимо отказатсья от MMIO и перейти на "каналы". PCI и PCIe это движение в нужном направлении, но что делать со всем остальным железом ? Где-то читал, что IOMMU не решает всех проблем виртуализации, а только создает новые.
Делаю вывод что Unix системы (и FreeBSD в частности), посто не для Вас. Может быть и к лучшему, что Вы не стали с ней работать.
Этот проект называется Xfce. И он не только для FreeBSD.
К FreeBSD есть документация - "FreeBSD Handbook". Это целая книга которая доступна on-line в виде HTML на сайте проекта (на Ozon-е есть даже в печатном виде с переводом на Русский). Изучать надо было начинать с неё.
Ваши бы слова, да разработчикам в уши! Но, к сожалению, это не так.
На Ютубе всякого полно. Вообще, владение пальником это как учиться кататься на велосипеде: многие могут надавать советов, но пока сам не прочувствуешь - не поймешь. :)
Если вопос в обучении детей, то в Чипдипе есть конструкторы для сборки методом пайки (всякие безделушки) c выводными и SMD компонентами. Моим заходит.
https://news.ycombinator.com/
А это уже было в Кремниевой Долине. ;)
Я как-то занимался со своими изучением цифровой схемотехники на этих платах (насмотрелся Бена Итера) и обнаружил, что в у breadboard-ов есть масса неприятных глюков: то нет контакта внутри платы, то проводник переломился, то выскочил из гнезда незаметно. Когда собираешь что-то посложнее мультивибратора это начинает сильно досаждать. Ты пытаешься показать детям то, что должно быть в теории, а на практике какая-то фигня получается, они смотрят на тебя как на клоуна. В итоге я вернулся к паяльнику. :-)
Назовите пожалуйста парочку таких площадок, можно в личку. Как-то так получается, что кроме Хабра и HN я ничего больше не читаю, ибо не интересно. Скорее всего я просто не знаю про существование других кипящих миров.
Да, регулярные посты от нейросетей и про нейросети порядком подзадрали, но я как-то научился их скипать не читая даже заголовка. :)
Особенно порадовала новость о первых результатах перевода GNU tools на Rust. ;)
Даа... настоящему продажнику пофиг чем торговать. Сегодня лапша быстрого приготовления, завтра - свободное ПО. :)
И у Вас получился Symbian S40. :-) Спасибо, за интересную статью.
Мне доводилось реализовывать полноценный фрейм-буфер в 1/4 части от размера. Так как у выбранного МК (STM32F405) было недостаточно ОЗУ для хранения всего обьема изображения дисплея, то под изображение выделялось только четверть. Обновление экрана происходило в четыре фазы. При рендеринге изображения в методе Draw() отрисовывалась только та часть экрана, которая необходима для следущего обновления. Само обновление также как и у Вас производилось DMA контроллером - засылалось по SPI в дисплей FTDI FT800 (480x272, RGB565). Получилось чуть более 12 полных FPS, по 48 полей в секунду. Для решаемой тогда нами задачи (HMI для системы управления сложным агрегатом) этого было вполне достаточно.
Также к этой теме была написана небольшая ОС с графическим оконным интерфейсом, минималистичной файловой системой во Flash и запуском ELF с релокацией в SRAM. Исходники доступны тут: https://github.com/Fabmicro-LLC/GroveOS.git
AFAIK, всё это дело (добавление dbus в автозапуск) уже давно затолкано в post install скрипт.