[ВХОД]
20.08.26(12:29)

mob.skif.biz

Альтернативная энергия. Оставь надежду, всяк сюда входящий...

🏠 Главная | 📚 Содержание | 💬 Форум | 📁 Файлы | 📩 Контакт
 
Резонансные генераторы
Магнитные генераторы
Механические центробежные (вихревые) генераторы
Электростатические генераторы
Водородные генераторы
Ветро- и гидро- и солнечные генераторы
Прочие идеи (разные)
О форуме
Транспорт
Оружие
Научные идеи, теории, предположения...
Экономия топлива
Коммерческие вопросы
Струйные технологии
Торсионные генераторы
Новые технологии
Барахолка
Патентный отдел
Конструкторское бюро
Нейтронная физика
Торнадо и смерчи
Гравитация и антигравитация
Сделай сам. Советы.
Медицина и здравоохранение

🖥️ | 🖨️

Форум - Новые технологии - Сделай сам - Операционная система Linux. Вопросы без ответа. - Стр:5
<] [ 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | ... | 50 ] [>
Модератор: dedivan
Первый пост темы: dedivan Post: #471944 От:06.06.2015 (00:41)
21 августа 1991 года закончился августовский путч в СССР-
24 августа 1991 в центре Киева. Люди приветствуют провозглашение независимости
25 августа 1991 года Линус Товальдс опубликовал ядро Linux Date: 25 Aug 91 20:57:08 GMT
Просто совпадение? Можно быть, но есть еще много других совпадений.
Главное- это одинаковая методика зомбирования адептов Линукса и Нэзалежной.
Линуксоидов в мире точно столько же сколько и укропов- около 1 %.
О чем не спросишь линуксоида- ответ : хто нескаче тотмастдай
airman | Post:472505 - Date: 13.06.15(23:30)
rsersh | Post: 472496 - Date: 14.06.15 (03:53)
с математикой думаю тут мало кто дружит

Что то мне подсказывает что такие люди есть 😀 и даже здесь, но вообще то для задач программирования не всегда нужна "заумная математика" - ассемблер - вот он нужен!... Другая задача - а где же взять такие вирусы? Говорят в жестких дисках в их прошивке есть, как вытащить и как отличить ту часть, которая диском занимается от той, которая занимается операционкой? И еще - известно что написать свой код бывает быстрее чем разбираться в чужом - значит параллельно нужно пытаться писать "обращение к системным возможностям" линукса помимо ядра.
Ну и пожалуй самый главный вопрос - а кому это все нужно? Мне лично пока хватает микроконтроллеров, а проги, которые с ними работают пишу под xp. На свою систему вместо хр перейти хотелось бы, но для меня одного - это излишне...

bazarov | Post:472507 - Date: 13.06.15(23:47)
но вообще то для задач программирования не всегда нужна "заумная математика" - ассемблер - вот он нужен!

Я был очень удивлён когда узнал что ассемблеров множество. А ещё уидивило что оболочка программы написаная под другую систему исчисления (к примеру троичную а не двоичную) автоматически защищается себя от других вредоносных программ. Это всёравно что воду с маслом смешивать. Зато низкоуровневые программы могут отсечь высокоуровневые от постобработки и не давать им вызывать процедуры или прерывания. Так что всё на математике замешано.

_________________
Не хватит никакого здоровья, чтобы приспособиться к этому глубоко больному обществу(Кришна Мурти)/Горшки не Боги обжигают (многовековая классика)


xx0 | Post:472508 - Date: 13.06.15(23:48)
dedivan Пост: 472493 От 13.Jun.2015 (22:47)
Вообще весь этот холивар про уязвимость линуха имеет смысл- это один из способов заставить работать железыку,
делать то, что нам нужно.
Потихоньку разбираясь с ядром, можно отметить главную дырку- это то, что линух написан полностью на Си.

Ну ты погугли для начала, чтобы не писать такую глупость! 🤢 асм+си
[ссылка]
f72675.gz
Размер: 1.20 MB

_________________
http://xx0ru.livejournal.com/


dedivan | Post:472510 - Date: 14.06.15(00:06)
xx0 Пост: 472508 От 14.Jun.2015 (00:48)
асм+си

"Глупый это не значит что ума нет- это просто ум такой."

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

_________________
я плохого не посоветую


xx0 | Post:472512 - Date: 14.06.15(00:19)
Все программы пользуются библиотекой си, так в чем дыра, может драйвер нвидии дырявый не? кто тебе сказал, что венда не пользуется общими длл? дровами 🤢 В этом плане линукс более защищен, потому что дрова почти все в ядре модулями, а в венде по всему инету в виде экзешников! 😬

_________________
http://xx0ru.livejournal.com/


xx0 | Post:472514 - Date: 14.06.15(00:28)
А вот ядро линукса библиотекой си не пользуется, на что не врите о своих познаниях линукса сидя под вендой! 🤢
sudo apt-rdepends linux-image-3.16.0-39-generic
Reading package lists... Done
Building dependency tree
Reading state information... Done
linux-image-3.16.0-39-generic
Depends: initramfs-tools (>= 0.36ubuntu6)
Depends: module-init-tools (>= 3.3-pre11-4ubuntu3)
PreDepends: dpkg (>= 1.10.24)

_________________
http://xx0ru.livejournal.com/


dedivan | Post:472516 - Date: 14.06.15(00:38)
Ну ты еще расскажи нам как работает компилятор.
Может чего пропустил?

_________________
я плохого не посоветую


IergeS | Post:472517 - Date: 14.06.15(00:39)
Вот чудо то какое....
Дед, поиск неизвестно чего неизвестно где.... Это очень интересная задача!
И логика методом исключений это конечно же хорошо, но правильно ли?
Можно было бы и чего нить другое придумать?

dedivan | Post:472518 - Date: 14.06.15(00:42)
xx0 Пост: 472514 От 14.Jun.2015 (01:28)
linux-image-3.16.0-39-generic


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

_________________
я плохого не посоветую


dedivan | Post:472520 - Date: 14.06.15(00:47)
IergeS Пост: 472517 От 14.Jun.2015 (01:39)
Можно было бы и чего нить другое придумать?

Кому то интереснее целый день баранку крутить, а мне сам поиск интереснее.
А то что неинтересно- мне лень делать.

_________________
я плохого не посоветую


IergeS | Post:472523 - Date: 14.06.15(01:20)
Ты непонял. Я о методе исключения.
мне тож кстати лень, но я ее гоню, в силу лени ленится.

xx0 | Post:472599 - Date: 14.06.15(17:19)
dedivan Пост: 472516 От 14.Jun.2015 (01:38)
Ну ты еще расскажи нам как работает компилятор.
Может чего пропустил?

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

_________________
http://xx0ru.livejournal.com/


dedivan | Post:472607 - Date: 14.06.15(22:02)
xx0 Пост: 472599 От 14.Jun.2015 (18:19)
в чем траблы дед? 😬


Так дальше давай- вот в ядре сотня модулей на си, обращаются к одной и той же библиотечной функции. Компилятор вставляет код этой функции в каждый модуль или как?

_________________
я плохого не посоветую


dedivan | Post:472609 - Date: 14.06.15(22:11)
DevilR Пост: 472606 От 14.Jun.2015 (22:47)
. Вызов функции - это "положить входные параметры в стек

Адрес функций лежит в заранее заготовленной таблице.


Так стек общий или нет? А что там еще в стеке лежит?
А как ты можешь посмотреть что там положил модуль ядра перед тобой?
Простые команды ассемблера знаешь для этого?


_________________
я плохого не посоветую


dedivan | Post:472619 - Date: 14.06.15(22:56)
DevilR Пост: 472606 От 14.Jun.2015 (22:47)
В защищенном режиме подобное поведение просто вызовет исключение и процесс убьется целиком.


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


_________________
я плохого не посоветую


dedivan | Post:472620 - Date: 14.06.15(22:59)
DevilR Пост: 472615 От 14.Jun.2015 (23:40)
А так да, во всяких микроконтроллерах inline-функции вполне себе используются. Даже в военных кристаллах.


Вот из интереса глянь исходники линукса. найди там хоть один инлайн.

_________________
я плохого не посоветую


dedivan | Post:472629 - Date: 14.06.15(23:42)
инлайны в основном применяются в том случае, если функция вызывается во всей программе только один раз,
тогда есть смысл копировать код фунции в текст программы, а не делать отдельный вызов.
при этом и программа работает быстрее, и размер кода не увеличивается.


_________________
я плохого не посоветую


dedivan | Post:472639 - Date: 15.06.15(00:36)
DevilR Пост: 472614 От 14.Jun.2015 (23:36)
. Как эмбедчик говорю. 😀


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

image

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


Размер: 71.96 KB

_________________
я плохого не посоветую


dedivan | Post:472643 - Date: 15.06.15(00:46)
DevilR Пост: 472637 От 15.Jun.2015 (01:29)
А насчет инлайнов в линуксе - врете вы, дедушка! 😀
Только что посмотрел в своем ядре 4.0.5 - 5460 штук.


Это хорошо- значит грамотный. Теперь смотри что они вводят и сколько раз.
Даже сайты специальные есть для поиска в ядре линуха.
Для примера-static inline struct cgroup- один раз во всем тексте.
Это и есть правило использования инлайнов.
Все остальное делается через вызовы библиотек.

_________________
я плохого не посоветую


dedivan | Post:472645 - Date: 15.06.15(00:57)
DevilR Пост: 472642 От 15.Jun.2015 (01:45)
Но говорить за весь линух... вы бы дали конкретный код - я бы проверил. Хоть на одноплатках, хоть на настольном компе.


Это пока на уровне идеи. Просто она возникла не на пустом месте,
а как раз в процессе разбора особенностей ядра линукса и его компиляторов.

_________________
я плохого не посоветую


dedivan | Post:472649 - Date: 15.06.15(01:32)
DevilR Пост: 472646 От 15.Jun.2015 (02:04)
P.S. Нет компиляторов ядра. Не бывает. Компилятор (или интерпретатор) языка - это да, есть. Например gcc для c...


Тот же gcc сотни релизов и все разные. Ядро у тебя собрано одним,
а пользовательскую програмку взял готовую- собранную другим компилятором.
Вон хохоша вообще не парится- берет готовые образы.
Поэтому и не любая программа запускается на разных дистрибутивах линукса. Вроде ядро одно и то же- а скомпилили с разными ключиками
и разными версиями компиляторов.
Вот и не находят они свои библиотеки.
А отсюда вывод- програмка знает где должна быть ее библиотека. Если она там вдруг не лежит- ядро ей не подсказывает. А раскладывает библиотеки ядро по правилам своего компилятора.

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

_________________
я плохого не посоветую


dedivan | Post:472685 - Date: 15.06.15(12:33)
DevilR Пост: 472661 От 15.Jun.2015 (11:12)
Компиляторы одного класса (например gcc) не настолько уж и разные, как кажется.

До 12 года на си писали их. после на плюсах, и ты думаешь они одинаково компилируют? Как раз в части динамического связывания.
По моему вообще перпендикулярно.
Но я не специалист практик - тут я полный ноль, просто еще давно у самых истоков - вот там чего то ковырял , то что сейчас уже идеологией программирования стало.
Я гляжу ты единственный из линуксоидов понял, что я не линух хочу обидеть,
А его мамашу- потаскушку от нее все дыры. От компиляции.
Вот ты знаешь хоть один компилятор гнуса, который разработывался бы с точки зрения защиты, а не быстродействия или сокращения кода?


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

Да версию каку хочешь написать можно.

Интересно другое - именно фиксированное распределение вызовов по памяти.
Или что то там динамическое бывает?

_________________
я плохого не посоветую


dedivan | Post:472725 - Date: 15.06.15(14:26)
DevilR Пост: 472695 От 15.Jun.2015 (14:04)
Система выделяет память, настраивает таблицы вызовов


Это уроваень выше- меня интересует нижний- как компилятор выделяет адреса.

DevilR Пост: 472661 От 15.Jun.2015 (11:12)
- у каждой программы есть свое адресное пространство и своя таблица экспортируемых функций.

То есть еще на этапе компиляции идет распределение адресов.




И все. За выходы за пределы отвечает сам CPU - именно он и сигнализирует ОС о проблеме. А уже ОС решает, что с этим делать.


Ну это ты уж со зла на него наговариваешь.
Если процессор чем то занят- он делает только одно дело и не может ничего сигнализировать.

_________________
я плохого не посоветую


dedivan | Post:472740 - Date: 15.06.15(14:51)
DevilR Пост: 472736 От 15.Jun.2015 (15:43)
Там просто все - есть таймер, который переключает контекст задач.

А вот на момент создания процесса, запускающий процесс распределяет память


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

А вот про момент создания - давай поподробнее- откудаось берет инфу куда затолкнуть процкесс и сколько ему нужно- из самого процесса?
Инфа вставлена на этапе компиляции?


_________________
я плохого не посоветую


MPR | Post:472760 - Date: 15.06.15(17:08)
dedivan Пост: 472649 От 15.Jun.2015 (02:32)
Вопрос- ядро будет загружать новый экземпляр библиотеки или воспользуется имеющимся?

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



<] [ 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | ... | 50 ] [>
У Вас нет прав отвечать в этой теме.
Форум - Новые технологии - Сделай сам - Операционная система Linux. Вопросы без ответа. - Стр 5
🏠 Главная | 📚 Содержание | 💬 Форум | 📁 Файлы | 📩 Контакт