ReactOS
Ця стаття потребує істотної переробки. |
Розробник | ReactOS Foundation |
---|---|
Написано на | C, C++ |
Робочий стан | Альфа |
Вихідна модель | Відкритий |
Випущено у виробництво | 20 липня 1998 |
Останній випуск | 0.4.7 / 1 вересня 2017 |
Репозиторій | |
Мови | англійська, німецька, італійська, китайські мови та російська |
Тип ядра | Гібридне ядро |
Інтерфейс користувача | Графічний інтерфейс користувача |
Ліцензія | GNU General Public License та інші |
http://www.reactos.org/ |
ReactOS — це операційна система, що розробляється в рамках проекту з відкритими кодами, сумісна на двійковому рівні з прикладними програмами та драйверами лінійки ОС Windows NT. У цей час проект перебуває на alpha стадії розробки, хоча деякі цілі проекту і віхи вже досягнуто. ReactOS ліцензована під GPL.
Історія
Близько 1996, група розробників почали проект під назвою FreeWin95, метою якого було створення операційної системи, клону Windows 95. Проект застряг на дискусії про дизайн системи. На кінець 1997, проект все ще не мав результатів. Члени проекту вимагали переглянути проект, і мета проекту була замінена на Windows NT й назву проекту було змінено на ReactOS. Проект ReactOS був розпочатий з розробки ядра і базових драйверів в лютому 1998.
На даний час ReactOS має за мету домогтись сумісності з Windows XP/2003 а не з старим NT 4.[1]
Функціональність
Станом на липень 2009 року ядро ReactOS досить стабільне, багато API реалізовано для високорівневої розробки і є базовий GUI. Особливістю ReactOS є Провідник ReactOS, який є базовою оболонкою для ReactOS, схожою на Провідник Windows.
З 2006 року проект перебуває у фазі alpha (до цього — pre-alpha), тому ReactOS ще зарано рекомендувати для повсякденного використання. Починаючи з версії 0.2, ReactOS може запускати багато Win32-додатків, як стандартні для Windows (текстовий редактор Notepad, редактор реестру Regedit, командний інтерпретатор cmd), так і написані поза межами Microsoft (наприклад, текстовий процесор AbiWord, ігри Quake, Quake II и клон гри Minesweeper, що використовує Wine). Але через відсутність спонсора і невелику команду розробників активність проекту не дуже висока. Перехід на стадію бета заплановано у версії 0.5
-
Багатозадачність
-
Mozilla Firefox у ReactOS
Історія версій
Версія | Дата | Примітки |
0.1.0 | 2 лютого 2003 | Перша версія, що встановлюється з CD, ще без графічного інтерфейсу. Доступно кілька інструментів командного рядка. Операції з файлами (такі як копіювання і видалення) функціонують ненадійно. |
0.2.0 | 25 січня 2004 | Дебют графічного інтерфейсу, що базується на Провіднику Windows і панелі задач. Може запускати багато Win32 програм, у тому числі Notepad (стандартний текстовий редактор), Regedit (редактор реєстру), cmd (командний інтерпретатор) кілька інших застосунків (таких як AbiWord) та ігри (такі як Quake і Quake II і Wine клон гри Minesweeper). Дуже нестабільна. |
0.2.2 | 28 квітня 2004 | Поліпшення в графічному інтерфейсі і його стабільності. |
0.2.5 | 5 січня 2005 | Більш стабільне ядро і багато маленьких поліпшень. Є підтримка звуку, що працює для деяких карт і достроково додано код для роботи мережі. Було продемонстровано скріншот текстового браузера Lynx, що відображає сторінку, хоча все ще потрібна певна доробка. Також додана підтримка для файлової системи Ext2 (ці вихідні коди ще не включені до складу основної гілки) і системного завантажника GRUB, дозволяючи ReactOS співіснувати з розділами Linux. |
0.2.6 | 10 квітня 2005 | Запускаються Dillo, miRC, і DCOM компоненти браузера Mozilla Firefox (такі як двигун рендерингу Gecko). Як ви можете бачити на знімку зверху, частково працює OpenOffice.org (версії 1.x). Крім того вперше також запускаються деякі великі ігри (Deus Ex, Unreal Tournament) за допомогою програмного рендерингу. |
0.2.7 | 21 серпня 2005 | Вирівнювання структури файлів заголовків з Windows. Оголошується мета сумісності з новішою Windows (2000 SP4, замість NT 4). |
0.2.8 | 30 жовтня 2005 | Важливі підготовчі кроки до робочого USB, інсталяції програм і ліквідація декількох помилок графічного інтерфейсу. USB 'запозичується' з Cromwell. Розпочато роботу над Plug&Play. |
0.2.9 | 22 грудня 2005 | Поліпшене розпізнавання устаткування і ACPI, значно покращена підтримка API. |
0.3.0 | 28 серпня 2006 | Повна підтримка мережевого стека TCP/IP та значно покращена підтримка Plug&Play |
0.3.1 | 10 березня 2007 | Розпочата робота по переписуванню деяких модулів ядра, HAL, завантажника FreeLdr. Оновлені і додані переклади (в тому числі і українські). Оновлені шрифти DejaVu до версії 2.13 Доданий новий застосунок Download! для завантаження і установки вільних програм. |
0.3.3 | 12 вересня 2007 | Версія 0.3.2 була пропущена через серйозні проблеми із старими несумісними драйверами. В новій версії усунено дуже багато помилок, система стала суттєво стабільнішою в порівнянні з минулими версіями. Більшість основних модулів стали сумісними з NT5, ядро поліпшено і наблизилось в багатьох областях до NT 5.2. Розпочата повна переробка підсистеми Win32. Відбулись поліпшення в багатьох базових застосунках і аплетах панелі керування. |
0.3.4 | 22 січня 2008 | Підтримка інструкцій SSE / SSE2. Новий драйвер клавіатури і миші, що підтримує (Plug and Play). Покращення бібліотеки gdi32 в плані сумісності з Windows та ін. |
0.3.5 | 30 червня 2008 | Оновлений завантажувач (freeloader). Шрифти замінені на більш сумісні метрично та ін. |
0.3.6 | 6 серпня 2008 | Зменшення необхідної завантажувачу FreeLdr пам'яті для завантаження ReactOS. Можливість вивантаження драйверів. Виправлення помилок і усунення витоків пам'яті в мережевому стеку та ін. |
0.3.7 | 4 листопада 2008 | Початок роботи над підтримкою компілятора MSVC. Покращення підртимки архітектури x86-64. Покрашення роботи і виправлення підсистем ядра: Configuration Manager, IO Manager, KE, Memory Manager, Object Manager, Process Manager. Усунення витоку пам'яті і збільшення функціональності мережевого стека. |
0.3.8 | 4 лютого 2009 | Виправлення помилок і покращення в базових сервісах ядра (напр. реєстр, процедури сисемної інформації, примітиви синхронізації, такі як guarded mutex, підтримка вводу-виводу та ін.). Дано старт ініціативі щодо виправлення останніх двох модулів ядра, що дають найбільше проблем: Менеджер Пам'яті, підтримка кешування і API драйверів файлових систем, і іншого коду, що залежить від Mm. Впровадження нового механізму Переносної Структурованої Обробки Винятків (скорочено PSEH 2.0), який набагато ближчий синтаксично до SEH, що реалізується компілятором. Виправлено декілька досить старих помилок (таких, як проблеми з роботою LiveCD за наявності жорсткого диска з кількома розділами, відображення графіка завантаження процесора в менеджері завдань). Виправлені різні проблеми відмальовки GDI. Реалізована мінімальна open-source версія протоколу KernelDebugger, що дозволяє використовувати базову функціональність налагоджувача MS WinDbg. Покращення в бібліотеках CRT та RTL. Вирішено ряд проблем в системних драйверах: NPFS, CDFS, FASTFAT, FS_REC, SCSIPORT. Покращення відео-драйвера для кращої підтримки реального заліза. Продовження роботи над підсистемою Win32. Продовження роботи над підтримкою MSVC. Виправлення в інструментарії для збирання (також в рамках роботи з підтримки MSVC). Обновлені до останніх версій спільні з Wine базові утиліти та компоненти. |
0.3.9 | 26 квітня 2009 | Зменшені мінімальні вимоги пам'яті до 32Mb. Теоретично, в наш час[коли?] ReactOS може бути встановлений при наявності 24Mb пам'яті і запущений з лише 20Mb. В ядрі реалізований новий, більш швидкий інтерфейс відображення гіперпростору (Hyperspace Mapping Interface), що дало приріст швидкості понад 300%. Покращення в перевірці безпеки в Менеджері Об'єктів в ядрі збільшує продуктивність на 500%. Це особливо помітно при роботі з реєстром чи великими файлами. Вирішені різні проблеми NDIS і AFD, що збільшило сумісність з драйверами мережних карт та зміцнило мережевий стек. Попередня підтримка звуку через новий сервіс Kernel Streaming. Тепер стало можливим використати драйвер ac97 через нову бібліотеку Port Class щоб слухати музику через winamp. Велика кількість роботи була зроблена над командним рядком щоб зробити його більш сумісним. Тепер він може виконувати складні сценарії (скрипти), включаючи наше Середовище Збирання (Build Environment). Багато поліпшень в частині GDI, яка працює в режимі ядра, покращили роботу графічного рушія у межах усієї кольорової гами. Синхронізація більшості usermode DLLs від Wine. |
0.3.10 | 5 червня 2009 | Усунена нездатність працювати з розділами розміром більше 8Gb. Додана можливість установки на будь-який з чотирьох основних розділів. Первинна підтримка контролерів SerialATA та розширена підтримка ATA
Первинна підтримка USB клавіатур та мишок. Значно покращена підтримка мережевих карт (20 різних мережевих карт були успішно випробувані). Підвищена стабільність мережі. Було введено клон додатка MS paint. Первинна підтримка компіляції для MSVC. Кращий перерозподіл використання системних ресурсів. Синхронізація більшості usermode DLLs від Wine та деякої частини коду підсистеми Win32, яка є спільною з Wine. |
0.3.11 | 16 грудня 2009 | Переписана kdcom kernelmode бібліотека, яка стала більш сумісною з версією від Microsoft. Це дозволяє покращити вбудовану підтримку WinDbg. В інструменти для збирання була додана підтримка завантажуваних з затримкою dlls, що забезпечує можливість затримки завантаження для відвантажених бібліотек. Додана підтримка китайського та корейського шрифтів. Написаний новий обробник для установки та отримання загальносистемних параметрів (дивіться SystemParametersInfo API), тепер роблячи його більш завершеним та сумісним з реалізацією в Windows. Покращена підтримка різних програм включаючи Opera, OpenOffice, Firefox 3.5, VLC1.1 та Skype. Для розваги, була додана гра Солітер Павук. Синхронізація більшості usermode DLLs від Wine та деякої частини коду підсистеми Win32, яка є спільною з Wine. |
Майбутнє
У найближчих планах випуск нової версії 0.3.14 (має з'явитися у 2011 році) а після неї перехід на серію релізів 0.4.х. Ця серія релізів буде останньою серією альфа-версій ReactOS. Починаючи з версії 0.4 ReactOS буде підтримувати мережевий протокол SMB, програмне вимкнення та перезавантаження комп'ютера, всі драйвери, написані для ReactOS будуть працювати в Windows, USB клавіатури і миші, з'явиться можливість встановлення системи на ext2 розділ. Також появиться працездатна версія нової користувацької оболонки (explorer).
Розробники ReactOS працюють над поліпшенням GUI, додаванням роботи мережі, мультимедіа, підтримки Plug&Play устаткування, підтримка Java і .NET (через Mono). Заготівки для підсистем DOS, OS/2 і POSIX також будуть зроблені, подібно до підсистем Windows NT.
Аудит вихідних кодів
З 8 березня 2006 триває аудит тобто перевірка розробниками ReactOS вихідних кодів ОС у зв'язку з підозрою одного з розробників у використанні коду, отриманного шляхом дизасемблювання Windows (див. його лист).
Станом на вересень 2007, аудит вихідних кодів завершено на 99.5%.
Локалізація
ReactOS локалізується на багато мов. Станом на 2007 рік існують переклади принаймні однієї частини ОС на такі мови: бенгальську, болгарську, валлонську, голландську, грецьку, датську, есперанто, індонезійську, іспанську, італійську, каталонську, китайську, корейську, литовську, німецьку, норвезьку, польську, португальську, російську, румунську, словацьку, словенську, тайську, турецьку, угорську, українську, фінську, французьку, чеську, шведську, японську.
На даному етапі існують проблеми з підтримкою мов з нелатинськими алфавітами і не реалізовано перемикач розкладок клавіатури. Однак українська розкладка реалізована.
Пов'язані проекти
ReactOS співпрацює з проектом Wine стосовно динамічних бібліотек (DLL), більшість яких може бути спільною у ReactOS і Wine.
Вимоги до устаткування
- IA32-сумісний процесор (і486 або новіший)
- 32 МБ RAM для завантаження.
- Жорсткий диск IDE
- Системний розділ FAT16/FAT32
- VGA-сумісна відеокарта
- Стандартна клавіатура
- PS/2 сумісна миша або Microsoft-сумісна послідовна миша.
Оскільки ReactOS все ще на альфа-стадії розробки, рекомендовано працювати під управлінням програмного забезпечення, що емулює вищезгадані апаратні засоби, наприклад Virtual PC, VMware, QEMU або Bochs, однак його використання пов'язане із втратою продуктивності (тобто швидкості роботи).
Встановлення
Стандартна процедура встановлення ReactOS з CD нагадує перший етап встановлення Microsoft Windows NT версій 3-5.
Також доступні LiveCD кожної офіційної версії та скомпільованої збірки релізів зі стовбура SVN.
Крім того, можна встановити ReactOS без CD, зкомпілювавши її з вихідних кодів у вказану папку.
Див. також
Примітки
Посилання
Офіційна сторінка
- Домашня сторінка ReactOS
- Форум
- Вікі
- База підтримки програм та драйверів
- ReactOS Weekly Newsletter
- ReactOS Nightly Builds