Знакомый в Телеграм спросил, я решил переспросить здесь "Не знаешь есть пример нормального ядра ос с пм под 386? Меня всегда бесило что на васмоподобных сайтах в статьях пишем свою ось - приводится дебильный листинг по переводу в пм на асме и вывод хелло ворлда и никаких концептов по распределению памяти, переключению задач - не демонстрируется. Ничего кроме никчемного хелловорлда. Если вы пишете статью пишете где по результату должно быть ядро ос и не получаете его по факту то за это я бы давал 200 ударов плетью. Бесит. . . Чтобы в пм перейти много мозгов не нужно. А вот чтобы реализовать менеджер задач и менеджер памяти уже думать надо так как вариантов полно. Использовать только гдт или гдт только для ядра, а лдт один на все процессы или каждому по экземпляру лдт Тсс использовать не использовать и т.д. Рефернсная реализация где ...? Сыт по горло школоло статьями по переводу в пм. И вообще, зачем в гдт/лдт 8тыс сегментов? Для чего их столько? Если на один процесс достаточно одной записи с базой 0 и размером 4гб И где лежат каталоги страниц и таблицы страниц? Чтобы выделить под них память она уже должна быть выделена в другом каталоге страниц?.. я могу конечно отключить страничное преобразование для этого но мне кажется ни одна ос этого не делает. Что откуда берется и по каким алгоритмам работает ни одна из этих говностатей внятно не говорит Буду благодарен за практические материалы, по этому вопросу."
Несовсем ответ на ваш вопрос, но если интересно кому-то попробовать себя в написании, своей операционной системы, загрузчиков и т.д. Рекомендую почитать эти статьи:https://habr.com/ru/company/neobit/blog/162769/ И цикл статей "Как запустить программу без операционной системы": https://habr.com/ru/company/neobit/blog/173263/ Там семь частей, в итоге можно создать полноценное ядро... Также на хабре можно найти как создать свое ядро например на расте, как-то я начал делать, потом забил. Хочу отметить, что эти знания сейчас восстребованы, также как и тема гиппервизоров, короче монетизировать потом можно, если что-то интересное будет получаться, особенно это касается темы гипервизеров. Ну понятно, что про "что-то получаться", это не просто написать хеллоу ворлд в консоле, а работа над стабильностью и безопасностью ядра, какой-то интересный монитор гипервизера и т.д.)
Ещё хочу дополнить, вообще наверное зря пишу, т.к. врядли это кому интересно здесь, т.к. тематика очень специфична. Но долго не мог найти цикл переводов, только сейчас нашёл, пусть тут будет:https://habr.com/ru/post/349248/ Это как-раз как написать своё ядро на Расте, статья прикольная тем-что можно попробовать свои наработки на железке, Rasbery. Всё-что нужно закупить, можно прочитать в статье, ну-там недорого, в около 3-5 К. рублей, в итоге можно там потом начать с маргания светодиодами и закончить создав какую-то интересную железку. Я как-то заморочился, хотел типо умные часы сделать, но Rasbery как-то слишком круто для этого, в итоге тоже забросил всё это дело. З.Ы. Rasbery так и валяется без дела.
_edge, wrk ? --- Сообщение объединено, 24 окт 2020 --- X-Shar, > Также на хабре можно найти как создать свое ядро например В основе ядра лежит огромное количество кода работающего с железом. Далее идут уже какие то абстракции высокоуровневые. Написать ключевую поддержку железок самое сложное, тк железо современное очень сложное это одному человеку сделать невозможно в принципе. Может у тебя понятие такое - взял сборку линя скомпилил и я своё ядро собрал" - это просто смешно абсурд.
Инди, а ты специально троллишь, или посты не читаешь вообще ? Где тут написано про Линукс вообще ? Те статьи которые я выложил, там о разработки ядра, в том-числе и аппаратной части. Да у любой более-менее серьёзной системы есть аппаратный слой абстракций (HAL), который необходим для функционирования самого ядра, всё остальное выносится в драйвера, это удобно, что если появляется новая железка, её относительно легко можно интегрировать в систему написав драйвер. В то-же время HAL пишется под определённую платформу, при этом не нужно переписывать само ядро, что делает ядро кросплатформенным, в том-числе и драйвера под железку, если одна и та-же железка интегрируется под разные платформы. Про драйвера, что именно сделать человеку не под силу ? Драйвера для малинки написаны, достаточно портировать с того-же линукса, или с загрузчиков типо юбут... Также в гите куча драйверов и проектов для малинки и статей. Проблем вообще с этим не вижу. Скажу более, что драйвера обычно пишут сами разработчики железок, а в операционных системах потом их портируют, глянь сорцы линукса, юбута, хромос... Они часто тырят драйвера друг у друга, часто даже с ошибками в коде...)))
X-Shar, > ты специально троллишь, или посты не читаешь вообще ? Прочитать это одно дело, подумать над тем что прочитал совсем иное. Мне незачем твои посты читать, вникать брать на анализ и тп, Это наоборот ты инфу получай изучай. Походу ты вершков нахватался пришёл сюда и говоришь на уровне моём к примеру или есчо кого, кто тут давно. Ну как же так можно ты на любой тех задаче сольёшься, ты не одно тут не решал да и вообще нигде. Так что мне нет смысла читать и отвечаю я на это когда желание есть. Приведи в пример свой форум, нормальный адекватный человек разве так будет поступать, я не буду подробности рассказывать может это не нужно. А вот сюда пришёл с не вопросами даже, по матчасти околонулевой уровень, нахватался за счёт чтения чужёй инфы поверхностных знаний; таких за десяток лет уже бесчисленное множество было и со скиллом неплохим без понта.
Может у кого-то и так, но имхо в линухах люди просто дергают сискол иоктл, да и всех делов. Тот люд, что пилил дрова, делал круглые глаза, и спрашивал "зачем?", вместо ответа про gdbserver и загрузку символов. Короче, пилить драйвера, и завешивать систему, что бы прицепиться к ядру - это очень разные истории. Оно просто им не нужно. Да и чего в ядре увидишь и узнаешь с наскока? Нужно и архитектуру оси знать, и уметь реверсить всякие дата стракче, и часть работы кодом уметь делать, а не ручками. Просто влезть в ядро - легко, а вот путное что-нибудь накрутить, ой ли. Нет ничего удивительного, что раз удовлетворив любопытство, мотивации на другие оси нет. Удивительно как раз наличие мотивации. Ну как бы это конечно всё субъективно.
Indy_ если ты не вникаешь в посты, зачем на них отвечать ? Нахватался вершков как-раз ты, не работая в области, смешно говорить о каких-то мега знаниях, 15 лет разработки ? Ну давай разбираться, а что ты сделал такого интересного, что-бы говорить о тебе как авторитетном специалисте ? Да, может-быть в области реверса что-то есть, но не уверен что там что-то супер, т.к. читал отзывы на том-же екселабе, смотрю тебя там уважают и прислушиваются к твоим постам.))) Если-же говорить про системную разработку, я убежден что ты неспособен написать даже простецкий драйвер, который-бы хотя-бы даже защищал файл от удаления, я могу даже манулы скинуть и ты даже по этим манулам неразбирешся, о чём мы тут тогда вообще говорим...))) Тут послушать, все такие крутые спецы, при том-что в области не проработали не дня и заработали 0 копеек...))) Если вопрос про мотивацию ко мне, то тут всё просто, я хочу применить эти знания в комерсе, я уже говорил но повторюсь в области системной разработки мало спецов, а работы много и в будущем будет ещё больше, поэтому кто что-то знает в этой области, будут очень ценится в ближайшем будущем.))) Ну и делая что-то на паблик, тут две цели, во первых сам учишься, в голове что-то откладывается, а во вторых реклама, можно черкануть в резюме, уже плюсик какой-то...) А чего ты всё время упоминаешь мой форум, он живой, да может активность там не такая как даже здесь (Хотя и тут активность маленькая), да и нафиг мне там такая как тут активность, где у собеседников в основном посты какие они крутые спецы, вот и всё что тут можно понять, прочитав посты, либо срачи... Так-то сейчас веду форму как блог, делаю там темы, иногда что-то создают форумчане, непонимаю почему ты всё время упоминаешь форум, ресурсу уже более восьми лет, ты и такое создать не сможешь, либо тебя сразу взломают, либо сразу удалишь и года не пройдет.) То-что я раньше закрывал форум, ну тут ничего такого нет, форум не коммерческий, захотел открыл, захотел закрыл, это моё дело, т.к. никто некогда не помогал мне его держать и помогать не будет, он существует, пока форум нужен лично мне, а это опять-таки больше направлено на рекламу, что я что-то могу делать в айти, т.к. то-чем я занимаюсь сейчас на работе в силу коммерческой тайны я не могу показать...)))