8 ms·
For me, calling something an OS requires it to have it's own kernel ... maybe thats just me, but I think this is the 2nd project this month which has called its
by xmichael99 9y ago
For me, calling something an OS requires it to have it's own kernel ... maybe thats just me, but I think this is the 2nd project this month which has called itself an OS when in reality it is just a GUI.
- tyingq 9y agoLooks like it might evolve that way... "Could move to bare metal eventually but it's useful for now to run hosted while experimenting" And this: https://github.com/vygr/ChrysaLisp/blob/master/sys/kernel.vp https://github.com/vygr/ChrysaLisp/blob/master/sys/kernel.vp
- phoe-krk 9y agoIt already has a kernel, except it uses the host OS's system calls instead of its own drivers. Once you have a runnable OS that runs as a separate Unix process in its own address space, it is actually possible to port it over to bare metal by providing all the modules that the OS would normally provide: memory management, graphics, device management and HAL, keyboard/mouse input. See https://github.com/froggey/Mezzano https://github.com/froggey/Mezzano for something that can run on bare metal.
- mypalmike 9y ago> port it over to bare metal by providing all the modules that the OS would normally provide: memory management, graphics, device management and HAL, keyboard/mouse input. In other words, it can become an OS if you merely add to it the exact things that define an OS.
- pjmlp 9y agoThat is how we programmed in the 80's on home computers and it is the norm still in 2017 on many micro-controlers. The language runtime is the OS.
- mypalmike 9y agoI'm not interested in debating the definition of OS. If the textbooks are as wrong as you imply, I guess I'm wrong too.
- pjmlp 9y agoSo which textbooks do you want to start with? I pick "PC INTERN: system programming", 1992. https://www.amazon.de/PC-Intern-Programming-Encyclopedia-Developers/dp/1557551456 https://www.amazon.de/PC-Intern-Programming-Encyclopedia-Dev...
- mypalmike 9y agoA reference for MSDOS programming on a German amazon page... Am I missing the joke? Tanenbaum and Silberschatz both have excellent textbooks covering the fundamentals of Operating Systems. Neither book focuses much on "language runtimes".
- pjmlp 9y agoI live in Germany, do not always bother to check if the URL contains locale information. Anyone that actually programmed MS-DOS, knows that we used to program directly against the hardware for actual work. MS-DOS was nothing more than what is usually known as monitor in OS literature. Continuing the texts from people more relavant to the CS world than me, "An operating system is a collection of things that don't fit into a language. There shouldn't be one." - Dan Ingalls on https://archive.org/details/byte-magazine-1981-08 https://archive.org/details/byte-magazine-1981-08 https://www.cs.virginia.edu/~evans/cs655/readings/smalltalk.html https://www.cs.virginia.edu/~evans/cs655/readings/smalltalk.... "Building Parallel, Embedded, and Real-Time Applications with Ada" - John McCormick https://www.amazon.co.uk/Building-Parallel-Embedded-Real-Time-Applications/dp/0521197163/ref=sr_1_2?ie=UTF8&qid=1452524775&sr=8-2&keywords=John%20McCormick%20Ada https://www.amazon.co.uk/Building-Parallel-Embedded-Real-Tim... "Project Oberon: The Design Of An Operating System And Compiler" - Niklaus Wirth https://www.amazon.co.uk/Project-Oberon-Design-Operating-Compiler/dp/0201544288/ref=sr_1_1?s=books&ie=UTF8&qid=1507977358&sr=1-1&keywords=project+oberon https://www.amazon.co.uk/Project-Oberon-Design-Operating-Com... And not to let this just be theory, here are a few examples of commercial products using the language runtime to interface with the hardware. http://www.astrobe.com/default.htm http://www.astrobe.com/default.htm https://www.mikroe.com/products/#compilers-software https://www.mikroe.com/products/#compilers-software https://www.ptc.com/en/products/developer-tools https://www.ptc.com/en/products/developer-tools
- Santosh83 9y agoOperating systems manage IPC/resources and facilitate I/O. This one does the former but as yet depends on another underlying kernel for the latter. It's just a matter of writing the drivers/platform specific code and it can stand on its own. So not that much of a stretch to call it an OS, IMO.
- pjmlp 9y agoYep, for example MS-DOS programming using only BIOS calls.
- nickpsecurity 9y agoI agree. These things aren't OS's. They're platform emulators that run using the low-level plumbing of actual OS's. Going from that to bare metal has been hard enough for hobbyists that many barely got anything done on it or didn't try. We should only call them OS's when they run on bare metal or something like VirtualBox.
- disconnected 9y agoI think the discussion of what constitutes an OS is mostly academic. That said, to me, an operating system is basically any environment that allows me to run applications. Usually, that implies a kernel, since you can't do much without one, but in some circumstances, you might not have a "kernel" in the traditional sense. For example, LXC containers don't have their own kernel, but they provide an environment - binaries, libraries, etc - where I can run applications. I can rightly call that an OS, I think. Edit: clarity
- ZenoArrow 9y ago> "I think the discussion of what constitutes an OS is mostly academic." An operating system is the software used to interface hardware and applications. If you miss out on control of hardware it's not an OS. At most, solutions like unikernels are an edge case, but anything with less direct control over hardware than unikernels are not. If the term 'OS' is too loose it becomes meaningless.
- DSMan195276 9y agoI think it's worth noting the distinction between OS and kernel is a bit messy. I think that you could argue that this together with a kernel creates an OS (In the same way that Linux + GNU creates an OS). You don't have to write the kernel yourself to create an OS, just have a kernel. It is kinda false advertising though - it's like saying you wrote an "OS with CoreUtils" when you just wrote a set of CoreUtils. It's still really good, but not what people are thinking of when you that. That said, I agree with you that it kinda stinks this doesn't have its own kernel - it really is just a GUI without it. It surprises me that so many people are blowing it off as no big deal. Writing the kernel is not a simple detail, we're talking about a lot of functionality that is missing that takes a lot of work to get right.