Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ SerenityOS ΡΠΎΠΎΠ±ΡΠΈΠ»ΠΈ, ΡΡΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ web-Π±ΡΠ°ΡΠ·Π΅Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠ» ΡΠ΅ΡΡΡ Acid3, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ web-Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² Π½Π° ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ web-ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ². ΠΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΠΈΠ· Π½ΠΎΠ²ΡΡ ΠΎΡΠΊΡΡΡΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ², ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Acid3, SerenityOS Browser ΡΡΠ°Π» ΠΏΠ΅ΡΠ²ΡΠΌ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΠΈΠΌ ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ.
ΠΠ°Π±ΠΎΡ ΡΠ΅ΡΡΠΎΠ² Acid3 ΡΠΎΠ·Π΄Π°Π½ Π² 2008 Π³ΠΎΠ΄Ρ Π―Π½ΠΎΠΌ Π₯ΠΈΠΊΡΠΎΠ½ΠΎΠΌ (Ian Hickson), ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΎΡΠΎΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ HTML5 ΠΈ ΡΠΎΠ°Π²ΡΠΎΡΠΎΠΌ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ CSS. Acid3 Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ 100 ΡΠ΅ΡΡΠΎΠ², ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΡΠ½ΠΊΡΠΈΠΉ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΠ»ΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ΅ΡΡΠ°. Π’Π΅ΡΡΡ ΠΎΡ Π²Π°ΡΡΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ECMAScript, HTML 4.01, DOM Level 2, HTTP/1.1, SVG, XML ΠΈ Ρ.ΠΏ. Π 2011 Π³ΠΎΠ΄Ρ ΡΠ΅ΡΡΡ Π±ΡΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ, Π½ΠΎ ΠΈΠ·-Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ web-ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Chrome ΠΈ Firefox ΠΏΡΠΎΡ ΠΎΠ΄ΡΡ Π»ΠΈΡΡ 97 ΠΈΠ· 100 ΡΠ΅ΡΡΠΎΠ² Acid3.
SerenityOS Browser Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ C++ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ BSD. Π ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Π±ΡΠ°ΡΠ·Π΅ΡΠ½ΡΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ LibWeb ΠΈ JavaScript-ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ LibJS, Π²ΡΠ½Π΅ΡΠ΅Π½Π½ΡΠ΅ Π²ΠΎ Π²Π½Π΅ΡΠ½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΠΌΠ΅Π΅ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° WebAssembly. ΠΠ»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² HTTP ΠΈ HTTPS ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ LibHTTP ΠΈ LibTLS.
ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡ Serenity ΡΠ°Π·Π²ΠΈΠ²Π°Π΅Ρ Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ x86 ΠΈ x86_64, ΠΎΡΠ½Π°ΡΡΠ½Π½ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΠ΄ΡΠΎΠΌ ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ, ΠΎΡΠΎΡΠΌΠ»Π΅Π½Π½ΡΠΌ Π² ΡΡΠΈΠ»Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ° 1990-Ρ Π³ΠΎΠ΄ΠΎΠ². Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π²Π΅Π΄ΡΡΡΡ Ρ Π½ΡΠ»Ρ, ΡΠ°Π΄ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ° ΠΈ Π½Π΅ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΠΊΠΎΠ΄Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΠ‘. ΠΠ²ΡΠΎΡΡ ΠΏΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΠ±ΠΎΠΉ ΡΠ΅Π»Ρ Π΄ΠΎΠ²Π΅ΡΡΠΈ SerenityOS Π΄ΠΎ ΡΡΠΎΠ²Π½Ρ, ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄Π»Ρ ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ, ΡΠΎΡ ΡΠ°Π½ΠΈΠ² ΡΡΡΠ΅ΡΠΈΠΊΡ ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ° 90-Ρ , Π½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΠ² Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ ΠΈΠ΄Π΅ΡΠΌΠΈ Π΄Π»Ρ ΠΎΠΏΡΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈΠ· ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ.
Π ΡΠ΄ΡΠ΅ SerenityOS Π·Π°ΡΠ²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΠΊΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΠΊΠ°ΠΊ Π²ΡΡΠ΅ΡΠ½ΡΡΡΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°ΡΠ½ΠΎΡΡΡ, ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π·Π°ΡΠΈΡΡ (SMEP, SMAP, UMIP, NX, WP, TSD), ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡ, IPv4 ΡΡΠ΅ΠΊ, ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Ext2, POSIX-ΡΠΈΠ³Π½Π°Π»Ρ, mmap(), ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ELF, ΠΏΡΠ΅Π²Π΄ΠΎ-Π€Π‘ /proc, Unix-ΡΠΎΠΊΠ΅ΡΡ, ΠΏΡΠ΅Π²Π΄ΠΎΡΠ΅ΡΠΌΠΈΠ½Π°Π»Ρ, ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΡΠΉ ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ (WindowServer, TTYServer), ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π‘ΠΈ-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° (LibC), Π½Π°Π±ΠΎΡ ΡΠΈΠΏΠΎΠ²ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΡΠΈΠ»ΠΈΡ ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π±Π°Π·Π΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ GUI ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° (LibGUI, LibGfx, LibGL) ΠΈ Π½Π°Π±ΠΎΡΠ° Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ². Π Π½Π°Π±ΠΎΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²Ρ ΠΎΠ΄ΡΡ ΠΏΠΎΡΡΠΎΠ²ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ, ΡΡΠ΅Π΄Π° Π΄Π»Ρ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° HackStudio, ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, Π·Π²ΡΠΊΠΎΠ²ΠΎΠΉ cΠΈΠ½ΡΠ΅Π·Π°ΡΠΎΡ, ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ, Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ³Ρ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΡΡΠΈΡΡΠΎΠ², ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΌΡΠ»ΡΡΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡΡ, PDF-ΠΏΡΠΎΡΠΌΠΎΡΡΡΠΈΠΊ, Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ PixelPaint, ΠΌΡΠ·ΡΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°ΡΠ΅Π»Ρ, ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡ, Π²ΠΈΠ΄Π΅ΠΎΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°ΡΠ΅Π»Ρ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru