InitWare is a portable init system inspired by systemd, designed to function across multiple operating systems, including Linux, FreeBSD, NetBSD, and OpenBSD. It aims to provide a familiar systemd-like experience and API on these platforms while remaining lightweight and configurable. The project utilizes a combination of C and POSIX sh for portability and reimplements core systemd functionalities like service management, device management, and login management. InitWare seeks to offer a viable alternative to traditional init systems on BSDs and a more streamlined and potentially faster option compared to full systemd on Linux.
The seL4 microkernel is a highly secure and reliable operating system foundation, formally verified to guarantee functional correctness and security properties. This verification proves that the implementation adheres to its specification, encompassing properties like data integrity and control-flow integrity. Designed for high-performance and real-time embedded systems, seL4's small size and minimal interface facilitate formal analysis and predictable resource usage. Its strong isolation mechanisms enable the construction of robust systems where different components with varying levels of trust can coexist securely, preventing failures in one component from affecting others. The kernel's open-source nature and liberal licensing promote transparency and wider adoption, fostering further research and development in secure systems.
Hacker News users discussed the seL4 microkernel, focusing on its formal verification and practical applications. Some questioned the real-world impact of the verification, highlighting the potential for vulnerabilities outside the kernel's scope, such as in device drivers or user-space applications. Others praised the project's rigor and considered it a significant achievement in system software. Several comments mentioned the challenges of using microkernels effectively, including the performance overhead of inter-process communication (IPC). Some users also pointed out the limited adoption of microkernels in general, despite their theoretical advantages. There was also interest in seL4's use in specific applications like autonomous vehicles and aerospace.
Andrew Tanenbaum, creator of MINIX, argued in 1992 that Linux, being a monolithic kernel, represented an outdated design compared to the microkernel approach of MINIX. He believed that microkernels, with their modularity and message-passing architecture, offered superior portability, maintainability, and reliability, especially as technology moved towards distributed systems and multicore processors. Tanenbaum predicted that Linux, tied to the aging Intel 386 architecture, would soon become obsolete and fade away as more advanced hardware and software paradigms emerged. He emphasized the conceptual superiority of MINIX's design, portraying Linux as a step backwards in operating system development.
HN commenters largely dismiss the linked 1992 post arguing for Minix over Linux. Many point out that the author's predictions about Linux's limitations due to its monolithic kernel and lack of microkernel structure were inaccurate, given Linux's widespread success and ongoing development. Some acknowledge that microkernels have certain advantages, but suggest that Linux's approach has proven more practical and adaptable. A few commenters find the historical perspective interesting, noting how the computing landscape has changed significantly since 1992, rendering the arguments largely irrelevant in the modern context. One commenter sarcastically celebrates Tanenbaum's foresight.
The blog post argues for a standardized, cross-platform OS API specifically designed for timers. Existing timer mechanisms, like POSIX's timerfd
and Windows' CreateWaitableTimer
, while useful, differ significantly across operating systems, complicating cross-platform development. The author proposes a new API with a consistent interface that abstracts away these platform-specific details. This ideal API would allow developers to create, arm, and disarm timers, specifying absolute or relative deadlines with optional periodic behavior, all while handling potential issues like early wake-ups gracefully. This would simplify codebases and improve portability for applications relying on precise timing across different operating systems.
The Hacker News comments discuss the complexities of cross-platform timer APIs, largely agreeing with the article's premise. Several commenters highlight the difficulties introduced by different operating systems' power management features, impacting timer accuracy and reliability. Specific challenges like signal coalescing and the lack of a unified interface for monotonic timers are mentioned. Some propose workarounds like busy-waiting for short durations or using platform-specific code for optimal performance. The need for a standardized API is reiterated, with suggestions for what such an API should offer, including considerations for power efficiency and different timer resolutions. One commenter points to the challenges of abstracting away hardware differences completely, suggesting the ideal solution may involve a combination of OS-level improvements and application-specific strategies.
Snowdrop OS is a hobby operating system written entirely in assembly language for x86-64 processors. The project aims to be a minimal, educational platform showcasing fundamental OS concepts. Currently, it supports booting into 32-bit protected mode, basic memory management with paging, printing to the screen, and keyboard input. The author's goal is to progressively implement more advanced features like multitasking, a filesystem, and eventually user mode, while keeping the code clean and understandable.
HN commenters express admiration for the author's dedication and technical achievement in creating an OS from scratch in assembly. Several discuss the challenges and steep learning curve involved in such a project, with some sharing their own experiences with OS development. Some question the practical applications of the OS, given its limited functionality, while others see value in it as a learning exercise. The use of assembly language is a significant point of discussion, with some praising the low-level control it provides and others suggesting higher-level languages would be more efficient for development. The minimalist nature of the OS and its focus on core functionalities are also highlighted. A few commenters offer suggestions for improvements, such as implementing a simple filesystem or exploring different architectures. Overall, the comments reflect a mix of appreciation for the technical feat, curiosity about its purpose, and discussion of the trade-offs involved in such a project.
Summary of Comments ( 11 )
https://news.ycombinator.com/item?id=43568503
Hacker News users discussed InitWare, a portable systemd fork, with a mix of skepticism and curiosity. Some questioned the value proposition, given the maturity and ubiquity of systemd, wondering if the project addressed a real need or was a solution in search of a problem. Others expressed concerns about maintaining compatibility across different operating systems and the potential for fragmentation. However, some commenters were intrigued by the possibility of a more lightweight and portable init system, particularly for embedded systems or specialized use cases where systemd might be overkill. Several users also inquired about specific technical details, like the handling of cgroups and service management, demonstrating a genuine interest in the project's approach. The overall sentiment leaned towards cautious observation, with many waiting to see if InitWare could carve out a niche or offer tangible benefits over existing solutions.
The Hacker News post discussing InitWare, a portable systemd fork running on BSDs and Linux, has generated a number of comments, primarily focusing on the motivations behind the project and its potential implications.
Several commenters express skepticism about the value proposition of InitWare. They question the need for another init system, especially one derived from systemd, given the existing options and the controversies surrounding systemd's design philosophy. Some argue that the resources invested in InitWare could be better directed towards improving existing init systems or addressing other needs within the BSD ecosystem. The complexity of systemd is also raised as a concern, with some suggesting that a simpler init system would be more suitable for BSDs.
A recurring theme is the perception of systemd as overly complex and monolithic. Commenters express concern about replicating these perceived flaws in a new project. They suggest that a more modular approach, focusing on interoperability and leveraging existing BSD tools, would be a better strategy.
Some commenters discuss the technical challenges involved in porting systemd to different operating systems, highlighting the potential for inconsistencies and unexpected behavior. They also raise concerns about the long-term maintenance burden of such a project.
There's a discussion about the licensing implications of forking systemd, given its LGPL license. Commenters clarify the requirements of the LGPL and how they apply to InitWare.
A few commenters express interest in the project, appreciating the effort to bring systemd's features to other platforms. They suggest potential use cases and benefits, such as improved containerization support. However, even those expressing interest also voice reservations about the project's overall direction and potential drawbacks.
One commenter questions the naming of the project, suggesting that it might be confused with existing software.
The overall sentiment appears to be predominantly cautious and skeptical, with many commenters expressing concerns about the project's goals and feasibility. While there's some interest in the technical aspects of the porting effort, the majority of comments question the necessity and wisdom of recreating systemd on other operating systems.