1 điểm bởi GN⁺ 2025-09-14 | 1 bình luận | Chia sẻ qua WhatsApp
  • SkiftOS là một hệ điều hành mã nguồn mở được thiết kế và phát triển từ đầu bằng ngôn ngữ C/C++
  • Được tạo ra để có thể chạy trên nhiều kiến trúc như ARM, x86, RISC-V
  • Có đặc điểm theo đuổi sự đơn giảnniềm vui khi sử dụng khác với các hệ điều hành chủ lưu
  • Phù hợp cho cả người mới bắt đầu lẫn lập trình viên trong việc thử nghiệm, học tập, nghiên cứu cấu trúc hệ điều hành và mục đích cá nhân
  • Toàn bộ mã nguồn có thể xem trên GitHub

Tầm quan trọng và điểm khác biệt của dự án

  • SkiftOS được một nhóm nhỏ phát triển với góc nhìn mới mẻ, khác với các bản phân phối lớn
  • Thiết kế dựa trên C/C++ giúp ích cho việc hiểu hệ thống mức thấp và học thuật toán
  • Hỗ trợ nhiều nền tảng phần cứng, mang lại khả năng thử nghiệm và mở rộng rộng rãi
  • Theo định hướng cộng đồng, bất kỳ ai cũng có thể đóng góp cho dự án hoặc gửi phản hồi

1 bình luận

 
GN⁺ 2025-09-14
Ý kiến Hacker News
  • Thật đáng kinh ngạc khi trong suốt 6 năm, một người không chỉ tạo ra một vi nhân được thiết kế cực kỳ tốt mà còn cả hệ thống build, bootloader UEFI, shell đồ họa, framework UI, và cả engine trình duyệt; điều này khiến tôi cảm thấy câu chuyện về lập trình viên 10x không phải là phóng đại mà còn đang bị đánh giá thấp hơn thực tế
    • Khác với các dự án tương tự, người này đạt được thành quả như vậy mà không cần “mặc khải từ thần thánh”, nên lại càng ấn tượng hơn
    • Hãy đọc nhật ký phát triển của SerenityOS, rất đáng xem: https://serenityos.org/
    • Thật sự quá đáng kinh ngạc và xuất sắc
  • Không ngờ dự án của tôi hôm nay lại lên trang chủ, hiện tại bản build đang bị hỏng nên chưa thể test toàn bộ OS, nhưng có thể chạy từng ứng dụng riêng lẻ trên Linux hoặc macOS; cách dùng là ./skift.sh run --release <app-name>, và có thể xem các ứng dụng khả dụng bằng lệnh ls ./src/apps
    • Trình duyệt (vaev-browser) cần một lệnh riêng (./skift.sh run --release vaev-browser -- <url-or-file>), stack HTTP hiện rất tối giản nên chỉ hỗ trợ http:// (không có HTTPS); nó chạy được với trang của tôi nhưng các trang khác thì kết quả có thể khác, vì phần lớn thời gian đến nay tôi tập trung vào styling và engine layout hơn là networking
    • Bạn có nhắc rằng “vi nhân của tôi chịu ảnh hưởng từ Zircon”; tôi tò mò không biết bạn có nghiên cứu các kiến trúc khác như sel4, Minix, openQNX không, và những lựa chọn thiết kế nào bạn xem là quan trọng trong thiết kế vi nhân; có tài liệu nào mô tả chi tiết hơn về điều này không, bạn có đo hiệu năng như benchmark chẳng hạn không, và hiệu năng của nó gần với vi nhân nào nhất?
    • Tôi rất ấn tượng khi bạn đã khám phá những hướng đi ngoài UNIX
    • Với những cái tên như Skift, Karm, Hjert, Opstart..., là một người Na Uy, tôi có cảm giác cách đặt tên hệ thống này đến từ tiếng Đan Mạch hoặc phong cách Đan Mạch
    • Tôi muốn nghe monax kể về quá trình bắt đầu dự án này; bản thân tôi cũng muốn làm một vi nhân để học những nền tảng cơ bản của OS nhưng không biết nên bắt đầu từ đâu, và ở bước đầu tiên thì nên tập trung vào điều gì
  • Mã nguồn được viết rất tốt, dễ hiểu và hiện đại; điều tôi tò mò là ứng dụng vừa được biên dịch đó hoạt động trên macOS bằng cách nào?
    • Framework có một lớp trừu tượng hóa OS và dùng SDL để tạo cửa sổ cũng như nhận input từ người dùng
  • Với một dự án như thế này, có lẽ chỉ cần CV dài đúng hai dòng (email, trang dự án) cũng có thể được rất nhiều nơi tuyển dụng
  • Tôi tự hỏi làm sao có thể tạo ra thứ như thế này trong giới hạn thời gian bình thường; với tư cách một lập trình viên bình thường làm việc 9-to-5, tôi cảm thấy rất khó để hoàn thành một dự án ở mức này
    • Thực ra là không thể; tôi thành thật mà nói rằng phần lớn code của mình được viết trong giai đoạn gần như không có đời sống xã hội
    • Tôi cũng tự hỏi y hệt như vậy
  • Thật sự đáng kinh ngạc khi bạn làm ra thứ này một mình; là một lập trình viên C/C++, tôi biết cách làm OS nhưng thường chỉ dừng ở ý tưởng, còn việc một mình viết được thành phẩm ở mức này thì đúng là không nói nên lời
    • Tôi có nhận được trợ giúp ở phần engine trình duyệt
  • Tôi tò mò về những ý tưởng bạn dùng ở khía cạnh bảo mật; ứng dụng có quyền truy cập hoàn toàn vào bộ nhớ hoặc phần cứng không, có hệ thống phân quyền nào không? Tôi hỏi vì chưa quen với vi nhân
    • Ứng dụng không thể truy cập hoàn toàn vào bộ nhớ hoặc phần cứng; kernel chỉ map những phần được cho phép, driver chạy trong userspace, và ứng dụng giao tiếp với driver thông qua capability (handle); chỉ khi được cấp quyền trước thì mới có thể truy cập
  • Trông thật tuyệt vời; tôi hỏi vì tò mò thôi, bạn đã dùng AI nhiều đến mức nào khi viết mã?
  • Dự án trông thật sự rất ngầu, và tôi rất khâm phục việc bạn còn tự viết cả engine trình duyệt; không biết có video demo nào không?
    • Sẽ rất tuyệt nếu có video demo
  • Có vẻ đã có một khối lượng công việc khổng lồ được đổ vào đây, và việc bạn tự làm một hệ thống build riêng thật đáng ngạc nhiên; nhìn tình hình các hệ thống build C++ hiện nay thì tôi cũng hiểu, nhưng tôi tò mò tại sao các nhà phát triển OS lại hay ám ảnh với việc làm trình duyệt, vì trình duyệt có vẻ không phụ thuộc nhiều vào OS; ngoài ra UI cũng rất đẹp
    • Tôi xem trình duyệt đơn giản là một runtime cho ứng dụng