Paul Krill
Editor at Large

Visual Studio toolkit will build bootable apps

news
Dec 1, 20162 mins

Open source Cosmos, due next year, reduces hardware dependencies for C#, F#, and Visual Basic

cowboy boots
Credit: skeeze

The Cosmos open source OS “construction kit” is looking to create fast, small-footprint applications that are less dependent on hardware. In development since 2006, the kit is not yet ready for production work, though, as the 1.0 version isn’t due until next year.

Cosmos executes code faster because it doesn’t have the overhead of switching tasks at the CPU level. “It’s actually a set of Legos for building OSes using .Net,” said project co-founder Chad Hower, a former Microsoft developer evangelist

Developers can use Cosmos with Visual Studio to write a program and boot it directly as an OS. In the future, Cosmos will enable developers to write their own miniature or, eventually, even full OSes.

Built leveraging C# and the X# home-brewed language, Cosmos stands for C# Open Source Managed OS. But it’s not an operating system itself and isn’t limited to using just C#; other managed languages such as Visual Basic .Net or F# also can be used. Cosmos is not an in-house Microsoft project.

In a video on the MSDN blog, Hower explained that existing OSes rely on the Intel architecture and have legacy capabilities for functions like running older executables. With Cosmos, developers wanted to see what concepts they could change; Cosmos uses software instead of hardware, moving hardware protections into software via managed code.

With a traditional Windows or Linux application, every process gets loaded into a hardware-protected space, requiring overhead on the CPU. Cosmos doesn’t use virtual memory in a traditional sense, and it doesn’t use hardware protections or user and ring levels in CPUs to control those capabilities. Instead, “that’s all enforced by the Cosmos kernel itself,” Hower said. The Cosmos compiler and execution model enables duplication of normal memory protection functions in the OS itself in a more efficient manner, and Cosmos makes it easier to share objects as well.

Cosmos is available as a user kit for developing OSes and a development kit, with full source and build tools. The project needs developers who can work on low-level, foundational capabilities like memory management or threads.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author