реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3  
Closed TopicStart new topic
> требуется программист STM32
one_eight_seven
сообщение Feb 22 2018, 22:21
Сообщение #31


Знающий
****

Группа: Участник
Сообщений: 916
Регистрация: 3-10-08
Из: Москва
Пользователь №: 40 664



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

В жизни всё произошло наоборот.
Go to the top of the page
 
+Quote Post
leocat
сообщение Feb 23 2018, 03:09
Сообщение #32


Частый гость
**

Группа: Участник
Сообщений: 109
Регистрация: 12-10-16
Пользователь №: 93 727



Цитата(Эдди @ Feb 22 2018, 20:02) *
Ну хватит уже чушь нести!!!
Почитайте хотя бы, что такое линукс!
И да, дебилиан уже не линукс, а тем более — федора! Все, что перестало подчиняться требованиям UNIX-way, можно смело называть мастдайкой и топить в унитазе.
Эдак вы, батенька, такое откровенное дерьмище, как ондроед, линуксом обзовете!


https://ru.wikipedia.org/wiki/Linux

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

Т.е. следуя официальному определению - именно так! Ведроид есть Линкус. Кстати, об этом на одной из конференций сам Товальдс сказал. С ним спорить будете?
Go to the top of the page
 
+Quote Post
jcxz
сообщение Feb 23 2018, 06:29
Сообщение #33


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(leocat @ Feb 23 2018, 05:09) *
операционных систем на базе ядра Linux

А теперь почитайте что входит в это самое ядро.
Go to the top of the page
 
+Quote Post
Эдди
сообщение Feb 23 2018, 07:04
Сообщение #34


Знающий
****

Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250



Помимо состава ядра пусть товарищ еще расскажет, что за гнутые утилиты есть в ондроеде!
Что-то я там такого не замечал. Где там баш и coreutils? Одна бессмысленная оболочка на жабе, от которой 0 толку!
Go to the top of the page
 
+Quote Post
leocat
сообщение Feb 23 2018, 07:25
Сообщение #35


Частый гость
**

Группа: Участник
Сообщений: 109
Регистрация: 12-10-16
Пользователь №: 93 727



Цитата(jcxz @ Feb 23 2018, 06:29) *
А теперь почитайте что входит в это самое ядро.

Да собственно ядро оно и есть ядро...
По поводу спора лицензий, так у "верхних" ребят холивар покруче тутошнего. Например: ведроид распространяется под лицензией апачи...
и...

Совместимость с GPL
Фонд Free Software Foundation объявил все версии лицензии Apache несовместимыми со второй версией GPL.

Apache Software Foundation, начиная с 2004 года, настаивает на своём праве решать вопрос совместимости Apache лицензии с GPL.

Согласно Free Software Foundation, GPLv3 совместима с Apache License v2.0. Как следствие, разработчики всегда имеют возможность свои программы под Apache License v2.0 перевести под GPL v3.0, чтобы быть уверенными в том, что производные их разработок (форки) останутся свободными. Однако смена лицензии с GPL на Apache невозможна, поэтому совместимость односторонняя.

И хотел бы уточнить, что вы имеете ввиду под словом ядро? В моем понимании ядро это Linux kernel.

Сообщение отредактировал leocat - Feb 23 2018, 07:27
Go to the top of the page
 
+Quote Post
Grizzzly
сообщение Feb 23 2018, 11:48
Сообщение #36


Знающий
****

Группа: Свой
Сообщений: 565
Регистрация: 22-02-13
Пользователь №: 75 748



Linux kernel запросто можно собрать без поддержки MMU: https://unix.stackexchange.com/questions/19...l/190358#190358
Так что это всё по-прежнему Linux sm.gif
Go to the top of the page
 
+Quote Post
Эдди
сообщение Feb 23 2018, 12:47
Сообщение #37


Знающий
****

Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250



И что это будет за линукс такой без MMU? Как он будет распределять память среди процессов и потоков?
Go to the top of the page
 
+Quote Post
one_eight_seven
сообщение Feb 23 2018, 18:17
Сообщение #38


Знающий
****

Группа: Участник
Сообщений: 916
Регистрация: 3-10-08
Из: Москва
Пользователь №: 40 664



Цитата
И что это будет за линукс такой без MMU? Как он будет распределять память среди процессов и потоков?

С помощью page table, например.
Кроме того, ядро и так этого не делает. Это делают модули ядра.

Сообщение отредактировал one_eight_seven - Feb 23 2018, 18:18
Go to the top of the page
 
+Quote Post
jcxz
сообщение Feb 23 2018, 21:38
Сообщение #39


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(one_eight_seven @ Feb 23 2018, 20:17) *
Кроме того, ядро и так этого не делает. Это делают модули ядра.

Дело не в выделении памяти.
Я не знаю как организовано адресное пространство в linux-приложениях, но думаю, что подобно винде: каждое запускаемое приложение имеет своё виртуальное адресное пространство, в которое, кроме того, отображаются какие-то системные пространства адресов (DLL и т.п.). Уже не говоря про защиту адресных пространств.
Всё это - благодаря MMU.
И как в таком случае запустить приложение, скомпилённое для работы в виртуальном адресном пространстве, без MMU???
Есть одно приложение, скомпилённое для работы по адресу скажем 0x40000, и есть другое приложение, тоже скомпилённое для работы по адресу 0x40000. Как обеспечить их одновременную работу без MMU?
А если приложение использует большой объём памяти, за счёт подкачки с диска? Опять-же - как без MMU?
Go to the top of the page
 
+Quote Post
gerber
сообщение Feb 24 2018, 09:07
Сообщение #40


Знающий
****

Группа: Участник
Сообщений: 750
Регистрация: 1-11-11
Пользователь №: 68 088



Цитата(jcxz @ Feb 24 2018, 00:38) *
Есть одно приложение, скомпилённое для работы по адресу скажем 0x40000, и есть другое приложение, тоже скомпилённое для работы по адресу 0x40000. Как обеспечить их одновременную работу без MMU?

Размещение программных сегментов в конкретных адресах (виртуальных или физических) происходит на этапе загрузки приложения, посмотрите формат ELF-файлов и ELF Loader. Поэтому ничто не мешает разместить 2 приложения в едином адресном пространстве. Нужен соответствующий ELF Loader, и хватило бы памяти в принципе по объему.
Цитата(jcxz @ Feb 24 2018, 00:38) *
А если приложение использует большой объём памяти, за счёт подкачки с диска? Опять-же - как без MMU?

Даже на "взрослых" машинах с MMU вполне себе существует Linux без swap-файла и подкачки памяти с диска. MMU тут не при деле, кто будет генерировать исключение при нехватке памяти - MMU или менеджер памяти, не суть важно


--------------------
"... часами я мог наблюдать, как люди работают." (М. Горький)
Go to the top of the page
 
+Quote Post
Roman_msk
сообщение Mar 5 2018, 07:48
Сообщение #41


Участник
*

Группа: Участник
Сообщений: 63
Регистрация: 7-01-15
Пользователь №: 84 447



Благодарю всех откликнувшихся, исполнитель найден!
Go to the top of the page
 
+Quote Post
jcxz
сообщение Mar 5 2018, 10:37
Сообщение #42


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(gerber @ Feb 24 2018, 11:07) *
Поэтому ничто не мешает разместить 2 приложения в едином адресном пространстве. Нужен соответствующий ELF Loader, и хватило бы памяти в принципе по объему.

Ну если можно генерить исполняемые файлы и с таблицей перемещения - то пойдёт.
А если я хочу вычислить адрес целевой переменной используя скажем - операции побитового OR или AND или сдвига над адресом? В варианте с линейным виртуальным адресным пространством, перемещаемым при помощи MMU - да никаких проблем! А вот если попробуем слинковать это в перемещаемый загрузочный образ, то я думаю получим ошибку компоновщика, так как не допускается обычно при этом никаких операций кроме сложений и вычитаний. laughing.gif

Цитата(gerber @ Feb 24 2018, 11:07) *
Даже на "взрослых" машинах с MMU вполне себе существует Linux без swap-файла и подкачки памяти с диска. MMU тут не при деле, кто будет генерировать исключение при нехватке памяти - MMU или менеджер памяти, не суть важно

Менеджер памяти - это кто? Это тот, кто выделяет динамическую память из пула? malloc()/free()?
А при чём тут "исключение при нехватке памяти"? Если сумме работающих в данный момент приложений нужно больше памяти, чем есть физически, то это и решается подкачкой, когда страницы памяти, к которым давно не было обращения, вытесняются из физической памяти в своп, и это место физической памяти используется для хранения других страниц виртуальной памяти. А когда приложению потребуется вытесненная память, оно просто обратиться по данным адресам, MMU сгенерит исключение и страница будет возвращена из свопа в физическую память. И делается это силами MMU. Приложение про всю эту кухню не знает, и не обращается к менеджеру памяти вообще после того как получит весь необходимый объём от malloc().
Без MMU такой механизм организовать невозможно. Соответственно те задачи, которые нормально выполняются в среде с виртуальной памятью, не могут быть выполнены никак без неё - только переписыванием алгоритма работы приложения.
Опять-же - как без MMU отображать в память процесса какие-то общие ресурсы? Например библиотеки? (есть в линухе аналог DLL?) Или файлы (чтобы работать с ними просто как с областями памяти)?
Далее - как полноценно защитить адресное пространство одного приложения от другого без MMU? Да никак.
Если всё это вычесть из полноценного линуха на ядре с MMU, то останется он при этом линухом или это будет уже совсем другая ОС? Да нет конечно - это совсем другая уже ОС будет.
Go to the top of the page
 
+Quote Post
one_eight_seven
сообщение Mar 6 2018, 10:23
Сообщение #43


Знающий
****

Группа: Участник
Сообщений: 916
Регистрация: 3-10-08
Из: Москва
Пользователь №: 40 664



Цитата
Без MMU такой механизм организовать невозможно.

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

P.S.:
http://www.infradead.org/~mchehab/kernel_d...nommu-mmap.html

Сообщение отредактировал one_eight_seven - Mar 6 2018, 10:31
Go to the top of the page
 
+Quote Post
Cvetaev
сообщение Mar 6 2018, 18:40
Сообщение #44





Группа: Участник
Сообщений: 5
Регистрация: 6-03-18
Пользователь №: 102 170



Цитата(Roman_msk @ Feb 20 2018, 11:55) *
Добрый день,
требуется программист на низы, STM32 микроконтроллер ... из перриферии: UART, ADC, COMP, DAC, I2C, Timer.
ТЗ и бюджет обсуждается индивидуально, удаленка допустима!
заинтересованным писать в личку или на почту: furia(dot)fly(гав-гав)gmail.com



Еще актуально ?
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3
Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 20:53
Рейтинг@Mail.ru


Страница сгенерированна за 0.01611 секунд с 7
ELECTRONIX ©2004-2016