Pull to refresh

Comments 58

В общем-то, это отличный образец системного программирования.

и

Менеджер памяти: общая память, маппинг файлов в память, многопоточное обнуление страниц, балансировка рабочего множества — память, которая требуется процессам в каждый момент времени.

Идея запускать все в едином адресном пространстве ради производительности не нова, но делать это на C/C++ — шуточная, все работает на этапе прототипа, а в реальности придется все это обмазывать тоннами стандартной мишуры вроде санитайзеров, чтобы убедиться чтобы код на C/C++ работает более-менее надежно и не содержит ошибок.

Про https://github.com/theseus-os/Theseus ничего не сказано. Там та же идея, только на безопасном языке.

Персистентная память. Два в одном

Не нужно, а кому нужно — пользуются Intel Optane

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

UFO just landed and posted this here

Фаззинг как минимум понадобится. Чтоб было понятнее вот например куча трофеев во вполне себе pure rust библиотеках. Это из тех что опубликованы. Вот например ядро линукса фаззят с кучей внутренних и внешних протоколов.


Ассемблерная часть оказывается обычно самой безопасной т.к. является по сути загрузчиком прочего кода, который уже является непосредственно ОС. Так что наверняка и хаскель тоже придётся что-то тестировать и отравлять санитайзерами (в случае если ОС планирует таки использовать уже написанное, что в 99% случаев автоматически требует какой-нибудь libc)

Haskell не гарантирует отсутсвия арифметических или алгоритмичесаих ошибок: перепутали адреса для DMA, и контроллер диска перетёр кусок памяти с thunk-ами. Проблема вылезет совсем в другое время и в другом месте ??‍♂️

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

Очевидно имеются в виду managed языки.

очевидно имеется в виду тот язык который в ссылке на гитхабе

Вы только один безопасный язык знаете?

Общая память и единое адресное пространство, как бы, разные техники.

Спасибо за инфу, добавил дату в статью

Открыть ютуб в большинстве можно. С запуском видео уже сложнее.

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

Зануда мод:on

нет в популярных ОС, таких как Windows, MacOS или Ubuntu.

Дико извиняюсь, безмерно отстал от жизни, но давно убунту стала ОС? Еще пару лет назад она была "дистрибутивом основанным на Debian" (С) Вики. Типа как ZverCD (и прочие сборки энтузиастов) с Windows. То же касается русских ОС типа Альты\Астры и пр.

Или теперь можно сделать свой пак с софтом и назвать это ОС имени себя?

Зануда мод:off

Или теперь можно сделать свой пак с софтом и назвать это ОС имени себя?

Всегда можно было. Главное не писать об этом на хабре, не приглашать СМИ для освещения сего достижения и не хвалиться в интернетах. Последствия могут быть... интересными!

Главное, чтобы обои нескучные, тогда всё пучком будет

Они сами не могут определиться:

The new standard secure enterprise Linux for servers, desktops, cloud, developers and things.

https://canonical.com/#products

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

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

Просветите невежду - в чём именно разница? Ну или так - назовите ОС на ядре linux, которая не дистро? А я пока оставлю это здесь:

"A Linux distribution (often abbreviated as distro) is an operating system" (https://en.wikipedia.org/wiki/Linux_distribution).

"Debian GNU/Linux, is a GNU/Linux distribution" (https://en.wikipedia.org/wiki/Debian).

'The "stable" distribution', 'The "testing" distribution', 'The "unstable" distribution' (https://www.debian.org/releases/).

Просветите невежду - в чём именно разница?

Примерно в том же как называть системный блок процессором (аналогия, кстати очень точная). Мы уже получили кучу мемов уровня "Не вставляется флешка в процессор" (С) Бухгалтерия.

Ну или так - назовите ОС на ядре linux, которая не дистро?

Вопрос странный. Ядро как бы и определяет ОС, а не набор прикладных приложений. Т.е. ядро определяет как работать приложениям в реальном времени или нет, как адресоваться в памяти, как разделять ресурсы и пр. Надеюсь мы не будем углубляться в демагогию - является ли ядро приложением и сколько приложений надо в случае модульной архитектуры.

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

Ubuntu, насколько я помню (это не точно т.к. не слежу), не ведет свою отдельную разработку ядра - они берут ванильную версию, и допиливают настройки, добавляют\отключают модули.

аналогия, кстати очень точная

Не согласен. Системный блок может быть пустым. Вот компьютер vs процессор - больше похоже на правду. Но по такой аналогии Вы процессор называете компьютером, а, скажем, ноутбук от Dell - нет. Ибо (по такой аналогии) сборка от той или иной фирмы - не компьютер.

Ядро как бы и определяет ОС, а не набор прикладных приложений.

Продолжая аналогию - процессор определяет компьютер. На этом моё согласие заканчивается, т.к. я считаю, что конечный, готовый к использованию, компьютер определяется не только процессором, но и прочими компонентами, включая блок питания. Соответственно, ОС, пригодная для использования пользователем, должна включать что-то помимо ядра. Это, кстати, не только моё мнение:
https://en.wikipedia.org/wiki/Kernel_(operating_system)

https://www.geeksforgeeks.org/difference-between-operating-system-and-kernel/

https://stackoverflow.com/questions/3315730/what-is-the-difference-between-the-operating-system-and-the-kernel

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

Но это не будет ОС.

Ubuntu, насколько я помню (это не точно т.к. не слежу), не ведет свою отдельную разработку ядра - они берут ванильную версию, и допиливают настройки, добавляют\отключают модули

Ну и что? Dell, емнип, не разрабатывает процессоры. Значит ли это, что ноутбуки от этой фирмы - не компьютеры?

Системный блок может быть пустым

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

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

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

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

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

Все понял

И даже как открывать/закрывать вместе с системным блоком начинку корпуса? :)

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

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

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

Не знаю, как Вы, а я из этой непростой ситуации выношу два важных урока:

(1) режим зануды открывает двери в такие кроличьи норы, дно которых (если есть) довольно труднодостижимо;

(2) может или не может системный блок быть пустым - это не меняет моего исходного рассуждения по аналогии, надо только слово "компьютер" заменить на "системный блок".

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

Еще раз: пустой корпус не является системным блоком - это просто корпус, пустая коробка, предназначенная для сборки системника. Собранный на столе компьютер без корпуса не является системным блоком - это просто набор подключенных друг к другу устройств, работающих в совокупности. Системный блок - это С О Ч Е Т А Н И Е коробки и набора устройств, а не что-то отдельно взятое. При вскрытии системного блока видишь набор оборудования, на котором он работает, а если при вскрытии видишь пустые крепления и пару вертушек - это НЕ системный блок, это просто одна из его частей.

Не знаю, как Вы, а я из этой непростой ситуации выношу два важных урока

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

никаких поводов для занудства не вижу.

Чего тогда занудствуете? :) Я-то не против. Замечу только, что от одновременного использования капслока, пробелов между буквами и полужирного шрифта убедительность аргументации не увеличивается. Вот если бы Вы привели ссылки на источники, которые можно было бы посчитать авторитетными, тогда другое дело. Потому что мы тут обсуждаем не суть вещей, а словарное определение. Какой-нибудь словарь русского языка, наверное, подошёл бы.

Я просто пытаюсь до человека донести простейшие различия между двумя простейшими понятиями

Польщён, что назвали меня человеком, и что Вам так важно моё мнение. Вы вот лучше скажите - дистрибутив линукса это ОС или нет? :)

Чего тогда занудствуете? :) Я-то не против. Замечу только, что от одновременного использования капслока, пробелов между буквами и полужирного шрифта убедительность аргументации не увеличивается. Вот если бы Вы привели ссылки на источники, которые можно было бы посчитать авторитетными, тогда другое дело. Потому что мы тут обсуждаем не суть вещей, а словарное определение. Какой-нибудь словарь русского языка, наверное, подошёл бы.

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

Польщён, что назвали меня человеком, и что Вам так важно моё мнение. Вы вот лучше скажите - дистрибутив линукса это ОС или нет? :)

Дистрибутив Линуса - это по-любому ОС, просто с определенным набором программ. Другой вопрос - являются ли разные дистрибутивы разными операционными системами - нет, конечно)) Это именно вариации одной ОСи

Дистрибутив Линуса - это по-любому ОС

Супер! :)

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

Тут я не был бы так категоричен. Само ядро недостаточно функционально для того, чтобы называться ОС. А вокруг ядра можно собирать очень разные системы. Те же Debian, Arch, Gentoo можно смело считать разными операционными системами на базе ядра Linux.

Продолжая аналогию - процессор определяет компьютер.

Как бы да... RISC(классический), ARM, x86 (да,я знаю что это набор команд) - определяют сегмент рынка и задачи которые на нем можно решать, ПО которое на нем можно запускать и вообще чуть больше чем все. Утверждать что ARM = x86 ну такое себе.

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

По вашей логике, как раз Dell\Asus\HP (Canonical\RedHat\Alt) надо называть производителями процессоров (производителями ОС). Но на самом деле это сборщики из готовых компонентов (пакетов). Да кто-то что-то может покрутить в настройках, но это сборка, это не производство, это не другая архитектура. Код из одного дистрибутива запустится на другом (местами конечно надо подпилить, но я в общем).

Но это не будет ОС.

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

а можете не расширять, оставить как есть - с мигающим курсором

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

Работал с FreeRTOS. Естественно, что с любой низкоуровневой абстракцией, по сути HAL работать тяженько, это вам не питон.

По поводу мигающего курсора, очевидно, что терминал это приложение, очевидно, что подразумевается POSIX (или аналоги). Да POSIX тоже можно реализовать через отдельное приложение и про это я писал в самом начале:

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

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

Никуда не углублялся, просто на пальцах показал смысл.

По вашей логике, как раз Dell\Asus\HP (Canonical\RedHat\Alt) надо называть производителями процессоров (производителями ОС).

Нет, потому что по моей логике ОС это аналог не процессора, а компьютера.

Как бы там ни было, для себя я вопрос считаю исчерпаным. Спасибо.

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

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

Ядро как бы и определяет ОС, а не набор прикладных приложений.
Эсли все определяется только ядром, то в чем тогда по-вашему смыл отдельного термина «операционная система»?
Android это операционная система или нет? Ведь ядро то там от Linux.

И только внеся достаточное количество изменений, как например Apple сделало с BSD, можно говорить о чем-то отдельном.

Мир не черный и белый, есть переходные моменты. Google насколько я помню очень сильно перепиливает ядро для поддержки всякого в Android (а-ля Apple с BSD). Вы не можете нативно запустить андроид приложение на ванильном ядре линукса той же версии.

Может пойдем от обратного? Если я в CentOS 7 ставлю новый гит версии 2.35 - это новая ОС?

Подмена понятий шла давно...

Сейчас тяжело объяснить народу чем отличается операционная СИСТЕМА от операционной СРЕДЫ. Родоначальником данной подмены был мелкософт начиная с WIN95 и до WinME включительно.

Забавно но факт в РуВики Win3.x обзывается операционной системой в англоязыкной - операционной средой.

Подмена понятий шла давно...

Сейчас тяжело объяснить народу чем отличается операционная СИСТЕМА от операционной СРЕДЫ. ...

Насчет подмены понятий. Именно, это Вы, в данном случае, и пытаетесь провернуть. :)

Вы готовы логически разделить два понятия "СРЕДА" и "СИСТЕМА", с учетом того, что любая среда является системой и любая система является средой??? :)

Как видите не так все просто, как Вам казалось.

Здесь правильно некоторые товарищи указывают, что ОС заключается не только в ядре, а во всем комплексе, всего обвеса ядра и самого ядра.

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

Попробуйте мысленно провести такой эксперимент, честно и беспристрастно. Увидите, что получится.

UFO just landed and posted this here

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

Like its predecessors, Windows 3.0 is not an operating system per se, but rather an operating environment that is designed for DOS and controls its functions.[9][19]

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

Конкретно здесь, проблема в том, что в пределах одной англоязычной статьи написано разное =)

Классно, очень в тему. Я как раз сейчас Линухи изучаю.

Но ведь статья не про Линуксы, а про нечто новое, что появилось

Объединение нескольких окон в одно окно со вкладками было во Fluxbox ещё минимум 10 лет назад. Это вообще не функция ОС, это функция оконного менеджера. Про это ещё на Опеннете в новости про эту ОС месяц назад тоже пытались упомянуть, но кому надо то, что помнят олды..?

А какие OS приглянулись вам больше всего?

Дисрибутив Mageia !


P.S. А что с импортозамещением:


Единый реестр российских программ для электронных вычислительных машин и баз данных по классу «Операционные системы» содержит 24 записи

Как работали госструктуры на Windows, так и работают?

Судя по скриншоту в Ульяновске таки смогли пропатчить KDE под BSD :)

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

Векторный GUI - это преимущество?

Преимущество векторной графики - масштабирование. Ресайзим однопиксельную рамку в полтора раза, и она мутная или округляется в какую-то некрасивую сторону.

Отрисовка пиксельного квадрата везде векторное, не из картинки его берут. Браузеры могут рисовать SVG и анимации, CSS сплошь и рядом векторный. Шрифты давно векторные. Получается все ОС, особенно браузерные, - векторные. Ну у окон не торчат векторные вензеля и короны, и слава богу.

У векторных иконок нет хинтинга, их детали не попадают в пиксели. А на винде иконки "в исходнике" большие - аналог векторных, при даунскейле. А маки имеют высокий ppi, что нивелирует отсутствие хинтинга или мутность иконок. И проблем нет, всё хорошо на "дисплеях высокого разрешения".

Новые операционные системы 2021 и 2022 года

А что, собственно, в названии означают года 2021 и 2022?

Кроме Essense OS, все остальные ОС (SerenityOS, Phantom OS) уже давно существуют.

Как так получается, что для полноценной работы Essense OS достаточно 30 МБ дискового пространства, и в то же время Essence.tar.xz занимает 336 Мб?

Sign up to leave a comment.