Самое свежее

Конец Публициста Раскрыт взрыв вулкана Кракатау. Политические анекдоты Как загибается Европа Эль Мюрид. Замеры благосостояния в России После теракта. Неудобные вопросы. Александр Росляков. Все для победы этой диктатуры, остальное – тьфу!

ЯДЕРНЫЕ ТЕХНОЛОГИИ ПРО.....граммистов.

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

     

     

    У Пушкина Александра Сергеевича, белка трудится над производством изумрудных ядер.

    Физики «расщепляют» ядра неделимых атомов.

    Системные программисты, производят ядра операционных систем, а «злобные хаккеры», как и ядерные физики, пытаются эти ядра «расщеплять».

     

     

    Ядерный ХАККЕР!

     

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

    Давайте оценим логическую концепцию. Ядро, это нечто очень крепкое и непременно круглое, поскольку круглое занимает оптимальный объём в пространстве, то есть заполняет его оптимально.

    Воздушный шарик, несколько ломает это представление о плотности и крепости.

    Не всё в этом мире совершенно, как нам кажется, всё согласуется с правилом 50 на 50. Природа умна и рациональна. В отличие от нас.

     

    Так что же такое, Ядро Операционной системы? Это программный КОД.

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

    А насколько правильный? Насколько возможно!.

    А насколько возможно?

    ВОТ.... , с этого и начнём.

     

     

    Не пугайтесь, это не ядро. Это всё, что к нему не относится.

     

    Надёжность ядра, закладывается производителем железки с названием микропроцессор (микроконтроллер, чип, кирпич и т.д).

     

    Каждый такой чип, имеет систему команд, посредством которых чип и выполняет вычисления. Команды эти, называются машинными и имеют формат.

    Формат, это логика построения команд. Машинные команды, это набор нулей и единиц разной длины. Длина измеряется битами, но практически все биты объединяют в другие единицы, байты=8бит. Байт это длина, в которой измеряется всё остальное и машинные комманды тоже.

    Микропроцессор, как вы догадались, понимает только наборы этих нулей и единиц, больше ничего. Представляете себе труд программиста пишущего программу в этих кодах? …........Жуть!?! А ведь первые программисты, так и поступали.

     

    Но они и не пишут в кодах, они сделали проще, каждой команде сопоставили фразу, описывающую что делает команда и сократили всё до начальных букв фразы. MOV, LDD, ADD, SUB(переслать, загрузить, сложить, вычесть). Все эти коды в сумме, составляют программный язык конкретного микропроцессора. Называется этот язык АССЕМБЛЕР. И как вы догадываетесь, у каждого чипа свой набор «команд» и свой ассемблер. В тесной связке с языком, имеется переводчик, переводящий «слова» в код нулей и единиц. Называется он тоже, ассемблер. Это своеобразный словарь, для разговора с микропроцессором. На ассемблере, пишется самый оптимальный код. Все разработчики «встроенных систем», очень хорошо осведомлены в этой области.

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

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

    В итоге, это дало толчок к появлению языков программирования «для лентяев» :-)) . Так появился язык С (си), впоследствии Бьярн Строустроп «добавил» к нему концепции объекного проектирования и два плюса. Все остальные языки, это производные С, ориентированные на свой круг логических задач. И написаны они, тоже на С. Все ядра пишутся именно на этом языке, с добавлением кода на ассемблере. Каждая операционная система, имеет ядро. Но для небольших задач, операционная система не нужна, соответственно и ядро, тоже ни к чему.

    А вот для сложных систем, нужен порядок, контроль и всё такое, тут без операционной системы не обойтись.

    Операционная система, это очень жёсткая и стройная административная модель, реализованная в виде программы. Ядро, основная составляющая этой модели.

    Доступ к ядру, прикладным программистам закрыт наглухо, здесь сплошная диктатура, никакой демократии. И обеспечивается это, технологическими средствами самого чипа.

    То есть, всё вшито наглухо в кристалл и никакая программа, сделать ничего не сможет.

    То есть, кто первый (захватил защищённый режим), того и тапочки.

    Вся власть, «тапочки», захватывается ядром, в процессе загрузки. Для этого существует машинная команда (точнее набор команд), которая переводит чип в «защищённый режим» - режим диктатуры ядра. После чего, ядро категорически запрещает выполнять эту и много других комманд, всем остальным. То есть, код ядра захватывает власть над кристаллом (чипом). Этим обеспечивается защита и надёжность операционной системы.

     

    А что если попытаться выполнить такую «запрещённую» команду?

    А ничего! Микропроцессор, в связи с тем, что у него жёстко зашит, на технологическом уровне, приказ «если установлен флаг защиты, выдать сигнал о нарушении режима защиты», тут же доложит о таком безобразии электрическим сигналом, здесь коррупция бессильна. Ядро должно оценить «приказ» и жёстко отреагировать.

    Что то вроде. «Э …, так делать нельзя! Совсем, совсем нельзя...».! Если кто то, или что то, желает сделать что - то эдакое, то идёт на поклон к ядру, бьёт челом и просит исполнить свой код.

     

     

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

     

    Изготовитель ядра, создаёт и публикует правила (АРI — правила прикладного программирования) согласно которым и подаются прошения, поступающее из кода прикладных программистов.

    Отсюда и вырисовывается логика работы ядра. Запретить всё что «возможно», а если невозможно запретить, то определить жёсткие, насколько возможно условия, равные для всех. Это реализуют, системные программисты и пытаются преодолевать хаккеры.

    Операционных систем очень много, (ОЧЕНЬ!), но основные, это продукция Microsoft и клоны UNIX. Самые известные из клонов - LINUX, Solaris и MAC OS. Все остальные, узкоспециализированные, расчитанные на конкретные задачи.

    Код ядра, тесно связан с таким понятием как архитектура микропроцессора. На данный момент, доминируют две архитектуры Гарвардская и Фон — Неймановская. А как же ANDROID? Это, Linux подобная система.

    В основе, лежит ядро LINUX.

    И что же такого привлекательного в этом ядре?

    Это ядро с открытым исходным кодом, то есть, по образу и подобию, вы можете сами, сваять себе, «своё» ядро. Но, официальное ядро, находится под конролем его создателя, Линуса Торвальдса. Это эталон!

    Что вы там «изобретёте» для себя, это ваше дело, а вот официальное ядро, это продукт высшего класса, для всеобщего «бесплатного» потребления.

    Благодаря такой организации, ядро Linux перенесено практически на все существующие архитектуры микропроцессоров.

    Кроме всего прочего, ЯДРО — это философия, наука построения надёжных программируемых систем. Основная задача ядра, обеспечивать работу вычислительной системы. Когда «падает ядро» это значит, что оно спасло вашу систему, от неминуемой гибели. Но, ядро восстаёт как птица Феникс из пепла, при повторной загрузке системы.

    Так что если ваша Форточная Ось, посинела с выдачей бреда на синем фоне, ничего страшного, просто перегрузите систему в режиме «войны с вредителями». Система при этом, как правило не страдает. «Уронить ядро», довольно сложно. Практически, это можно сделать только преднамеренно. Легче всего это сделать, написав драйвер. Это самое уязвимое место, откуда ядро может получить смертельный сюрприз.

    Код дравера исполняется в режиме ядра, то есть ядро ему «доверяет полностью» и позоляет исполнять запрещённые команды, но по единовременной протекции Администратора системы. То есть, администратор это делает только один раз, дальше, драйвер становится доверенным лицом ядра, а возможно и смертельным врагом.

    Вот почему, написание драйверов, доверяют только высококвалифицированным системным программистам.

    А незадачливые пользователи, загрузив систему и войдя как Администратор, легко «заражают её вредоносным кодом» и ругают создателей операционной системы. Увы, 99% это «человеческий фактор», то есть вина пользователей, возомнивших себя администраторами.

    А если точнее, нехватка времени и желания «изучать» свою систему.

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

    Образец Диктатора, но благодаря такой его позиции, мы имеем очень ДЕМОКРАТИЧНОЕ и стабильное ядро системы Linux.

     

    А что же Windows? Почему её так ругают? Мало того, ещё и матерно!

    По моему личному мнению, это следствие «мнимой демократии» Microsoft. Пользователи не могут понять простую истину, Администратор - это тот, кто наводит порядок и следит за ним. Администратор не работает в системе, он наводит порядок и следит за ним! И не нужно входить в систему с правами администратора, работайте как пользователь и всё у вас будет работать как часы. Но посеяв «разврат» однажды(W95,98), приходится пожинать плоды!

    В виде мата и «несправедливых» упрёков. Windows достаточно надёжна, но очень сложна, во всех отношениях, просто образец сложности и псевдо демократии.


    Администратор, не имеет прямого доступа к ядру, доступ к ядру может получить только квалифицированный программист. Так что шансов повредить ядро, у вас нет. Для этого нужен специальный, очень «грамотный», КОД.

    И ваши, параноидальные действия, по запуску такого кода.


    А как думаете, кто может написать "самый грамотный код" убивающий ядро?

    Ответ: создатель кристалла. Причём это явление приобрело ужасающие масштабы. Слетела "прошивка",чип "сдох", покупай новую систему. То есть плати, но сначала работай. Работай, покупай и плати. Можешь взять в долг, заодно заказать ящичек в крематории. На другое, увы, средств уже не будет.

    Ещё один, надёжный способ, порабощения разума.


     

    P.S

    Ну и как вы думаете, для чего нужна «национальная операционная система»?......

    Мне тоже кажется, что для..... - грабежа трудового народа!

    Делайте! Для этого всё есть, причём всё бесплатно!. Вот только, как говорил Шура Балаганов - « зачем вам столько денег, месье Бендер?»

    И вообще, желательно иметь «национальный микропроцессор» и свою передовую технологию его производства. Передовую инфраструктуру, для написания передового кода. (Компиляторы, Линкеры и всё такое).

    Чего к сожалению, пока не наблюдается.

    А это значит, что нас …...... да, да! Именно так, как вы подумали!

     

    А пока, Всё!


    Суть: Зачем вам ОС, ядро и всё остальное, если у вас нет собственного чипа?

    Для существующих чипов это всё есть,

    Идея воплощается в алгоритм, а не наоборот. Основная идея, это "защищённый режим". Если он, не реализован в кристале, вы не можете реализовать идею безопасности ядра в коде. Телега должна быть позади лошади. Сделайте кристалл, задокументируйте его возможности, создайте инструментарий разработчика.

    И сделав всё это, можно начинать создание "национальных" ядер и операционных систем. Нужно понимать, что военные, всё что нужно им, сделали. И это никто не должен знать, кроме военных. Но нам, нужно дать всем инженерам разрабатывать СВОЁ. А его нет... Есть AVR, ARM, MICRICHIP. А где собственно можно приобрести комплект для разработки на кристалле Эльбрус? Нигде! Что мы имеем. "Огромная" потенциальная масса инженеров, продвигает продукцию американских компаний. Просто потому, что нет своих кристаллов, документации и инструментария. Может кто то расскажет про "революционный Российский компилятор?" Тогда о какой ОС, может идти речь? Всё что можно сделать, это ОС для Американских кристаллов. Так причём эдесь фраза Национальная? Она просто теряет смысл. Но что очень удручает, что под бессмысленную идею, требуется МНОГО денег.


3

Комментарии

9 комментариев
  • Денис Грачев
    Денис Грачев21 ноября 2017 г.+2
    Чудесная статья – но не для средних умов вроде моего. Все, чувствую, растолковано и разложено по полочкам, но умом мне это, как и Россию, не понять. Увы.
  • Андрей MastersInc
    Андрей MastersInc21 ноября 2017 г.+1
    По большому счёту, мысль достаточно проста. Нас всё время водят за нос, рассказывая о величайших достижениях, но... Это, как всегда, обыкновенная ложь, ради наживы. Ведь если дать русскому человеку всего три гарантированные вещи - Жильё, работу и образование. Мы выйдем на самые передовые рубежи всего, что можно придумать. Но вместо этого, у нас всё отнимают.... И врут, врут, врут. Жильё недоступно, образование отсутствует, даже за большие деньги, а работа, только рабская за нищенское "вознаграждение." И похоже виноваты мы сами....Поскольку не видим всех тонкостей циничного обмана. Просто нужно дать свободу своему разуму и доверять только ему, других союзников у нас просто НЕТ.
    • Алексей Крутов
      Алексей Крутов3 июля 2023 г.
      Андрей MastersInc: «Если дать русскому человеку всего три гарантированные вещи – жильё, работу и образование. Мы выйдем на самые передовые рубежи всего, что можно придумать. Но вместо этого, у нас всё отнимают...». - - - Ну, да, обманывают и отнимают. На мой взгляд скромного пользователя, надо бы, прежде всего, дать людям ВОСПИТАНИЕ. И – не мешать честным людям работать. А вообще-то надо бы давно признать, что технический прогресс сам по себе не делает людей лучше, честнее, добрее, благороднее, но однозначно втягивает развращённое человечество в самоубийство, что сегодня наглядно показано в конфликте на Малороссийской земле.
    • Алексей Крутов
      Алексей Крутов3 июля 2023 г.
      А для здоровья Человека надо бы разумно сочетать Труд умственный с Трудом физическим. Ибо любой Труд не из-под палки при желании всегда можно превратить в творческий и общественно-полезный, при этом даже грубый физический труд должен быть осмысленным и толковым. Значит, разделение труда на физический (для черни) и умственный (для интеллигенции и так называемой элиты), следует признать полезной НАХОДКОЙ только для барствующих элементов, всевозможных мошенников в интернете и бездельников-рабовладельцев, одобряемой любой религией. Причём, – и при царях, и при пр-р-резидентах…
  • Дмитрий Иванов
    Дмитрий Иванов21 ноября 2017 г.
    "Национальный микропроцессор" есть - Эльбрус, в частности его последняя модель Эльбрус-8С, технология производства 28 нм https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D1%8C%D0%B1%D1%80%D1%83%D1%81-8%D0%A1 вот на нем запускается Windows https://www.youtube.com/watch?v=BGRRsYWXQvY смотрите также другие видео на этом канале, например это, с русскими маркировками на платах https://www.youtube.com/watch?v=PgA9z6LOVZU "Компиляторы, Линкеры и всё такое" - тоже есть, от фирмы МЦСТ (как и процессор) http://www.mcst.ru/sistema_programmirovaniya «национальная операционная система» - разрабатывается и начинает использоваться прежде всего там где не желательно западное програмное и аппаратное обеспечение да, это в разы дороже и еще не совсем похоже на Intel с Microsoft , но и начали мы позже, все сразу не бывает что вам везде кажется что вас водят за нос, обманывают, разворовывают и т.д. ?
  • Андрей MastersInc
    Андрей MastersInc21 ноября 2017 г.+1
    Дмитрий, поверьте я слежу за достижениями и очень пристально. Да они "есть", но не про нашу честь. "Компиляторы, Линкеры и всё такое"- ОТСУТСТВУЕТ. Я достаточно часто пишу код, к сожалению весь инструментарий "чужой", или общественный - GCC. МЦСТ -ничего такого не производит. Внимательно читайте, что продаётся и как. 28нм уже старая технология. И уж поверьте я очень радуюсь когда появляется что то НАШЕ и достойное, архитекктура Эльбрус, к сожалению, тоже не новинка и не секрет. Часто хочеться взять "отечественный микропроцессор и сделать НАШЕ." Увы, всё в лучшем случае китайское. Пока, мы пользуемся тем, что изобрели Деды. Вот за это их и загоняют поскорее в гроб.
  • Дмитрий Лысов
    Дмитрий Лысов22 ноября 2017 г.+1
    Статья, по моему мнению, написана толково и хорошо адаптирована для понимания людей, знакомых с программированием на начальном уровне. Для меня был неожиданным постскриптум, практически полностью перечеркнувший восхищение оставшееся от статьи. Автор полагает, что процессор - главный в компьютере? А та безделица, что именуется чипсетом и БИОСОМ (по старому, не будем углубляться пока) ничего не решают? Ощущение, что разные люди писали статью и постскриптум. Статье - плюс! Послесловию - жирный минус!
  • Андрей MastersInc
    Андрей MastersInc22 ноября 2017 г.+1
    На самом деле, критика это здорово! Спасибо. И всё таки, самое важное - это люди! Люди, которым нужно создать условия, для достойной жизни и творчества.
  • Андрей MastersInc
    Андрей MastersInc22 ноября 2017 г.+1
    Сергей, за комментарий спасибо. О структуре ядер и микроядер, экзоядер я могу написать отдельную статью и прислать желающим персонально. Здесь, это сделать сложно(слишком многое надо пояснений). Люди должны понимать (ВСЕ), что они читают. Посмотрите комментарий Дениса Грачёва. Так вот, если меня не понимают, значит Я недостаточно умён, чтобы донести так, чтобы меня понимали. Но я стараюсь. Думаю мне стоит дописать PS2, чтобы несколько развернуть мысль, чтобы и специалисты меня поняли. :-)))