12 คะแนน โดย xguru 2021-10-12 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ระบบปฏิบัติการที่ให้ความรู้สึกเหมือนการผสาน UI ของ Windows/Mac ช่วงปลายยุค 1990 เข้ากับแกน *nix ช่วงปลายยุค 2000

  • เริ่มต้นเป็นโปรเจกต์ของคนคนเดียว และกำลังเติบโตด้วยการสนับสนุนจากชุมชนตลอด 3 ปีที่ผ่านมา

  • ตั้งแต่เคอร์เนลไปจนถึงเว็บเบราว์เซอร์/IDE ทั้งหมดถูก "พัฒนาขึ้นเองจากพื้นฐานโดยไม่ใช้ไลบรารีภายนอก"

  • ตัวระบบเองพัฒนาด้วย Serenity C++

→ รูปแบบหนึ่งของ C++ สมัยใหม่ที่มีไลบรารีมาตรฐานของตัวเอง

Repo : https://github.com/SerenityOS/serenity

  • ความสามารถของเคอร์เนล

→ เคอร์เนล x86(32bit) / x86_64(64bit) ที่รองรับ preemptive multithreading

→ สแตก IPv4 (ARP, TCP, UDP, ICMP)

→ ระบบไฟล์ ext2

→ รองรับ POSIX signal

→ รองรับระบบไฟล์ /proc

  • บริการของระบบ

→ Launch/session daemon (SystemServer)

→ Compositing window server (WindowServer)

→ Text console manager (TTYServer)

→ DNS client (LookupServer)

→ เซิร์ฟเวอร์สำหรับโปรโตคอลเครือข่าย (RequestServer and WebSocket)

→ sound daemon แบบ software-mixing (AudioServer)

→ การแจ้งเตือนบนเดสก์ท็อป (NotificationServer)

→ HTTP server (WebServer)

→ Telnet server (TelnetServer)

→ DHCP client (DHCPClient)

  • ไลบรารี

→ C++ templates and containers (AK)

→ Event loop and utilities (LibCore)

→ ไลบรารีกราฟิก 2D (LibGfx)

→ ไลบรารีที่เข้ากันได้กับ OpenGL 1.x (LibGL)

→ GUI toolkit (LibGUI)

→ ไลบรารีสื่อสารข้ามโปรเซส (LibIPC)

→ HTML/CSS engine (LibWeb)

→ JavaScript engine (LibJS)

→ Markdown (LibMarkdown)

→ Audio (LibAudio)

→ Digital Signal Processing/Synthesizer Chains (LibDSP)

→ ฐานข้อมูล PCI (LibPCIDB)

→ Terminal emulation (LibVT)

→ network protocol I/O แบบ out-of-process (LibProtocol)

→ ฟังก์ชันทางคณิตศาสตร์ (LibM)

→ การจัดการไฟล์ ELF (LibELF)

→ POSIX threading (LibPthread)

→ threading ระดับสูง (LibThreading)

→ Transport Layer Security (LibTLS)

→ HTTP and HTTPS (LibHTTP)

→ IMAP (LibIMAP)

  • ความสามารถของ userland

→ libc และ userland แบบ Unix-like

→ Shell ที่รองรับ pipes และ I/O redirection

→ ระบบช่วยเหลือออนไลน์ (มีทั้งแบบเทอร์มินัลและ GUI)

→ เว็บเบราว์เซอร์ (Browser)

→ C++ IDE (HackStudio)

→ เดสก์ท็อปซินธิไซเซอร์ (Piano)

→ โปรแกรมรับส่งอีเมล (Mail)

→ แอปเดสก์ท็อปและเกมหลากหลาย

→ ธีมสี

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

 
xguru 2021-10-12

ในบรรดา OS ที่ทำเป็นงานอดิเรก น่าจะเป็นตัวที่มีเอกลักษณ์ที่สุดแล้วครับ การที่ใส่ทั้งไลบรารีและแอปจำนวนมากขนาดนั้นเข้าไปได้ก็น่าทึ่งเหมือนกัน

โปรเจ็กต์นี้เริ่มต้นโดยผู้สร้างดั้งเดิม Andreas Kling ในปี 2018 หลังจากจบโปรแกรมบำบัดการติดยาระยะ 3 เดือน และมีเวลาส่วนตัวมากขึ้น จึงเริ่มทำขึ้นมาเพื่อใช้เวลาให้เป็นประโยชน์

ก่อนหน้านี้เขาเป็นนักพัฒนาที่ทำงานด้าน WebKit ที่ Apple และ Nokia ครับ ว่ากันว่าจากประสบการณ์ที่เคยทำงานที่ Apple ทำให้เขามุ่งเน้นการพัฒนาทุกอย่างด้วยตัวเองโดยไม่พึ่งแพ็กเกจภายนอก

ตั้งแต่เดือนพฤษภาคมปีนี้ เงินสนับสนุนก็มีมากพอแล้ว ทำให้ตอนนี้เขาพัฒนา SerenityOS แบบเต็มเวลาอยู่ครับ

ตอนนี้มีผู้สนับสนุนผ่าน GitHub Sponsors อยู่ 232 คน https://github.com/sponsors/awesomekling

ส่วน Patreon มี 279 คนครับ https://www.patreon.com/serenityos

ตอนนี้มีผู้ร่วมพัฒนามากกว่า 500 คนแล้ว และในช่อง YouTube ก็มีการอัปโหลดอัปเดต OS ทุกเดือนด้วย

https://youtube.com/playlist/?list=PLMOpZvQB55bfp6ykOLayLqLrjcpv_Sw3P

ช่วงต้นปี 2019 ความยาวอยู่ราว ๆ 10 นาที แต่ช่วงนี้อัปเดตยาวขึ้นเป็นประมาณ 30–40 นาทีแล้ว

อีกคลิปที่ดังมากคือวิดีโอที่พอร์ต Devilution ซึ่งเป็นการทำ reverse engineering ของ Diablo 1 ให้รันบน SerenityOS ได้ภายในเวลาเพียง 1 ชั่วโมง

https://github.com/diasurgical/devilution

https://www.youtube.com/watch?v=ZOzZ8R4gphE