LINUX.ORG.RU

Новая версия ОС MINIX3

 


0

0

Вышла новая версия ОС MINIX 3.1.4 релиз 4203. Среди нововведений следует отметить появление поддержки виртуальной памяти. Список программного обеспечения под MINIX 3 и сам дистрибутив можно скачать с официального сайта MINIX 3.

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

>Среди нововведений следует отметить появление поддержки виртуальной памяти.

эм, а какие еще нововведения или нововведение только одно?

sniper21 ★★★★★
()

Вот о чем надо было новость написать:

> "Andy Tanenbaum has received an Advanced Grant of 2.5 million euro from the European Research Council to work on a project entitled "Research on Really Reliable and Secure Systems Software." The grant means that work on further developing MINIX 3 will continue to have funding for at least five more years starting today"

tailgunner ★★★★★
()

> Среди нововведений следует отметить появление поддержки виртуальной памяти.

Таки не повод не выпить! Наконец-то!!! ДОЖДАЛИСЬ!!!11

Cancellor ★★★★☆
()

Видимо, Танненбаум вдохновился тредом про РАСПил госбабла и решил тоже урвать кусочек :)

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

> Вот о чем надо было новость написать:

Оно тоже хорошо, но виртуальная память делает из миникс уже нечто, что можно поставить на десктоп.

/me задумался, не собрать ли дебиан на миникс...

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

А список ПО тоже уже неплох: * ackpack - Minix ACK port * antiword-0.35 - a free MS Word document reader * apache-1.3.37 - The Apache HTTP Server v1.3.37 * apr-0.9.12 - apache portable runtime library (gcc format) * apr-util-0.9.12 - apache portable runtime utils * ascii-3.8 - Interactive ASCII name and synonym chart * atk-1.9.0 - The ATK library. * audio-1.0.0 - SB16 ISA and ES1371 audio drivers + framework. * autoconf-2.59 - Autoconf set of automatic configuration tools * autoconf-2.60 - Autoconf set of automatic configuration tools * automake-1.9 - gnu automake * avra-0.7 - Assembler for Atmel AVR microcontrollers * bash-3.0 - GNU bourne-again shell * bc-1.06 - Arbitrary-precision calculator * bchunk-1.2.0 - CD image format conversion from bin/cue to iso/cdr * bcrypt-1.1 - Cross platform file encryption utility * binutils-2.16.1 - A collection of GNU binary tools * bison-2.1 - Parser generator (requires gnu m4 in m4 package) * bitlbee-1.0.3 - An IRC to other chat networks gateway * btyacc-3.0 - Backtracking parser generator based on byacc * catdoc-0.94.2 - view various file types such as ms word in text * cpio-2.5 - a program to manage archives of files * CSSC-1.0.1 - SCCS Version Control Software Clone * ctags-5.5.4 - build tag file indexes of source code definitions * cvs-1.11.21 - Concurrent versioning system * dact-0.8.39 - Multi-algorithm compression * db-4.4.20 - Berkeley DB - Open source developer database * diffstat-1.39 - Produces graph of changes introduced by a diff file * diffutils-2.8.1 - GNU diff and friends * dungeon-2.7.1 - Text adventure dungeon exploration game * ede-1.1 - Equinox Desktop Environment 1.1 (needs EFLTK) * efltk-2.0.6 - EFLTK - Extended Fast Light Toolkit 2.0.6 * emacs-21.4 - The EMACS editor * exim-4.66 - Exim - MTA (overwrites aliases, sendmail, mailq) * fb - file browser * flawfinder-1.26 - Automatically finds security flaws in C programs * flex-2.5.4 - Lexical scanner generator * flip-1.19 - converts text file between MS-DOS and **IX format * fltk-1.1.7 - Fast+lightweight gui toolkit * fltk-2.0.0-5220 - Fast+lightweight gui toolkit * gawk-3.1.4 - GNU AWK * gcc-3.4.3 - GNU Compiler Collection v3.4.3 * gcc-4.1.1 - GCC 4.1.1, C and C++ compilers * gdbm-1.8.3 - GNU dbm, a library of database functions * gettext-0.14 - GNU multi-language interface library * ghostscript-8.54-gpl - Programs to render PostScript documents. * ghostscript-fonts-std-8.11 - fonts for ghostscript * glib-1.2.10 - GNU programming utility library (v1) * glib-2.10.0 - GNU programming utility library * gnu-coreutils-5.2.1 - Port of many basic GNU utilities * gnupg-1.4.8 - GnuPG - GNU project's OpenPGP. * grep-2.5.1a - gnu grep * groff-1.19.2 - groff typesetting system * gv-3.5.8 - graphical frontend for gs * gzip-1.2.4 - gzip file compressor/decompressor * gzip-beta-1.3.3 - gzip file compressor/decompressor * hexcat-0.0.3 - HEX dumping utility * ImageMagick-6.3.1 - ImageMagick - Convert/Edit/Compose Images * irssi-0.8.10 - irssi, a nice irc client * jikes-1.22 - A Java bytecode compiler. * john-1.7.2 - password cracker * jpeg-6b - The Independent JPEG Group's JPEG software * jwm-1.7 - JWM is a window manager for X11 * jwm-1.8 - JWM is a window manager for the X11 Window System * kermit-2.1.1 - terminal emulator * lcrack-20040914 - password cracker * less-3.8.5 - A pager like more * lesstif-0.93.96 - lesstif - A freeware version of Motif. * libiconv-1.9.1 - iconv() implementation - charset conversions * libmcrypt-2.5.7 - De-/Encryption library * libpng-1.2.8 - libpng is the official PNG reference library. * libungif-4.1.3 - this library for working GIF images * libxml2-2.6.28 - XML C parser and toolkit * links-1.00pre19 - advanced text-based www browser * links-2.1pre26 - advanced text-based www browser with X11 mode * lpr - port of bsd lpr/lpd. * lynx2-8-5 - text-based WWW browser * lzo-1.08 - LZO is a portable lossless data compression library * lzop-1.01 - fast compression program * m4-1.4.3 - preprocessor * make-3.80 - GNU make * mdf2iso - mdf to iso conversion utility * MPlayer-1.0rc1 - MPlayer - The Movie Player * mtools-3.9.7 - ms-dos filesystem compatability tools * mysql-5.0.41 - MySQL Relational Database 5.0.41 (Client Only) * nano-1.3.12 - 'compatible but enhanced' Pico clone * nasm-0.98.38 - flexible assembler, support for many output formats * nawk - New AWK * ncftp-3.1.9 - NcFTP, an nice fullscreen ftp client * ncsa_httpd_1.4 * ncurses-5.5 - new curses library * neon-0.25.5 - C library for webdav * nethack-3.4.3-2 - Nethack, the famous dungeon exploration game * netpbm-10.26.30 - toolkit for manipulation and conversion of images * nomarch-1.3 - Unpacks .ARC and .ARK MS-DOS archives * nrg2iso-0.2 - Extracts ISO9660 data from Nero ".nrg" files * nvi-1.79 - A new vi implementation * openssh-4.3p2 - openssh implementation of secure shell * openssl-0.9.8a - library of security algorithms and protocols * patch-2.5.4 - GNU patch * pce-0.1.7 - PCE - An IBM PC Emulator - * pcre-4.5 - perl compatible regular expressions * pdksh-5.2.14 - public domain implementation of ksh (korn shell) * perl-5.8.7 - perl interpreter * php-5.2.1 - PHP Hypertext PreProcessor 5.2.1 * picasm112c - PIC assembler * pine-4.64 - Pine email and news system. * pkg-config-0.20 - pkg-config - package configuration management * PopTart-0.9.7 - pop client * prng-3.0.2 - A library for the generation of pseudorandom numbers. * pscan-1.1 - scans C files for common bugs * pstotext-1.9 - ps to text converter * psutils - postscript manipulation utilities * python-1.5.2 - python interpreter * python-2.4.3 - python interpreter * rcs-5.7 - RCS revision control system utilities * readline-5.1 - The GNU Readline Library * rman-3.2 - PolyglotMan Reverse compile man pages * robodoc-4.0.18 - A source code documentation tool * rsync-2.6.7 - powerful incremental remote synchronization * screen-4.0.2 - full-screen virtual text window manager * sed-3.02 - GNU sed * shhmsg-1.4.1 - Library for displaying messages * simhv35-2 - a highly portable, multi-system simulator * sip-0.4 - Secure Internet Pipe - Create a secure networked pipe * slang-1.4.9 - interactive applications library * slrn-0.9.8.1 - fullscreen newsreader * sqlite-3.3.17 - A self-contained, embeddable SQL database engine * src2tex-2.12 - source program files -> TeX format files * ssmtp-2.61 - simple smtp client * subversion-1.4.0 - subversion version control system * tcl8.4.14 - The TCL scripting language. * tetex-3.0 - teTeX, a LaTeX distribution * tetex-src-3.0 * texinfo-4.7 - Texinfo - The GNU Documentation System * tiff-3.8.2 - LibTIFF - TIFF Library and Utilities * tk8.4.14 - The TK Toolkit for use with TCL * unrtf-0.19.3 - converter from RTF to other formats * unzip-5.52 - for decompressing .zip archives * vice-1.19 - Emulates C64, C128, VIC20, PET, PLUS4, CBM-II * vice-1.20 - Emulates C64, C128, VIC20, PET, PLUS4, CBM-II * vile-9.4 - text editor which is feel-compatible with vi * vim-6.3 - vi improved * wdiff-0.5 - Compares two files word by word * webcpp-0.8.4 - converts source into syntax highlighted HTML * wget-1.5.3 - utility to retrieve URLs * whichman-2.4 - search for man-pages that match approximately * X11R6.8.2 - X Windows R6.8.2 * Xaw3d-1.5 - 3D athena widget set * xv-3.10a - XV 3.10a - graphics viewer * zip-2.31 - make .zip archives (compressed files into one) * zlib-1.2.3 - zlib compression library * zsh-4.2.6 - The Z shell

:)

totalinux
() автор топика
Ответ на: комментарий от codeine-man

>Можно я не буду постить список софта в арче?

Главное что уже почти всё основное есть. Лиха беда начала! В полку open-source прибыло ;)

totalinux
() автор топика

> Среди нововведений следует отметить появление поддержки виртуальной памяти

Что-то я не понимаю. По-моему поддержка виртуальной памяти в Minix была всегда! Да, она была сегментной и убогой, без страниц (смотрел в 3.0), но память была вполне виртуальной!

А сейчас добавили, наверное, нормальную поддержку страниц и своп -- в анонсе, к сожалению, не вижу.

sv75 ★★★★★
()

И то хорошо, что не под GPL...

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

>Оно ещё живое? О_о

И судя по всему будет жить: "Andy Tanenbaum has received an Advanced Grant of 2.5 million euro from the European Research Council to work on a project entitled "Research on Really Reliable and Secure Systems Software." The grant means that work on further developing MINIX 3 will continue to have funding for at least five more years starting today."

totalinux
() автор топика
Ответ на: комментарий от Jeepston

>Начало?! Оно раньше Линукса появилось, вообще-то

Если мне не изменяет память, тогда она была только учебной ос и её лицензция не делала её свободной.

totalinux
() автор топика
Ответ на: Хочу GNU. от Camel

> MINIX3 хорош своим микроядром, но лицензия сводит всё на нет.

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

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

> Точнее сказать, что он не только убог микроядром

А вот не скажи... 64-бит системы с MSI и IOMMU могут сделать микроядерные системы выгодными со всех сторон.

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

>Начало?! Оно раньше Линукса появилось, вообще-то

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

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

> А причём тут IO?

Почитай об IO в Minix3.

> Вот если б разнести подсистемы по ядрам, чтоб контекст не переключать...

Это получается само собой.

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

Еслиб еще арч работал нормально, можно было бы и посмотреть этот список.

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

Поэтому, не "можно", но не нужно!

cdrw
()
Ответ на: комментарий от Shaman007

> IMHO на узком круге задач. Если допилят.

Для узкого круга задач оно пригодно даже на текущем железе (при условии допиливания). А MSI и IOMMU сделают Minix3 пригодным как систему общего назначения.

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

Микроядро vs. Монолит

>> Точнее сказать, что он не только убог микроядром

> А вот не скажи... 64-бит системы с MSI и IOMMU могут сделать микроядерные системы выгодными со всех сторон.

Ну, смотри, что получается с микроядром. Вызов open приводит в MINIX к 4-6 и более переключений контекстов. Т.е. кеши кода, данных, TLB хреновенько используются. Ситуация, когда каждая задача на своем ядре (даже если ядер много) маловероятна, т.к. ядра одинаковые, а ресурсы CPU кушают по разному. Да и со временем нагрузка на разные задачи меняется. Т.о. переключения контекста будут -> с TLB и кешем кода все плохо.

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

Кроме того, преимущество микроядра для Таненбаума в возможности сделать систему более надежной. В Linux эта задача решается по другому. Т.е. это разные способы решения задачи. Каждый со своими преимуществами и недостатками.

Каковы причины ненадежности - код с ошибками, железо с ошибками. Это закрытые драйвера, плохо написаный открытый код, слушайные или трудноуловимые ошибки. Вот Таненбаум говорит, дайте мне любой кривой драйвер, я положу его в отдельный процесс и буду следить за его работой, зависнет - перезапущу. Неприятности появляются в виде дополнительного интерфейса и потери производительности на переключениях контекста.

Торвальдс говорит, я прогибаться не буду. Закрытый код в ядре не нужен, а открытый мы поправим. Результат тот же, но без потери производительности и программировать проще, т.к. модуль ядра общается с другими структурами ядра напрямую, минуя дополнительный интерфейс.

При этом ОБА подхода требуют внимательного проектирования ядра и разбиения его на отдельные модули и подсистемы.

Т.о. микроядро удобно для закрытых систем (Singularity), монолит лучше для открытых.

Что скажешь на это?

И что делает по твоему мнению "микроядерные системы выгодными со всех сторон" (по сравнению с монолитом, я так понимаю)?

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

Liosha_Syrnikov
()

Уважуха разработчикам MINIX, молодцы, такому упроству стоит позавидовать.

P.S. а им кто пользуется, да? ( кроме самих разрабов :) )

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

>а им кто пользуется, да? ( кроме самих разрабов :) )

Из интервью Эндрю Таненбаума:

Вопрос: Какую операционную систему Вы используете для работы и дома?

Ответ: На работе — Solaris, на моём ноутбуке — Windows XP

http://www.minix3.ru/articles/Tanenbaum_interview_ru.html

Camel_Toe
()
Ответ на: Микроядро vs. Монолит от Liosha_Syrnikov

>> А вот не скажи... 64-бит системы с MSI и IOMMU могут сделать микроядерные системы выгодными со всех сторон.

> Ну, смотри, что получается с микроядром.

Лучше посмотри, что получается с вводом/выводом. Почитай о usermode-драйвероах в Linux и о драйверах в Minix3. Прикинь, что там _каждое_ чтение порта сейчас требует системного вызова. Ввод/вывод - единственное слабое место архитектуры Minix3.

> Вызов open приводит в MINIX к 4-6 и более переключений контекстов. Т.е. кеши кода, данных, TLB хреновенько используются. Ситуация, когда каждая задача на своем ядре (даже если ядер много) маловероятна, т.к. ядра одинаковые, а ресурсы CPU кушают по разному

Ыыыы, какая каша. Единственное, о чем здесь стоит беспокоиться, это нерациональное исользование кэшей процессора. Но рост производительности процессоров делает эти накладные расходы относительно менее важными. Вообще, закон Мура работает на Minix3.

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

Если речь о кэше ФС, то серверы ФС Minix3 могут использовать ровно те же техники, что и Linux.

> Таненбаум говорит, дайте мне любой кривой драйвер, я положу его в отдельный процесс и буду следить за его работой, зависнет - перезапущу.

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

> Т.о. микроядро удобно для закрытых систем (Singularity), монолит лучше для открытых.

> Что скажешь на это?

Сингулярити здесь вообще никаким боком.

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

>Ну серьезно, это нишевый продукт для исследования академических >вопросов, на десктоп ставить только из стремления "быть не как все".

Вообще-то Таненбаум никогда и неговорил что MINIX для декстопа: MINIX 3 is initially targeted at the following areas: - Applications where very high reliability is required - Single-chip, small-RAM, low-power, $100 laptops for Third-World children; - Embedded systems (e.g., cameras, DVD recorders, cell phones) - Applications where the GPL is too restrictive (MINIX 3 uses a BSD-type license) - Education (e.g., operating systems courses at universities)

Десктоп это для Windows, даже не для linux...

totalinux
() автор топика

> появление поддержки виртуальной памяти.

теперь бинарик иксов будет весить не 180 мегабайт, а всего 30? :)

когда там динамическую линковку планируют? (если планируют)

sig_wall
()

Идея этой ОС хорошая, однако лицензия - отстой, развитие - отсталое, не портировано на нужные процы, минусов масса. Опоздали они, лет на 15-ть... R.I.P.

I-Love-Microsoft ★★★★★
()

появление виртуальной памяти!!! не прошло и 20 лет

yoghurt ★★★★★
()

Таненбаум пишет "национальную ОС" :)

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

> А вот не скажи... 64-бит системы с MSI и IOMMU могут сделать микроядерные системы выгодными со всех сторон.

По-моему миних на 64-бит портировать удастся как раз только за оные 2.5М евро. А что такое MSI?

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

> что такое MSI?

Message Signaled Interrupt. Замена IRQ, фактически - отдельный IRQ для каждого устройства.

tailgunner ★★★★★
()

нормалёк, будет система развиваться ;) )

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

> Лучше посмотри, что получается с вводом/выводом. Почитай о usermode-драйвероах в Linux и о драйверах в Minix3. Прикинь, что там _каждое_ чтение порта сейчас требует системного вызова. Ввод/вывод - единственное слабое место архитектуры Minix3.

> Единственное, о чем здесь стоит беспокоиться, это нерациональное исользование кэшей процессора. Но рост производительности процессоров делает эти накладные расходы относительно менее важными. Вообще, закон Мура работает на Minix3.

Я тебе как раз про неэффективное использование кешей и писал (кода, данных, TLB). Разница 4 такта на обращение к L1 и около сотни тактов на обращение к памяти. Потерю мерять, конечно, надо.

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

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

Воистину так. Зависшее ядро из-за ошибки в драйвере неприятность большая. Сам писал такое для себя.

Возвращаемся в реальность и сравниваем, какой драйвер будет работать стабильнее: открытый, в котором существующие ошибки правят, когда находят или закрытый, который кто-то написал в надежде, что при зависании его перезапустят и забили на его разработку. Тут смотреть надо, как часто производитель закрытого драйвера будет его обновлять. Что-то мне подсказывает, что напишут и забудут. :-)

> Сингулярити здесь вообще никаким боком.

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

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

Еще прикол. Ты пишешь про MSI и IOMMU для оптимизации работы. Насколько это распространенные технологии в разных процессорах? Одна из мощных фич Linux - его распростаненность для разных процессоров, платформ и разных масштабов систем (от встроенной техники до кластеров).

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

Ну и напоследок. Для монолита, все что не обязано работать быстро (драйвера) тоже можно выкинуть в юзерспейс с тем же эффектом, что и для микроядра. И в чем тогда преимущества от микроядра?

P.S. Вопросы чисто технические. Без уклона в сторону идеологии или личных предпочтений.

Liosha_Syrnikov
()

> Среди нововведений следует отметить появление поддержки виртуальной памяти.

"I'd like any feedback on things people like/dislike in minix" (с) L.T.

Ну надо же! Наконец-то появилась. Достижение, однако. В NeXTSTEP это было уже 20 лет назад.

Bioreactor ★★★★★
()

Монолитные ядра - архаика. И микроядерные ядра - только для яйцеголовых.

Нормальный компромисс - гибридные ядра. IPC приложений и некоторые драйверы должны сидеть в режиме ядра. А сервис ФС и UNIX-сервис - в пользовательском режиме. Тогда и быстро, и безопасно, и всё в полном шоколаде.

Bioreactor ★★★★★
()

Закопайте её обратно. Вместе с Танненбаумом.

Vitaly-KF
()

Хренасе, на ещё жива! Вот новость...
Вообще, пусть живет как наглядное пособие.

        тут будет срач

              ||
              \/

IBM-ch
()

Господа, да мы все присутствуем при историческом моменте. Такими темпами, глядишь, дед и до revenge day доживёт :)

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