LINUX.ORG.RU

Вышел GNU Mach 1.4

 , ,


1

3

После 11 лет интенсивного кодирования и в связи с 30-летием GNU была выпущена новая 1.4 версия микроядра GNU Mach. Подробный список изменений неизвестен. Всё-таки 11 лет прошло. Текст официального анонса:

2013-09-27
Version 1.4

Really too many to list them individually.  Highlight include numerous bug and
stability fixes, a Xen port for 32-bit x86 including basic support for Physical
Address Extension (PAE), an initial AHCI driver (SATA hard disks), a new SLAB
memory allocator to replace the previous zone allocator, support for memory
object proxies, access restrictions for x86 I/O ports, support for some PCMCIA
devices based on the pcmcia-cs package.

Мой вольный перевод:
В самом деле слишком много изменений, чтобы перечислять их отдельно.
Основные изменения включают многочисленные исправления ошибок и улучшения
стабильности, порт Xen'а для 32-битных x86 (включая базовую поддержку
PAE), начальная версия драйвера AHCI (для дисков SATA), новый SLAB аллокатор
памяти (заменяющий прежний аллокатор зон), поддержка проксирования объектов в
памяти, ограничение доступа к портам ввода-вывода процессоров x86, поддержка
некоторых PCMCIA устройств (основано на пакете pcmcia-cs).

История создания GNU Mach:

  • Версия 1.0 была выпущена 14 апреля 1997.
  • Версия 1.1.1 была выпущена 12 мая 1997.
  • Версия 1.1.2 была выпущена 10 июня 1997.
  • Версия 1.1.3 была выпущена 12 июня 1997.
  • Версия 1.2 была выпущена on 21 июня 1999.
  • Версия 1.3 была выпущена 27 мая 2002.
  • Версия 1.4 была выпущена 27 сентября 2013.

>>> Подробности

★★★★★

Проверено: Shaman007 ()
Последнее исправление: unfo (всего исправлений: 7)

Ответ на: комментарий от anonymous

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

A-234 ★★★★★
()
Ответ на: комментарий от GNU-Ubuntu1204LTS

Да, ковырялся. АмигаОС3 как она есть.

devl547 ★★★★★
()
Ответ на: комментарий от bbk123

VCS обязана быть централизованной. Распределенные VCS - зло, которое погубит всю индустрию.

anonymous
()
Ответ на: комментарий от bbk123

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

dt1 ★★
()

После 11 лет интенсивного кодирования
Подробный список изменений неизвестен

Звучит как насмешка.

Buy ★★★★★
()
Ответ на: комментарий от anonymous

что за пафосная чушь. какую индустрию? индустрию vcs?

anonymous
()

На 30-летие GNU кто-то подарил лопату?

German_B
()
Ответ на: комментарий от dt1

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

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

bbk123 ★★★★★
() автор топика
Ответ на: комментарий от Barracuda72

где можно небольшим объемом работ внести значительные изменения

только я подумал о Поттеринге?

aiqu6Ait ★★★★
()
Ответ на: комментарий от A-234

Что там конкретно может не понравится не понимаю

Допотопный С из 80х с устаревшим форматом заголовков функций, goto назад и вообще в любые точки, функции на 10+ экранов, плохая изоляция платформенно-зависимого кода, отсутствие драйверного фреймворка, кучи макросов. Я не понимаю как вообще сравнивать linux и mach.

AptGet ★★★
()

После 11 лет интенсивного кодирования и в связи с 30-летием GNU была выпущена новая 1.4 версия микроядра GNU Mach.

Одновременно же вышел релиз GNU Hurd 0.5

Zubok ★★★★★
()
Ответ на: комментарий от tailgunner

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

anonymous
()

Это же веский повод напиться в дрова, до этого я использовал освященный Шторманом ДЕБЛОБ, сейчас же я могу наслаждаться истинной свободой без всяких линуксячьих полумер.

anonymous
()

Hurd - отличный пример как НЕ надо делать. Да, проект должен существовать, как назидание своим создателям.

robot12 ★★★★★
()
Ответ на: комментарий от bbk123

К написанному там могу добавить впечатления из личного опыта. Иногда изменения в некоторых файлах, находящихся в репозитории, неинтересны и видеть их в git status не хочется. Для игнорирования изменений в таких файлах существует команда 'git update-index --assume-unchanged <path>'

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

Ну и да, https://www.kernel.org/pub/software/scm/git/docs/git-notes.html

если не хватит, навелосипедить обертку и хранить метаданные локально (н-р в sqlite) или централизованно (поставить сервер с postgresql)

stevejobs ★★★★☆
()

Вот это уродство на глагне! Почему цитата обернута в тег кода, а не в тег... ммм... цитаты?

cdshines ★★★★★
()

поддержка некоторых PCMCIA устройств

Не нужно

kas501 ★★★
()
Ответ на: комментарий от cdshines

Почему цитата обернута в тег кода, а не в тег... ммм... цитаты?

Потому что она содержит психокод Шольмэна. Подчиняйся Шуэльмэну! Подчиняйся раб свободы!

anonymous
()
Ответ на: комментарий от tailgunner

что мешает не пользоваться сложными функциями? Глань TortoiseGit - почти ничего не умеет, но казуальные функции из интерфейса SVN присутствуют, и этого вполне хватит для жизни (пользователям SVN же как-то хватает)

stevejobs ★★★★☆
()
Ответ на: комментарий от bbk123

Есть Mercurial.

я не очень разбираюсь в нем, поэтому вопросы. У меркуриала есть способ сделать стандартизированный workflow техническими средствами? (НЕ конвенциями типа «мастер всегда один, кто сделает еще один - отрежем яйца!» или там, «история всегда линейная, а у кого нелинейная - отрежем яйца!».) Нужно чтобы оно было технически авторитарно банально ограничено. И также банально расширено, например, чтобы была возможность заставить всех установить рибейз-плагин автоматически. Нету рибейз-плагина - идешь в жопу.

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

stevejobs ★★★★☆
()
Ответ на: комментарий от AptGet

Допотопный С из 80х с устаревшим форматом заголовков функций

Вы забыли еще допотопный ассемблер из 70-х. Это дело привычки, поначалу выглядит немного необычно но ничего странного в таком оформлении функций нет.

goto назад и вообще в любые точки

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

функции на 10+ экранов

Пока не нашел такого.

плохая изоляция платформенно-зависимого кода

Да там его кот наплакал, что конкретно не устраивает?

отсутствие драйверного фреймворка

Почитайте что такое микроядро и чем оно от монолита отличается, печаль должна пройти.

кучи макросов

В линуксе их намного больше. Вот например:

#define INVOKE_CB(function_p, args...)		\
	do {					\
		if (function_p) {		\
			res = function_p(args); \
			if (res)		\
				return res;	\
		}				\
	} while (0)
Ничего ужасного не замечаете?

Я не понимаю как вообще сравнивать linux и mach.

Была бы цель.

A-234 ★★★★★
()
Ответ на: комментарий от bbk123

Если бы на рыбах была шерсть, то там были бы блохи, а вот блохи....

zloelamo ★★★★
()
Ответ на: комментарий от stevejobs

Не хочу я все эти костыли городить.

bbk123 ★★★★★
() автор топика
Ответ на: комментарий от A-234

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

Нет, это не дело привычки. Компилятор глотает такие заголовки с несоотвествующими объявлениями (конкретный пример привести сейчас не могу.)

Вы забыли еще допотопный ассемблер из 70-х.

Нет, не забыл. К ассемблеру у меня тоже претензии есть, но не буду, не надо. В gcc не всегда были нужные вещи (атомарные операции, etc...)

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

К goto у меня нет претензий, когда он используется для обработки ошибок, общепринято в linux. Когда goto на 3-5 экранов назад, это не нормально для 2013.

Пока не нашел такого.

vm_map_copyin_page_list, первое что на глаза попалось. 520 строк, goto назад. И такое там везде.

Да там его кот наплакал, что конкретно не устраивает?

Кот наплакал потому что архитектур поддерживается 1.5: х86 и xen, причем этот код перемешан условной компиляцией. Отличный дизайн!

Почитайте что такое микроядро и чем оно от монолита отличается, печаль должна пройти.

Я знаю про микроядро. Тем не менее, mach несет в себе драйверы: терминал, mmu, таймеры, блочные устройства. Без драйверной инфраструктуры этот код просто адский набор костылей, хардкод на хардкоде, не модульный абсолютно.

В линуксе их намного больше. Вот например:

скажем так, в линуксе не обмазываются макросами. В mach макросами обмазываются. Куча совершенно бесполезных и небезопасных макросов, которые можно заменить инлайнами. Привет компиляторам из 80х!

AptGet ★★★
()

Интересно, а если сравнить темпы развития, то кто быстрей развивается, Hurd или Minix?

Deleted
()

Хм, это что-то новенькое. Сезон сенсационных убунту-новостей прошёл.

eugeno ★★★★★
()
Ответ на: комментарий от x4DA

чуваки, давайте пилить свой mach на русте!

mach можно и на C оставить, отполировать только. Основной код в HURD и вот его на русте реально запилить, думаю.

AptGet ★★★
()
Ответ на: комментарий от Oleaster

ЛОРчую вопрос, сам знаю значения слов «аванс» и «цена», а значения слова «авансцена» не знаю.

anonymous
()
Ответ на: комментарий от darkenshvein

Простите, а что за б-мж у Вас на аватарке?

anonymous
()

11 лет интенсивного кодирования

автор новости молодец :)

user_id_68054 ★★★★★
()
Ответ на: комментарий от A-234

не понял — почему внутри «while» находится «0»?

это же получается что совсем не цикл? или где-то должно было бы быть «continue»

user_id_68054 ★★★★★
()

Бог ты мой, оно ещё живо?

LexArt ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.