Представлен стабильный релиз операционной системы MINIX 3.2.0
Представлен 0 стабильный релиз операционной системы MINIX 3.2.0, разработку которой курирует небезызвестный исследователь Эндрю Таненбаум при финансовой поддержке Европейского исследовательского совета. Новая версия отличается целым рядом значительных изменений и улучшений, позволяющих рассматривать MINIX не только лишь как систему для опытов и образовательных нужд, но еще и как платформу для изготовителей встраиваемой техники, отличающуюся модульностью, высокой надёжностью и низким потреблением памяти.
ОС MINIX построена на базе микроядерной архитектуры: код работающий на уровне ядра составляет в общей сложности несколько тыс. строк, остальное работает на пользовательском уровне. Базовое программное окружение Minix вобрало в себя большое количество стандартных для BSD-систем утилит и библиотек, портированных из NETBSD. Дополнительно в репозитории представлено возле 650 пакетов с разными приложениями.
Исходные тексты MINIX распространяются под BSD-подобной лицензией, что повышает привлекательность системы для фирм, которые думают неприемлемыми условия GPL. Для загрузки доступен готовый загрузочный iso-образ (366 Мегабайт), который возможно применять в качестве Live-окружения или запустить под управлением систем виртуализации VMWARE, QEMU или VIRTUALBOX (поддерживается лишь работа с задействованием механизмов аппаратной виртуализации VT-x или AMD-V). С янв. началась разработка порта MINIX для архитектуры ARM.
Ключевые нововведения MINIX 3.2.0:
Применение Clang в качестве компилятора изначально (GCC доступен в виде опции);
Интеграция новой стандартной библиотеки Си (libc), портированной из NETBSD. Новая библиотека позволила значительно упростить портирование приложений из NETBSD;
Задействование изначально формата исполняемых файлов ELF;
Реализован работающий в асинхронном режиме многопоточный модуль с реализацией абстрактной виртуальной файловой системы (VFS), позволяющей унифицировать процесс интеграции помощи разных ФС;
Экспериментальная помощь SMP-режима, дающая возможность задействовать все ресурсы многоядерных ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР;
Помощь механизма FUSE, позволяющих обеспечить работу с реализациями файловых систем, работающих в режиме пользователя;
Переход на применение формата файла с паролями от системы NETBSD;
Включение в базовую систему новых пользовательских утилит и библиотек, портированных из NETBSD: ext2 fsck и mkfs, gzip, m4, man, mkdep, mkdir, mkfifo, mktemp, rm, rmdir, tic, uniq, libcurses, libcrypt, libprop, libterminfo, libutil, bzip2, date, indent, mdocml (mandoc), sed, zoneinfo;
Перемены в инфраструктуре файловых систем:
Задействован файл /etc/fstab;
Для ФС MFS реализована помощь флага "грязного" размонтирования, позволяющего выявить когда файловая система была размонтирована правильно, а когда нет;
Полная интеграция в базовую систему ФС ext2 и утилит newfs и fsck. Помощь установки MINIX на раздел ext2;
Реализация корректного запуска "fsck -p" в ходе загрузки для всех ФC, отражённых в fstab;
Интеграция загрузчика из проекта NETBSD;
Помощь PROCFS (псевдо-fs /proc);
В драйвер AHCI добавлена помощь многопоточности и NCQ;
Улучшение возможностей по отладке: помощь GDB и core dump, возможность трассировки работы блочных устройств;
Повышение надёжности:
Помощь прозрачного для файловых систем восстановления в случае провала драйвера блочного устройства.
Реализация прозрачного для ФС повтора исполнения драйвером блочных устройств сбойных операций ввода/вывода;
Новый драйвер Faulty Block Device для симулирования дисковых сбоев в целях тестирования и отладки;
Серверные модули и драйверы запускаются под непривилегированным пользователем;
Исправлены все ошибки, выявленные в ходе введения Clang;
Улучшение помощи виртуализации: добавлена библиотека libvassert для помощи VMWARE VASSERT, реализован новый драйвер для синхронизации времени в VIRTUALBOX;
В ходе разработки представленной версии был осуществлён переход на систему управления исходными текстами Git.