8 ms·
DOS Subsystem for Linux
- nik5 5y agoWasn't DOSBOX already running on linux, I use it to play games, don't know if there is something that is missing.
- cyberge99 5y agoI think this does it the other way around. Now you can run Linux commands on your DOS server.
- scoopertrooper 5y agoFinally! I can't wait to try this on one of my many DOS servers.
- cyberge99 5y agoThat’s the joke. ;) Believe it or not they existed (somewhat).
- zeckalpha 5y agoAnd still do
- indigodaddy 5y agoOne of the first ECN trading platforms, Island ECN, written by Josh Levine, ran on DOS. So I guess you could definitely say that was a “DOS server.” He released the source code a few years ago: http://www.josh.com/notes/island-ecn-10th-birthday/ http://www.josh.com/notes/island-ecn-10th-birthday/ https://en.wikipedia.org/wiki/Island_ECN https://en.wikipedia.org/wiki/Island_ECN
- nik5 5y agoGot it, the name is confusing.
- throwawayboise 5y agoAlways thought WSL was named backwards. This also. "DOS Subsystem for Linux" sounds to me like something that runs a DOS environment in Linux. When it's actually the opposite.
- silisili 5y agoAbsolutely is. I think I remember reading the theory it was to do with MS naming it such that Windows came first, and Linux last, regardless how confusing.
- easton 5y agoI doubt it, considering UNIX services for Windows was a thing for a long time.
- paulryanrogers 5y agoWait wouldn't that have to be Windows subsystem for UNIX to be consistent with WSL?
- silisili 5y agoYou mean this? https://en.m.wikipedia.org/wiki/Windows_Services_for_UNIX https://en.m.wikipedia.org/wiki/Windows_Services_for_UNIX
- mycall 5y agoI always wondered if OpenNT (Softway Systems) and Xenix folks had some overlap.
- TylerE 5y agoI mean, yeah, it's weird, but it makes sense if the 2nd noun is anything that isn't an OS. Windows Subsystem for Audio, Windows Subsystem for Filesystems, etc
- 5y ago
- dmitrygr 5y agoThis is completely unnecessary and I love it! Very cute method to make it work too - boot Linux and resume dos in unreal mode!
- akkartik 5y agoOff topic but I accidentally touched marcodiego's user profile instead of the title. Amazing Easter egg.
- marcodiego 5y agoI'll take that as a compliment. Thanks!
- akkartik 5y agoYes it is. It feels like cosmic coincidence because I lost my father 2 weeks ago.
- marcodiego 5y agoSorry for your loss. Lost mine when I was 17, I know the feeling. Hope the "Easter egg" brings you some comfort. A long time ago, during a night I couldn't sleep, I started thinking on the simplest way to calculate the volume of a torus without resorting to integrals. After a time I found a way to "turn it into a cylinder without changing its volume". Then went to my father's copy of "Simmons' Calculus with analytic geometry" to check my idea. How surprised was me to see that my father had had EXACTLY the same idea and left it written on the margin of the book! That moment I saw how careful he was to model my way of thinking to be so similar to his. I'll be eternally grateful for that.
- akkartik 5y agoThank you for that lovely story!
- dmitryminkovsky 5y agoThank you for sharing.
- thaumasiotes 5y agoHmm. Thinking about it as an integral of cross sections, the torus is just a cylinder with height equal to the circumference of the circle that defines the center of its tube. And I see that that is correct, at least for non-weird tori. https://en.wikipedia.org/wiki/Torus https://en.wikipedia.org/wiki/Torus goes on to say this: > [For a non-weird torus,] The volume of this solid torus and the surface area of its torus are easily computed using Pappus's centroid theorem > These formulas are the same as for a cylinder of length 2πR and radius r, obtained from cutting the tube along the plane of a small circle, and unrolling it by straightening out (rectifying) the line running around the center of the tube. > The losses in surface area and volume on the inner side of the tube exactly cancel out the gains on the outer side. Emphasis mine; that third sentence is weirding me out. Still thinking about it as an integral of cross sections, I can't see why the surface area or volume of the inner half of the torus should be different from the surface area / volume of the outer half. Are they?
- imwillofficial 5y agoThis project is retarded and awesome all at once.
- a-dub 5y agofuse the future with the past, run desqview/x in the host dos machine and then run x clients in linux. no networking though. :/
- ksaj 5y agoCan it do cut/paste with the host OS? As long as it can do that, it might be workable.
- Subsentient 5y agoBoogers
- jslaby 5y agoJust because you can, doesn't mean you should.
- puppetmaster 5y agoThis reminds me of mini-linux, an early 90s Linux distribution that could run from DOS. http://ftp.lanet.lv/ftp/unix/mini-linux/minilin.txt http://ftp.lanet.lv/ftp/unix/mini-linux/minilin.txt
- eqvinox 5y agoThat's just using DOS as a weird Linux bootloader & filesystem. This one here actually runs them in parallel…
- dang 5y agoOne past thread: DOS Subsystem for Linux - https://news.ycombinator.com/item?id=24555689 https://news.ycombinator.com/item?id=24555689 - Sept 2020 (180 comments)
- skohan 5y agoAs far as the whole WSL topic, I wonder how this is going to play out long-term for MS. I understand why MS' hand was forced to streamline *nix development workflows on Windows in order to retain any relevance in modern software development, but what's the incentive to run windows at all if it's just a host environment for the OS where you get the real work done? I guess there's proprietary software, but for instance Proton is getting good enough that this might not be a major selling point for so much longer. For non-technical users, linux is a ways off from being a serious option as a daily driver. But as a developer, why on earth would I choose Windows over Linux in 2021?
- benno128 5y agoMy friends who use WSL have gone the other way. Instead of dual-booting Linux and Windows they now don’t see a need for Linux. Why use compatibility layers like Proton when you can just have Windows?
- skohan 5y agoIt's funny because most people I know have gone exactly the other way. Why use nosy and intrusive Windows when you can run all your games directly in Linux? What value is Windows adding here?
- pabs3 5y ago> What value is Windows adding here? Windows is mostly the default; if you buy a computer it comes with Windows, if your employer gives you a computer it comes with Windows and with some employers you aren't even allowed to replace the OS, so having compatibility with Linux (and Android?) is a plus for devs. Another advantage is that the drivers for Linux might not yet exist or be stable, while the proprietary Windows drivers probably exist and work.
- skohan 5y agoBeing the default isn't a strong argument if Windows is just a means to get to a linux dev environment. If all you are is a middleman, sooner or later people figure out they don't really need you.
- exikyut 5y agoThis has prompted some unexpected reflection. If I may, I have a somewhat orthogonal (tangentially related), slightly soapbox-y, philosophical question about the meaning of meaningfulness, which may not make any sense (recommendations for good sanitariums accepted). The GIF of this shows C:\>dsl Starting DOS subsystem for Linux, please wait... ok C:\>_ and this immediately got me headscratching about the mechanics of how this was done. My first serious consideration (after noticing the Building section and hastily discarding notions of "remote/out-of-band terminal I/O...?") was that it was somehow boxing Linux up into a TSR and then somehow running that in the background. Coool. But no; the custom init.c uses virtual 8086 (vm86) mode to call back into DOS, trapping on a specific interrupt to enable DOS<->Linux communication. The launcher loads Linux into memory and jumps into it just like a bootloader would, then the init program maps the first 1MB of RAM (to cover all 640K of conventional memory) and hands the whole DOS address space area to vm86(2) to continue within DOS where everything left off. So, this isn't a TSR in the literal sense (it doesn't exit using INT 27h, "Terminate and stay resident"), nor in the figurative sense, wherein the program encapsulates Linux and then returns to DOS (which certain interpretations of the program output might suggest) in the same way exiting Netware or Windows 9x ("reboot in DOS mode", in certain circumstances) would. (But there are some interesting "it quacks like a duck" arguments in there, I can't deny that.) The actual situation is basically the reverse of my first impression - this isn't a TSR that runs Linux, it's a DOS program that launches Linux that then continues DOS using v86. I've read how mainframes perform similar insanity, like where the kernel will initialize a VMM and then promote the bootloader/boot-up code into a task/process during startup. By some measures, this madness is arguably more awesome than a TSR. Now, my question, which is squishy, and which I don't know how to articulate well (read: more concisely). Being able to run Linux in a TSR - cooool - leaps out at me as a captivating ball of interestingness that stands well above all the "oh yeah that would be kind of neat to look at one day... after I count to infinity twice" intrinsically non-interesting, passive armchair thoughts I'll forget within seconds of thinking of them. But I'd probably be able to keep coming back to an idea like "Linux in TSR" for many months before giving up. Flip the whole thing around, though ("start Linux and then resume DOS in emulation"), and poof, the interestingness is all gone. I think this is not because I consider the idea fundamentally less cool (or worse, think it's outright silly or stupid!), but due to the opposite physiological reaction. I discovered https://www.teamten.com/lawrence/writings/norris-numbers.html https://www.teamten.com/lawrence/writings/norris-numbers.htm... yesterday. It was a really cool read, describing how programmers hit walls in terms of how much code they can write (and presumably then continue to reason about) before everything devolves into madness. I think I've been dealing with an almost identical type of wall for some time, which I'm not sure how to scale. Learning and experience seem to basically be ways to build neurological surface area (or, room to store irreducible complexity) that allow us to stuff more and more stuff into our creative problem-solving/reward loops ("productivity: finding happiness, just with ever more (and more...) steps!"). As this develops, and as we associatively fold doing more things into our reward loops, it seems that the habit-forming parts of the brain coordinate subconsciously with the parts of our executive function that internalize the core intrinsics of whatever we're learning about, and we just find ourselves especially drawn to things that will further deepen and specialize our understanding. And sometimes, we find areas are so interesting that the persistence is just there to keep at certain things even when they're hard. And that persistence... is our worldview, or focal point, of "what I'm doing right now". It's our baseline watermark, or threshold, of keeping on. But this process seems to have a hair-trigger limit. Push the whole thing even a tiny bit too hard, and it loudly cracks, sparks fly and springs and gears go everywhere. I think the inspiration associated with restriction and limitation is strongly related to this. It seems that the most fun projects are those that exceed an individual's (socially?) measured accomplishment by a significant amount, but fit well within the complexity scale of the untapped feedback-loop surface area. Which leads me to my current existential juxtaposition. The systemic incoherence that accompanies ADHD, autism and depression (or any combination thereof), and the subsequent conscious "driving" of the brain (and veering all over the metaphorical road, without access to the feedback loops available to the subconscious), exacerbates this situation; without the machinery to maintain relaxed focus without losing disorientation, I constantly consciously course-correct - but these systems do not like to be "driven", they only function correctly when they can lead, and when there is harmony. It also seems very difficult (at the very least) to consciously drive the machinery/focus that builds raw mental capacity; I wonder if this construction process is subconscious by design, while the usage or resolution process of achievement, that chases the delta between untapped potential and achievement, is conscious by design. If so, yay. Without the cohesion of subconscious-first leadership, building and maintaining this delta between capacity and interest is a game of second-guessing how my brain works, which I'm not winning at, and so the level of fundamental interest I have in the sorts of things I do want to master lags behind my logical interest levels. To complete my question, I look at projects like this, and I perceive their complexity scales like a person standing within a tiny fenced-in square and saying "I am outside the fence". If the person were defined to be inside the tiny square, that would represent a small amount of problem-solving complexity that might even be described as "cute" (see also: every well-executed minimalist software project ever). But with the definitions flipped around, the complexity quotient might as well be practically infinite, because it falls outside of the incredibly narrow window of surface area I have available, which I don't know how to build upon and expand, and so the interest just vaporizes. Thus, this project is too cool to be fundamentally interesting to me! :( (And yes, this is a meta-explanation; the "Linux in DOS vs DOS in Linux" pathway was what got me thinking about all this, and then gave me the mental framework to follow the ideas well enough to write them down.) So, to anyone out there that this makes sense to, who has maybe figured out how to, well, https://twitter.com/Davidson_03/status/846740485200891909 https://twitter.com/Davidson_03/status/846740485200891909... ...I'm stuck. My brain thinks that logical awesomeness should directly translate to follow-through and persistence. I logically know it doesn't work that way (something something effort). But there's a short-circuit somewhere (kinda like the example of the monkey who had its fingers bound together for a few months, then couldn't move them independently - except instead of fusing, I'm dealing with something that never spliced apart), and the step(s) that are supposed to go in the middle are missing. Wat do, if you by any chance know? This was a weird ramble, and if you got to the end of it, thanks very much for taking the time.
- fuzzfactor 5y agoLooks like it's basically adding a Linux featureset to the bootable DOS command prompt. Since you're already expected to have DOS to begin with, wouldn't it be simpler if there was just a single Linux folder to place on your C: volume and enable it using the native DOS command line once DOS has been booted, or automatically using AUTOEXEC.BAT?