12 คะแนน โดย xguru 2021-10-12 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
<p>- ระบบปฏิบัติการที่ให้ความรู้สึกเหมือนการผสาน UI ของ Windows/Mac ช่วงปลายยุค 1990 เข้ากับแกน *nix ช่วงปลายยุค 2000 <br /> - เริ่มต้นเป็นโปรเจกต์ของคนคนเดียว และกำลังเติบโตด้วยการสนับสนุนจากชุมชนตลอด 3 ปีที่ผ่านมา <br /> - ตั้งแต่เคอร์เนลไปจนถึงเว็บเบราว์เซอร์/IDE ทั้งหมดถูก "พัฒนาขึ้นเองจากพื้นฐานโดยไม่ใช้ไลบรารีภายนอก"<br /> - ตัวระบบเองพัฒนาด้วย Serenity C++ <br /> → รูปแบบหนึ่งของ C++ สมัยใหม่ที่มีไลบรารีมาตรฐานของตัวเอง<br /> <br /> Repo : https://github.com/SerenityOS/serenity<br /> <br /> - ความสามารถของเคอร์เนล <br /> → เคอร์เนล x86(32bit) / x86_64(64bit) ที่รองรับ preemptive multithreading <br /> → สแตก IPv4 (ARP, TCP, UDP, ICMP)<br /> → ระบบไฟล์ ext2 <br /> → รองรับ POSIX signal <br /> → รองรับระบบไฟล์ /proc <br /> <br /> - บริการของระบบ <br /> → Launch/session daemon (SystemServer)<br /> → Compositing window server (WindowServer)<br /> → Text console manager (TTYServer)<br /> → DNS client (LookupServer)<br /> → เซิร์ฟเวอร์สำหรับโปรโตคอลเครือข่าย (RequestServer and WebSocket)<br /> → sound daemon แบบ software-mixing (AudioServer)<br /> → การแจ้งเตือนบนเดสก์ท็อป (NotificationServer)<br /> → HTTP server (WebServer)<br /> → Telnet server (TelnetServer)<br /> → DHCP client (DHCPClient)<br /> <br /> - ไลบรารี<br /> → C++ templates and containers (AK)<br /> → Event loop and utilities (LibCore)<br /> → ไลบรารีกราฟิก 2D (LibGfx)<br /> → ไลบรารีที่เข้ากันได้กับ OpenGL 1.x (LibGL)<br /> → GUI toolkit (LibGUI)<br /> → ไลบรารีสื่อสารข้ามโปรเซส (LibIPC)<br /> → HTML/CSS engine (LibWeb)<br /> → JavaScript engine (LibJS)<br /> → Markdown (LibMarkdown)<br /> → Audio (LibAudio)<br /> → Digital Signal Processing/Synthesizer Chains (LibDSP)<br /> → ฐานข้อมูล PCI (LibPCIDB)<br /> → Terminal emulation (LibVT)<br /> → network protocol I/O แบบ out-of-process (LibProtocol)<br /> → ฟังก์ชันทางคณิตศาสตร์ (LibM)<br /> → การจัดการไฟล์ ELF (LibELF)<br /> → POSIX threading (LibPthread)<br /> → threading ระดับสูง (LibThreading)<br /> → Transport Layer Security (LibTLS)<br /> → HTTP and HTTPS (LibHTTP)<br /> → IMAP (LibIMAP)<br /> <br /> - ความสามารถของ userland<br /> → libc และ userland แบบ Unix-like<br /> → Shell ที่รองรับ pipes และ I/O redirection<br /> → ระบบช่วยเหลือออนไลน์ (มีทั้งแบบเทอร์มินัลและ GUI)<br /> → เว็บเบราว์เซอร์ (Browser)<br /> → C++ IDE (HackStudio)<br /> → เดสก์ท็อปซินธิไซเซอร์ (Piano)<br /> → โปรแกรมรับส่งอีเมล (Mail)<br /> → แอปเดสก์ท็อปและเกมหลากหลาย<br /> → ธีมสี</p>

1 ความคิดเห็น

 
xguru 2021-10-12
<p>ในบรรดา OS ที่ทำเป็นงานอดิเรก น่าจะเป็นตัวที่มีเอกลักษณ์ที่สุดแล้วครับ การที่ใส่ทั้งไลบรารีและแอปจำนวนมากขนาดนั้นเข้าไปได้ก็น่าทึ่งเหมือนกัน<br /> โปรเจ็กต์นี้เริ่มต้นโดยผู้สร้างดั้งเดิม Andreas Kling ในปี 2018 หลังจากจบโปรแกรมบำบัดการติดยาระยะ 3 เดือน และมีเวลาส่วนตัวมากขึ้น จึงเริ่มทำขึ้นมาเพื่อใช้เวลาให้เป็นประโยชน์<br /> ก่อนหน้านี้เขาเป็นนักพัฒนาที่ทำงานด้าน WebKit ที่ Apple และ Nokia ครับ ว่ากันว่าจากประสบการณ์ที่เคยทำงานที่ Apple ทำให้เขามุ่งเน้นการพัฒนาทุกอย่างด้วยตัวเองโดยไม่พึ่งแพ็กเกจภายนอก <br /> <br /> ตั้งแต่เดือนพฤษภาคมปีนี้ เงินสนับสนุนก็มีมากพอแล้ว ทำให้ตอนนี้เขาพัฒนา SerenityOS แบบเต็มเวลาอยู่ครับ<br /> ตอนนี้มีผู้สนับสนุนผ่าน GitHub Sponsors อยู่ 232 คน https://github.com/sponsors/awesomekling<br /> ส่วน Patreon มี 279 คนครับ https://www.patreon.com/serenityos<br /> <br /> ตอนนี้มีผู้ร่วมพัฒนามากกว่า 500 คนแล้ว และในช่อง YouTube ก็มีการอัปโหลดอัปเดต OS ทุกเดือนด้วย <br /> https://youtube.com/playlist/… /> ช่วงต้นปี 2019 ความยาวอยู่ราว ๆ 10 นาที แต่ช่วงนี้อัปเดตยาวขึ้นเป็นประมาณ 30–40 นาทีแล้ว <br /> <br /> อีกคลิปที่ดังมากคือวิดีโอที่พอร์ต Devilution ซึ่งเป็นการทำ reverse engineering ของ Diablo 1 ให้รันบน SerenityOS ได้ภายในเวลาเพียง 1 ชั่วโมง<br /> https://github.com/diasurgical/devilution<br /> https://www.youtube.com/watch?v=ZOzZ8R4gphE</p>;