- systemd là một bộ ứng dụng tích hợp liên quan đến quản lý hệ thống, thay thế tiến trình init truyền thống và bao gồm nhiều chức năng như quản lý phiên người dùng, quản lý thiết bị, ghi log, hẹn giờ, v.v.
- Phần lớn người dùng Linux không quan tâm đến ưu và nhược điểm của systemd, nhưng một số người lại phản đối hoặc ủng hộ rất mạnh mẽ
- Các bản phân phối Linux chủ lưu đã áp dụng systemd, chủ yếu vì những lợi ích của nó trong môi trường desktop thông thường
Vấn đề trong Linux nhúng
- Trong hệ thống nhúng, những ưu điểm của systemd lại có thể trở thành nhược điểm
- Lấy mức sử dụng bộ nhớ trên Raspberry Pi 3B làm ví dụ, systemd tiêu tốn nhiều tài nguyên hơn SystemV init
- Các daemon ghi log của systemd như systemd-journald cũng sử dụng nhiều tài nguyên
- Môi trường nhúng cần những giải pháp thay thế nhỏ gọn hơn, và systemd không được tối ưu cho các môi trường như vậy
Độ phức tạp của systemd và thời gian khởi động
- systemd có thể giúp giảm thời gian khởi động, nhưng trong hệ thống nhúng, nó lại có thể làm tăng thời gian khởi động.
- Độ phức tạp và các tính năng của systemd là cần thiết trong môi trường thông thường, nhưng trong môi trường nhúng thì nhiều khi không cần thiết.
Sự thiếu vắng các giải pháp thay thế
- Nhiều dịch vụ mà systemd thay thế trong môi trường nhúng vốn có các giải pháp thay thế nhỏ hơn và nhanh hơn, nhưng với một số thành phần thì nay hầu như không còn lựa chọn thay thế
- Ví dụ, daemon udev đã được tích hợp vào dự án systemd, và gần như không còn giải pháp độc lập nào
Sự lan rộng của systemd và sự suy giảm của các lựa chọn thay thế
- systemd bao gồm rất nhiều chức năng và mang lại sự tiện lợi cho các nhà quản lý bản phân phối.
- Khi systemd ngày càng hấp thụ nhiều chức năng hơn, động lực để duy trì các giải pháp thay thế cũng đang giảm đi.
- Điều này có thể gây ra vấn đề khi systemd không phù hợp với môi trường nhúng.
Kết luận
- systemd trong môi trường nhúng có thể kém hiệu quả hơn các giải pháp truyền thống.
- Việc tìm được một bản phân phối Linux chủ lưu không dùng systemd ngày càng trở nên khó khăn.
- Sự lan rộng của systemd đang đẩy Linux đến một tương lai khó có thể hình dung nếu thiếu systemd.
- Cần sẵn sàng phát triển hoặc duy trì các giải pháp thay thế, đồng thời tiếp tục hỗ trợ các bản phân phối không sử dụng systemd
4 bình luận
Đâu chỉ riêng systemd là như vậy…
initcủa busybox là một lựa chọn thay thế rất tốt chosystemddành cho thiết bị nhúng.Và với một hệ thống bị giới hạn như thiết bị nhúng, thay vì nhất thiết phải dùng
udev, bạn chỉ cần đưa các device node cố định vào root filesystem là được.Trường hợp của tôi đúng là ngoại lệ trong số những ngoại lệ, nhưng với một người như tôi cài Ubuntu lên Galaxy Tab rồi cài VS Code trên đó để dùng thì cũng có không ít lúc chỉ muốn khóc vì systemd..
Ý kiến Hacker News
systemdgiải quyết được nhiều vấn đề, và cộng đồng cũng phản hồi rất nhanh và hữu íchOpenEmbedded/Yocto, Devuan, Gentoo cung cấp nhiều hệ thống init
Rustysd là một trình quản lý dịch vụ mô phỏng một phần cách hoạt động của
systemdsystemdtrên nhiều nền tảng khác nhauNhững người ưa chuộng
systemdchủ yếu là các quản trị viên bản phân phốisystemdcung cấp nhiều tiện ích hệ thống khác nhau trong một bản build lớn duy nhấtTriết lý Unix là các công cụ nhỏ giải quyết từng vấn đề
systemdban đầu còn nhỏ, nhưng giờ thì thậm chí có thể hội nghị truyền hình qua nền webrunitrất xuất sắc trong việc giám sát ứng dụng và dịch vụCó thể chạy hệ thống nhúng mà không cần
udevRPi biến form factor của bo mạch điều khiển công nghiệp thành máy tính để bàn
Chimera Linux đang đi theo một hướng thú vị trong quản lý dịch vụ và quản lý đăng nhập/ghế ngồi
systemdsử dụng các phần mở rộng của gnulibc và gcc là một vấn đềKích thước cài đặt của
systemdlà vấn đề lớn nhất trong Linux nhúngsystemd5M là không hiệu quảsystemdtrở thành vấn đề trên Linux nhúng vì dùng 250MB RAMSysVInit phụ thuộc vào các tiện ích bên ngoài để khởi động và dừng tiến trình