7 ms·
Cosmos is an operating system “construction kit”
- joe_the_user 8y agoThe reason to have a "construction kit" for a given thing is that you are constructing a thing involving a huge amount of choices. A programming language, an operating system and a database management system are all examples of complex, high level things involving such plethora of choices. Programming languages have a variety of construction kits of various sorts, from Bison and Yacc to regular compilers and so-forth. I hadn't heard of any equivalent kit for OSes or database system. Unfortunately, what's described gives the impression of producing a rudimentary system based on a few canned choices. I mean, fully producing an OS would involves generating calling conventions, device driver conventions, process convention, memory allocation methods, etc. (I'm far from an expert on this btw). Sure, you can say "but all that's just done for you". It probably is done for you ... one particular way. But as far I know, the reason to produce a new OS is because you have some opinion how this stuff should work, usually because you're actually producing an OS to be use by some device and that device some needs and weirdness that needs to be taken into account. Edit: Oh wait, just remembered, people are now creating "OSes" that are just app-containers intended to run AWS. If that's what you need, maybe this works.
- slimsag 8y agoI think you have conflated the idea of an OS and kernel. A kernel generally handles calling conventions, device driver conventions, process conventions, memory allocation methods, etc. An OS just uses a kernel which has already decided on those conventions.
- p1necone 8y agoI have always thought of the kernel as being part of the OS, but maybe I'm wrong?
- sandov 8y agoSome people think the kernel is the OS, some people think of the kernel as part of the OS, and apparently slimsag thinks of the kernel as something different than the OS. They're just different naming conventions.
- DSMan195276 8y agoPersonally I would argue the term "OS" is simply not that well defined, and the readme makes no attempt to clear that up which I think leads to confusion. What actually defines an OS vs. not an OS is a pretty blurry line, and more-over when someone talks about "OS development" 99.9% of the time they're talking about kernel development. So naturally calling something an "operating system kit" that lets you "create operating systems" makes you think of kernel development. That said, I read the whole readme linked here, and not once does it actually explain what an 'operating system' is, so I personally think that's just a failure on their part in picking a name and explaining what exactly the intended use of their project is. If instead of using the term "operating system kit" they used the term "baremetal/kernel application SDK" (or something along those lines) I don't think anybody would be nearly as confused on what it is. But I'm not entirely sure that's a good name either because I'm really just not sure what you're supposed to use it for. I read the whole readme, but I'm still at a bit of a loss. Don't get me wrong though, I still think it's a cool project, but mostly just for the code making up the 'Cosmos' kernel rather then the 'develop your own OS' aspect.
- Razengan 8y ago> Personally I would argue the term "OS" is simply not that well defined An “operating system” is a combination of what the user sees, what developers see, and what devices see, I'd say. If one wants to refer to the GUI, CLI, API, SDK, DDK or the kernel individually, just use those terms. :)
- seanmcdirmid 8y agoOSKit developed in the University of Utah systems group was a...OS kit back in the mid-late 90s, I don’t think they were the first ones (would ya e to go back through some old OSDI/SOSP papers to be sure though). See http://www.cs.utah.edu/flux/oskit/ http://www.cs.utah.edu/flux/oskit/.
- joe_the_user 8y agoLooks closer to what I'd imagine.
- shaded-enmity 8y agoCheck out Genode: https://genode.org/about/index https://genode.org/about/index
- naasking 8y agoOther people have mentioned OSKit, but back in the day I also used oslib [1] to create a microkernel for my final engineering project. [1] http://oslib.sourceforge.net/ http://oslib.sourceforge.net/
- pritambaral 8y agoBit of a shame an "operating system construction kit" cannot be developed without using Windows.
- eropple 8y agoThese sorts of comments are kind of rude. Nobody's saying it can't be developed without Windows; nothing's stopping you from building your own.
- deleted 8y ago[deleted]
- pritambaral 8y ago> Nobody's saying it can't be developed without Windows The first sentence of the link: "Cosmos (C# Open Source Managed Operating System) is an operating system development kit which uses Visual Studio as its development environment." At another point in the article: "Cosmos lets you create operating systems just as Visual Studio and C# normally let you create applications. Most users can write and boot their own operating system in just a few minutes, all using Visual Studio. Since milestone 5, Cosmos includes an integrated project type in Visual Studio and an integrated debugger. You can debug your operating system directly from Visual Studio using breakpoints." And that's fine. Visual Studio is, as I've heard, an excellent IDE. But Visual Studio is indeed a Windows-only thing, for the foreseeable future. In addition, elsewhere in the article it is mentioned about this project that the developers "want to make developing operating system as easy as developing Windows applications". That is clearly a bias towards the way of developing on Windows only. And again, that's fine too. But all this also agrees with my statement that it "cannot be developed without using Windows" in a practical sense. Sure, I could build my own, as you say, but that would be in conflict with the way the project's developers want it to work.
- rgovostes 8y agoThe project might be configured to build with Visual Studio but there are other C# compilers available. And Visual Studio is available for macOS in addition to Windows. https://www.visualstudio.com/vs/mac/ https://www.visualstudio.com/vs/mac/
- jonathanmarcus 8y agohttps://cosmos.network/ https://cosmos.network/ The Internet of Blockchains called; they'd like their name back.
- benjojo12 8y agoThis project has been going for over 10 years now.
- jonathanmarcus 8y agoMy apologies.
- jaekwon 8y agoThanks for the support! :) I've made a submission for the Cosmos-SDK for disambiguation.
- Hydraulix989 8y agoDid COSMOS initially not use Mono? I seem to remember a toy OS kernel named either Cosmo or COSMOS on OSdever that was written in x86 ASM and C and had a shell, multitasking, paging memory manager, and a loader with RING0 and RING3 processes. This would have been ~2005-2006 ish. Was this it?
- sam0x17 8y agoI've been watching Cosmos development since that time period and I think this is the same one you are thinking of. I swear ten years ago the TODO list was the same for this project.
- Hydraulix989 8y agoI am amazed they stuck with it for so long then and how far it came along. I used them as a reference for my own homebrew x86 kernel back in the day.
- warpDriverWIN64 8y agoVisual Basic? C# and the .net runtime? Please, no...
- Jaruzel 8y ago"Operating System Legos" Ouch. Please change that to "Operating System LEGO" which is more correct. Ref: https://twitter.com/LEGO_Group/status/502086477652959232 https://twitter.com/LEGO_Group/status/502086477652959232
- Vendan 8y agoThey can try all they want, but legos are pretty close to hitting "genericized trademark" status like bandaids and kleenex.
- danpalmer 8y agoOnly in the US. Call it “legos” anywhere else and you get funny looks.
- IshKebab 8y agoI think he means more about the pluralistic than capitalisation. Outside the US (and officially) it is a mass noun so the plural of lego is lego. "Legos" sounds as grating as "sheeps".
- gpvos 8y agoI'm not quite sure about English, but in Dutch, for single lego pieces we use the equivalent of "lego piece", or just "piece" when the context is clear, which pluralizes normally. If you say "I'm going to play with lego", the word "lego" is used in a more general, abstract sense, which has no plural at all.