1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

Полноценные примеры работы с Протмод?

Тема в разделе "WASM.OS.DEVEL", создана пользователем _edge, 19 окт 2020.

  1. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    647
    Адрес:
    Russia
    Знакомый в Телеграм спросил, я решил переспросить здесь :)

    "Не знаешь есть пример нормального ядра ос с пм под 386? Меня всегда бесило что на васмоподобных сайтах в статьях пишем свою ось - приводится дебильный листинг по переводу в пм на асме и вывод хелло ворлда и никаких концептов по распределению памяти, переключению задач - не демонстрируется. Ничего кроме никчемного хелловорлда. Если вы пишете статью пишете где по результату должно быть ядро ос и не получаете его по факту то за это я бы давал 200 ударов плетью.
    Бесит. . .
    Чтобы в пм перейти много мозгов не нужно.
    А вот чтобы реализовать менеджер задач и менеджер памяти уже думать надо так как вариантов полно.
    Использовать только гдт или гдт только для ядра, а лдт один на все процессы или каждому по экземпляру лдт
    Тсс использовать не использовать и т.д.
    Рефернсная реализация где ...?
    Сыт по горло школоло статьями по переводу в пм.
    И вообще, зачем в гдт/лдт 8тыс сегментов? Для чего их столько? Если на один процесс достаточно одной записи с базой 0 и размером 4гб
    И где лежат каталоги страниц и таблицы страниц?

    Чтобы выделить под них память она уже должна быть выделена в другом каталоге страниц?.. я могу конечно отключить страничное преобразование для этого но мне кажется ни одна ос этого не делает.

    Что откуда берется и по каким алгоритмам работает ни одна из этих говностатей внятно не говорит
    Буду благодарен за практические материалы, по этому вопросу."
     
    Последнее редактирование модератором: 20 окт 2020
  2. X-Shar

    X-Shar Active Member

    Публикаций:
    0
    Регистрация:
    24 фев 2017
    Сообщения:
    255
    Несовсем ответ на ваш вопрос, но если интересно кому-то попробовать себя в написании, своей операционной системы, загрузчиков и т.д.

    Рекомендую почитать эти статьи:https://habr.com/ru/company/neobit/blog/162769/

    И цикл статей "Как запустить программу без операционной системы":
    https://habr.com/ru/company/neobit/blog/173263/

    Там семь частей, в итоге можно создать полноценное ядро...

    Также на хабре можно найти как создать свое ядро например на расте, как-то я начал делать, потом забил.

    Хочу отметить, что эти знания сейчас восстребованы, также как и тема гиппервизоров, короче монетизировать потом можно, если что-то интересное будет получаться, особенно это касается темы гипервизеров.

    Ну понятно, что про "что-то получаться", это не просто написать хеллоу ворлд в консоле, а работа над стабильностью и безопасностью ядра, какой-то интересный монитор гипервизера и т.д.)
     
    _edge нравится это.
  3. X-Shar

    X-Shar Active Member

    Публикаций:
    0
    Регистрация:
    24 фев 2017
    Сообщения:
    255
    Ещё хочу дополнить, вообще наверное зря пишу, т.к. врядли это кому интересно здесь, т.к. тематика очень специфична.

    Но долго не мог найти цикл переводов, только сейчас нашёл, пусть тут будет:https://habr.com/ru/post/349248/

    Это как-раз как написать своё ядро на Расте, статья прикольная тем-что можно попробовать свои наработки на железке, Rasbery.

    Всё-что нужно закупить, можно прочитать в статье, ну-там недорого, в около 3-5 К. рублей, в итоге можно там потом начать с маргания светодиодами и закончить создав какую-то интересную железку.

    Я как-то заморочился, хотел типо умные часы сделать, но Rasbery как-то слишком круто для этого, в итоге тоже забросил всё это дело.:dntknw:

    З.Ы. Rasbery так и валяется без дела.:dntknw:
     
  4. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.021
    _edge,

    wrk ?
    --- Сообщение объединено, 24 окт 2020 ---
    X-Shar,

    > Также на хабре можно найти как создать свое ядро например

    В основе ядра лежит огромное количество кода работающего с железом. Далее идут уже какие то абстракции высокоуровневые. Написать ключевую поддержку железок самое сложное, тк железо современное очень сложное это одному человеку сделать невозможно в принципе. Может у тебя понятие такое - взял сборку линя скомпилил и я своё ядро собрал" - это просто смешно абсурд.
     
    _edge нравится это.
  5. X-Shar

    X-Shar Active Member

    Публикаций:
    0
    Регистрация:
    24 фев 2017
    Сообщения:
    255
    Инди, а ты специально троллишь, или посты не читаешь вообще ?

    Где тут написано про Линукс вообще ?

    Те статьи которые я выложил, там о разработки ядра, в том-числе и аппаратной части.

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

    В то-же время HAL пишется под определённую платформу, при этом не нужно переписывать само ядро, что делает ядро кросплатформенным, в том-числе и драйвера под железку, если одна и та-же железка интегрируется под разные платформы.

    Про драйвера, что именно сделать человеку не под силу ?

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

    Также в гите куча драйверов и проектов для малинки и статей.

    Проблем вообще с этим не вижу.

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

    Они часто тырят драйвера друг у друга, часто даже с ошибками в коде...)))
     
  6. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.021
    X-Shar,

    > ты специально троллишь, или посты не читаешь вообще ?

    Прочитать это одно дело, подумать над тем что прочитал совсем иное. Мне незачем твои посты читать, вникать брать на анализ и тп, Это наоборот ты инфу получай изучай.

    Походу ты вершков нахватался пришёл сюда и говоришь на уровне моём к примеру или есчо кого, кто тут давно. Ну как же так можно ты на любой тех задаче сольёшься, ты не одно тут не решал да и вообще нигде. Так что мне нет смысла читать и отвечаю я на это когда желание есть. Приведи в пример свой форум, нормальный адекватный человек разве так будет поступать, я не буду подробности рассказывать может это не нужно. А вот сюда пришёл с не вопросами даже, по матчасти околонулевой уровень, нахватался за счёт чтения чужёй инфы поверхностных знаний; таких за десяток лет уже бесчисленное множество было и со скиллом неплохим без понта.
     
  7. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    653
    Может у кого-то и так, но имхо в линухах люди просто дергают сискол иоктл, да и всех делов. Тот люд, что пилил дрова, делал круглые глаза, и спрашивал "зачем?", вместо ответа про gdbserver и загрузку символов. Короче, пилить драйвера, и завешивать систему, что бы прицепиться к ядру - это очень разные истории. Оно просто им не нужно. Да и чего в ядре увидишь и узнаешь с наскока? Нужно и архитектуру оси знать, и уметь реверсить всякие дата стракче, и часть работы кодом уметь делать, а не ручками. Просто влезть в ядро - легко, а вот путное что-нибудь накрутить, ой ли. Нет ничего удивительного, что раз удовлетворив любопытство, мотивации на другие оси нет. Удивительно как раз наличие мотивации.

    Ну как бы это конечно всё субъективно.
     
    X-Shar, Mikl___ и НетРегистрации нравится это.
  8. X-Shar

    X-Shar Active Member

    Публикаций:
    0
    Регистрация:
    24 фев 2017
    Сообщения:
    255
    Indy_ если ты не вникаешь в посты, зачем на них отвечать ?

    Нахватался вершков как-раз ты, не работая в области, смешно говорить о каких-то мега знаниях, 15 лет разработки ?

    Ну давай разбираться, а что ты сделал такого интересного, что-бы говорить о тебе как авторитетном специалисте ?

    Да, может-быть в области реверса что-то есть, но не уверен что там что-то супер, т.к. читал отзывы на том-же екселабе, смотрю тебя там уважают и прислушиваются к твоим постам.)))

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

    Тут послушать, все такие крутые спецы, при том-что в области не проработали не дня и заработали 0 копеек...)))

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

    Ну и делая что-то на паблик, тут две цели, во первых сам учишься, в голове что-то откладывается, а во вторых реклама, можно черкануть в резюме, уже плюсик какой-то...)

    А чего ты всё время упоминаешь мой форум, он живой, да может активность там не такая как даже здесь (Хотя и тут активность маленькая), да и нафиг мне там такая как тут активность, где у собеседников в основном посты какие они крутые спецы, вот и всё что тут можно понять, прочитав посты, либо срачи...

    Так-то сейчас веду форму как блог, делаю там темы, иногда что-то создают форумчане, непонимаю почему ты всё время упоминаешь форум, ресурсу уже более восьми лет, ты и такое создать не сможешь, либо тебя сразу взломают, либо сразу удалишь и года не пройдет.)

    То-что я раньше закрывал форум, ну тут ничего такого нет, форум не коммерческий, захотел открыл, захотел закрыл, это моё дело, т.к. никто некогда не помогал мне его держать и помогать не будет, он существует, пока форум нужен лично мне, а это опять-таки больше направлено на рекламу, что я что-то могу делать в айти, т.к. то-чем я занимаюсь сейчас на работе в силу коммерческой тайны я не могу показать...)))