ReactOS

ReactOS היא מערכת הפעלה חופשית. מטרת הפרויקט ליצור מערכת הפעלה תואמת לעבודה עם יישומים שנכתבו עבור Microsoft NT 5.0 ומעלה (מערכת Microsoft Windows 2000 ואלו שבאו אחריה). המערכת, הנמצאת בשלבי פיתוח, משתמשת בין היתר בכלים
מפרויקט Wine, ומציעה כבר היום תאימות טובה למדי עם מערכת החלונות המקורית.

המערכת עדיין נמצאת בשלב אלפא נכון לשנת 2021, אבל ישנן תוכניות Windows שעובדות בצורה הצפויה על המערכת. בזמן שליבת המערכת נכתבה מאפס, סביבת המשתמש מבוססת ברובה על שכבת תאימות של Wine עבור מערכות הפעלה דמויות יוניקס.

ReactOS נכתבה ברובה בשפת התכנות C עם כמה חלקים שנכתבו בשפת C++{{D}}, כמו דפדפן הקבצים של המערכת.

לעומת השאיפות הרבות שיש לפרויקט, מחסור בתמיכה כלכלית ומחסור בכוח אדם גורמים לעיכובים רבים בפיתוח מערכת ההפעלה - מה שגורם לעדכונים קטנים ובתדירות נמוכה.

== מקור השם ==
את שם הפרויקט, ReactOS, נתן מקים המיזם, ג'ייסון פילבי (כיום אין הוא פעיל בפרויקט). OS הן ראשי תיבות של Operating System (מערכת הפעלה), בעוד שהמינוח React נועד על מנת להציג את חוסר השביעות של קבוצת מקימי הפרויקט מחברת מיקרוסופט, אשר בזמנו שלטה בצורה מונופולית על שוק מערכות ההפעלה.

== היסטוריה ==
=== מפרויקט FreeWin95 לפרויקט ReactOS ===
בשנת 1996, קבוצת מפתחים החליטה להקים פרויקט בשם FreeWin95, אשר מטרתו הייתה להוות חיקוי חופשי למערכת ההפעלה Windows 95 של מיקרוסופט. פיתוח הפרויקט הופסק לאחר זמן מה לאחר דיונים רבים אודות אופי המערכת.

על אף הציפיות הגבוהות של הפרויקט, לא הוצגה שום גרסה למערכת ההפעלה עד שנת 1997. בעקבות כך, החליטו חברי הפרויקט, בראשותו של ג'ייסון פילבי, להחיות מחדש את הפרויקט. כחלק מהתהליך התחייה הוחלט על השם הנוכחי, ReactOS, וכן הוחלט על בניית המערכת על בסיס ליבת ה-NT החדשני בזמנו של מיקרוסופט. ReactOS התחיל את פיתוחו בשנת 1998 על ידי יצירת ליבת NT חדשה ומנהל התקנים חדש.

=== חשד להעתקת קוד ===
ב-27 בינואר 2006, החליטו מפתחי הפרויקט להשעות זמנית את פיתוחו ולהגביל את גישת הקבצים לכל המשתמשים אשר לא הוגדרו כמפתחי המערכת. הדבר נעשה בעקבות חשד של מפתחי המערכת לערבוב והעתקת קוד מקור מאחת ממערכות ההפעלה של מיקרוסופט. על אף שבוצעה פנייה רשמית בעניין, מיקרוסופט ביקשה שלא להגיב לעניין.

החשד להעתקה יצר חוסר אמון כלפי המפתחים, אשר התבטא בין השאר בהרחקה של חלק ממפתחי המערכת שעבדו בשיתוף עם פרויקט Wine. האחרונים הביעו חשש שמפתחי ReactOS החדירו קוד ממערכת ההפעלה חלונות לתוך פרויקט Wine.

החשד לשילוב הקודים הועלה ב-17 בינואר 2006, על ידי מפתח עבר של הפרויקט, הרטמוט ביר, אשר שלח מיילים לכלל המפתחים, ובהם טען כי חלק מהקוד שמרכיב את ReactOS הגיע ישירות ממערכת הפעלה של חברת מיקרוסופט, חלונות XP. ביר הדגיש כי הוא שילב קודים ממערכת ההפעלה של מיקרוסופט לתוך מערכת ההפעלה ReactOS על מנת ליצור קבצים נחוצים לפרויקט, על ידי ביצוע פשוט של העתקה-הדבקה מהקוד של מיקרוסופט לקוד של ReactOS.

בהודעה משותפת שהוציאו כלל חברי הפרויקט באתר הבית, הודיעו המפתחים כי יצירת הקוד עבור מערכת ההפעלה בוצעה שלא על ידי פעולת העתקה-הדבקה, אלא על ידי פעולת יצירת קוד מהופך (clean-room reverse engineering). המפתחים אף הודיעו על ביצוע סריקה לאורך כל קוד המערכת, על מנת לוודא שאין אלמנטים ממערכת ההפעלה של מיקרוסופט בתוך הקוד של ReactOS, וכן הוכרז כי כלל המפתחים יחתמו על מסמכים אשר מעידים כי הפיתוח ייעשה אך ורק בשיטת הקוד המהופך.

== היסטוריית גרסאות ==
{| class="wikitable" align="right"
! צבע
! משמעות
|-
| style="background-color:#fa8072;" | אדום
| גרסה לא נתמכת
|-
| style="background-color:#a0e75a;" | ירוק
| גרסה נוכחית
|-
| style="background-color:#87ceeb;" | כחול
| גרסה עתידית
|-
|}

{| class="wikitable"
|-
! גרסת מערכת !! תאריך גרסה !! פירוט הגרסה
|-
! 0.2.0
| style="background-color: #fa8072;" | 25-01-2004 || הגרסה הראשונה שהכילה ממשק גרפי
|-
! 0.2.2<br />0.2.5
| style="background-color: #fa8072;" | 27-04-2004<br />01-02-2005|| תיקון שגיאות בלבד
|-
! 0.2.8
| style="background-color: #fa8072;" |29-10-2005|| יכולת עבודה על גבי VMware, שכתוב CSRSS
|-
! 0.3.0
| style="background-color: #fa8072;" | 27-08-2006|| הגרסה הראשונה שהכילה תמיכה ברשת
|-
! 0.3.1
| style="background-color: #fa8072;" |10-03-2007|| קיום מנהל יישומים, תחילת שכתוב ליבת המערכת
|-
! 0.3.2
| style="background-color: #fa8072;" |דולג|| גרסה שלא יצאה לציבור
|-
! 0.3.3
| style="background-color: #fa8072;" |12-09-2007|| שיפור בליבת המערכת ו-win32k
|-
! 0.3.4
| style="background-color: #fa8072;" |22-01-2008|| שכתוב מערכת הרישום, שולחן עבודה מרוחק ו- Plug 'N' Play
|-
! 0.3.5
| style="background-color: #fa8072;" |30-06-2008|| תיקון שגיאות בלבד
|-
! 0.3.6
| style="background-color: #fa8072;" |06-08-2008|| תמיכת RTL
|-
! 0.3.7
| style="background-color: #fa8072;" |04-11-2008|| שיפור בתמיכה במצב של x86-64, MSVC
|-
! 0.3.8
| style="background-color: #fa8072;" |04-02-2009|| הצגת PSEH ותמיכת חילוק מחיצות HDD בגרסה חיה
|-
! 0.3.9
| style="background-color: #fa8072;" |26-04-2009|| תמיכה במינימום זיכרון של 24MB RAM, הצגת מרחב מיפוי מהיר, תמיכה ראשונית בקול
|-
! 0.3.10
| style="background-color: #fa8072;" |05-07-2009|| תמיכה ראשונית ב-SATA, תמיכה למקלדת ועכבר בחיבור USB, תוכנת חיקוי של צייר, תחילת תמיכה ב-MSVC
|-
! 0.3.11
| style="background-color: #fa8072;" |16-12-2009|| שכתוב kdcom, הוספת גופנים סיניים וקוריאניים, עדכון תמיכה, שיפור במערכת הקול
|-
! 0.3.12
| style="background-color: #fa8072;" |22-10-2010|| שכתוב הודעות ומערכת שעון, תמיכת NMI, תמיכת SxS, תמיכה חלקית ב-EMS
|-
! 0.3.13
| style="background-color: #fa8072;" |22-03-2011|| שכתוב חלק מניהול הזיכרון (Heap Manager), שיפור בתמיכת SATA, תיקוני בעיות גרפיות
|-
! 0.3.14
| style="background-color: #fa8072;" |07-02-2012|| תמיכת ACPI כברירת מחדל, תמיכת WiFi, תמיכה בערכות נושא, התקן TCP/IP חדש
|-
! 0.3.15
| style="background-color: #fa8072;" | 30-05-2013|| תמיכה חלקית של USB-2.0 - אחסון ו-HID, שיפורים בתמיכה של SATA 1,2,3 - גרסה ראשונה עם AHCI עובד
|-
! 0.4.0
| style="background-color: #fa8072;"| 16-02-2016|| גרסת אלפא
|-
! 0.4.1
| style="background-color: #fa8072;"| 17-05-2016|| גרסת אלפא
|-
! 0.4.2
| style="background-color:#a0e75a;"| 16-08-2016|| גרסת אלפא
|-
! 0.5.0
| style="background-color:#87ceeb;" |לא ידוע|| גרסת בטא
|-
! 1.0.0
| style="background-color:#87ceeb;" |לא ידוע|| גרסה סופית
|}

== פיתוח המערכת ==
רוב המערכת כתוב בשפת C, כאשר כמה חלקים ממנה כתובים בשפת C++ (כדוגמת סייר ReactOS ושכבת הקול). הפרויקט נבנה בעזרת Mingw (היסב של GCC וכלי גנו אחרים לסביבת חלונות).

מטרת המפתחים היא לפתח ליבה שתהיה תואמת לגרסה 5.2 של ליבת Windows NT (Windows Server 2003), ה-API של סביבת המשתמש וסביבת NT גרסה 6 (חלונות ויסטה), ובנוסף ליצור תמיכה לכמה שיותר חומרות ותוכנות. מפותחת גם שכבת תאימות שנועדה לאפשר הרצה של תוכנות חדשות יותר, אך היא לא מספקת תאימות מלאה.

תמיכה ב-DirectX נעשה על ידי פיתוח פנימי של הפרויקט הנקרא ReactX. רוב פעולות ההאצה של חומרה בתמיכת 2D נעשה באופן טבעי, בעוד שפעולות האצה וגרפיקה אחרות נעשות באמצעות שימוש ב-OpenGL כפתרון זמני.

=== תלות ===
ReactOS משתמשת בקודי פיתוח שונים ממספר פרויקטים מקבילים, על מנת להימנע מכתיבת קוד כאשר אפשר להשתמש במקור קיים, וכן להתמקד יותר ביצירת מערכת שתואמת את סביבת העבודה של חלונות.

=== פרויקט Wine ===
דיאגרמה להבנה של פעולת הארכיטקטורה של המערכת, כאשר חלקים התלויים בפרויקט Wine מסומנים בלוגו המתאים. ReactOS משתמש בחלקים מהקוד של פרויקט Wine על מנת לפתח את יכולת הטמעת Win32 API. אף על פי שלא כל המרכיבים של הקוד יכולים להועיל לפרויקט משום שהם לא מתאימים מבחינת ארכיטקטורה מערכתית, חלקים שונים של הקוד שימושיים לשני הפרויקטים הללו. חלקים שאינם זמינים מפרויקט Wine, כמו ליבת המערכת, מפותחים בנפרד.

=== רשת ===
כחלק מהשתתפות ReactOS בפרויקט "קיץ הקוד של גוגל" (Google Summer of Code) ב-2011, ReactOS השתמשה בתלמידים שנרשמו על מנת ליצור תמיכה נוספת בקישוריות. פיתוח ה-IwIP (שמתבצע בעזרת הפרויקט של גוגל) מחליף את פורמט הקישוריות הקודם של המערכת TCP.

=== פלטפורמות ===
ReactOS מפותחת כיום על שתי פלטפורמות חומרה: IA-32
ו-AMD64. עיקר הפיתוח נערך עבור סביבת 32-ביט, כאשר המהדורה השנייה עדיין בשלבי פיתוח מאוד מוקדמים.

== שימושיות ==
דפדפן פיירפוקס בעברית פועל במערכת ההפעלה ReactOS
נכון לתאריך 30 במאי 2013, המערכת עדיין בשלב אלפא: עדיין לא מממשת את כל היכולות של מערכת חלונות ולפיכך ישנן מעט תוכנות של מערכת ההפעלה חלונות אשר עובדות בצורה חלקה במערכת ReactOS. למערכת זמני התקנה והעלאה (Boot) מאוד קצרים.

== ביקורת ==
מוביל הפרויקט אלכסיי ברגין (משמאל) מציג את מערכת ההפעלהמערכת ההפעלה מוצגת בפני [[נשיא רוסיה לשעבר, דמיטרי מדבדב]]רבים ממבקרי מערכת ההפעלה ReactOS מאשרים כי מערכת ההפעלה היא בעלת קוד פתוח ומהווה פוטנציאל להחלפת מערכת ההפעלה חלונות.

באחד מטוריו של דוד שוגר במגזין התוכנה החופשית, ציין שוגר כי ReactOS מאפשרת כרגע הפעלה של תוכנות ממערכת ההפעלה חלונות (כל גרסה מחלונות 2000 ומטה). הוא אף ציין את הפוטנציאל הגלום ביצירת מערכת הפעלה אשר פועלת ונוצרת משימוש בקוד פתוח, וככזה אשר יכול להוות תחליף למערכת חלונות. כמו כן ציין שוגר כי הפרויקט מהווה מקור למפתחים אשר רוצים להכיר את מערכת ההפעלה חלונות, מבלי להשתמש בקוד של מיקרוסופט. אלכסיי ברגין, כיום מוביל הפרויקט, אף הציג לשוגר את מערכת ההפעלה על שלל יכולותיה, לרבות הפעלה של דפדפן פיירפוקס ותוכנת Total Commander. בנוסף מערכת ההפעלה הוצגה בספטמבר 2011 בפני נשיא רוסיה דמיטרי מדבדב, כחלק מפרויקט עידוד קוד פתוח שהתקיים ברוסיה. מדבדב אף אמר כי ישקול סיוע של ממשלת רוסיה לפיתוח הפרויקט.

ג'ון דבורק, כתב במגזין PC Magazine, מציין כי משום שארכיטקטורת ה-NT של מיקרוסופט דומה מאוד וכמעט שלא שונתה בשנים האחרונות יש ל-ReactOS את היכולות להוות חיקוי מלא למערכת ההפעלה חלונות. בנוסף הוא מאמין כי הפרויקט יכול להוות "איום גדול יותר מלינוקס כנגד שליטת מיקרוסופט". בתוך כך, אישר אלכסיי ברגין במגזין השבועי דר שפיגל כי הפרויקט שואף להוות תחליף למערכת ההפעלה חלונות בכך שיוכל להפעיל את כלל התוכנות אשר עובדות על גבי מערכת ההפעלה של מיקרוסופט, מבלי לשנות את חוויית המשתמש ומבלי לגרום למשתמש להחליף למערכת הפעלה של לינוקס.

אף על פי כן, ל-ReactOS יש בעיות אחדות שצריכות להיפתר. בתגובה לטורו של ג'ון דבורק, כתבה דנה בלקנהורן, כתבת טכנולוגיה של האתר ZDNet, שמחסור בתמיכה כלכלית וכוח אדם גורמים שהפרויקט לא יהווה כרגע סכנה משמעותית למיקרוסופט. עם הצהרה זו מסכים תום הולוארדה, כתב באתר OSNews, כי הפרויקט כרגע שייך למשפחת הפרויקטים אשר מפותחים כתחביב, ולא כעבודה במשרה מלאה.

== דרישות מערכת מינימליות ==

* מעבד תואם x86, למערכת פנטיום I ומעלה
* 64MB RAM (אופטימלי: 256MB)
* זיכרון דיסק קשיח של לפחות 450MB
* מחיצה מסוג FAT16/FAT32
* כרטיס גרפי מסוג VGA בעל זיכרון של 2MB
* כונן CD-ROM
* מקלדת ועכבר

== אפשרויות להרצת המערכת ==
כיום ניתן להריץ את ReactOS בכמה דרכים:
* על ידי הורדת קובץ תמונה (ISO Image) והתקנתו בתוכנת וירטואליזציה או במחשב פיזית
* הורדת קובץ תמונה (ISO Image) אשר מותאם אישית לתוכנת וירטואליזציה

== קישורים חיצוניים ==

* 

* [https://web.archive.org/web/20080416214257/http://www.sky.franken.de/explorer/index.html ReactOS explorer]
* [http://sourceforge.net/projects/reactos/ דף הפרויקט בSourceForge]

== הערות שוליים ==

קטגוריה:מערכות הפעלה
קטגוריה:Windows
קטגוריה:תוכנות שפותחו או הורחבו בקיץ הקוד של גוגל