Представлен стабильный релиз операционной системы 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:
ОС 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-режима, дающая возможность задействовать все ресурсы многоядерных CPU;
- Поддержка механизма 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.
Комментариев нет:
Отправить комментарий