GeneralThis forum is for non-technical general discussion which can include both Linux and non-Linux topics. Have fun!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Sounds like something interesting, though I don't see this being ever a feasable option only due to the fact of speed. Traditionally an os is always AFAIK coded in C/C++ from at least 20 years ago, though I am going to take part of my foot out of my mouth, because I am sure not all OSs back then were coded in C/C++, (assembly comes to mind) however it has become the dominant language, due to it's speed, because it is a high level language. I am not sure if Perl would be considered a high level language, I never worked in Perl, however I do know it is an interpreted language, and it could be worse, there could be an OS for a pc written completely in java, ...what a joke that would be. //thats my cheapshot against java for today...I don't like java.
Anyways, if this sort of thing intrigues you, google Menuet OS. An OS written completely in assembly. Now thats an impressive feat. Practical? No, but still cool.
As far as I can tell, Perlix just replaces the user space utilities and not the actual kernel. To write the kernel itself in Perl you would need to either embed the Perl interpreter in hardware (thus limiting the Perl kernel's portability to that hardware) or turn the Perl interpreter into the lowest level of kernel and then have the actual Perl code running on top of it, with special ports for privileged hardware access primitives that are not included in Perl because userland software can't do that. From a performance standpoint, the first idea might work if you got the hardware design right; the second idea would likely be a disaster. The good news is that at least Perl has references, but still memory management is going to be a bloody nightmare (you're going to have to do some sort of reimplementation of pointers in Perl using references -- I've never tried, but it sounds like a nightmare).
BTW, Jeebizz, I think someone actually did make a hardware JVM and then wrote the OS in Java. I don't think it got very for, fortunately for all of us .
Ugh, you want a Java OS?
Fire up the Bell ExpressVu satellite receiver, and witness it for yourself.
Frighteningly, Java-based operating systems are more propagated than you may think. Quite alot of small circuit-boards with micro-processors are slowly shifting away from assembly and BASIC, and towards Java (think cell phones, satellite TV receivers, set-top boxes, DSL modems, and on-and-on the list goes).
Java's still just a fad, and I'm waiting for it to crumble and fall, so I can be there to point and laugh.
Lisp is where most of my programming practices reside now.
And I would like to say that in the 80's (but they're almost impossible to find nowadays) they had "LispBoxes" computers, with a built in Lisp REPL (shell-like thing), and nothing else. Arguably, it was a Lisp OS.
As far as my logic goes, I'm certain ANY language can be used to create an operating system, you just need to know how, and be willing to spend the time to re-invent a couple of wheels in whatever language you're hellbent on writing in.
I didn't say I wanted an OS entirely of Java, and compared to C# I would much rather work under Java. As far as set-top devices such as satellite receivers and such moving towards java, the only reason I could see the point in doing something like that is java is much easier to code than assembly is. Also microprocessors these days have become fast enough to where a program coded in C/C++ vs. assembly might not have much speed differences, however I know for a fact that Java will just hinder things due to JVM. If producers of set top boxes want to move away from assembly, they should use C++ IMHO, but really I can't see them every completely getting rid of assembly, because of EPROM programming and such.
there are noticable(for me though) difference when running java app with newer version , like version _09 and _10 ... i donno whether its because of linux or because of java itself or something else ...
Lisp is where most of my programming practices reside now.
And I would like to say that in the 80's (but they're almost impossible to find nowadays) they had "LispBoxes" computers, with a built in Lisp REPL (shell-like thing), and nothing else. Arguably, it was a Lisp OS.
Arguably, emacs is a lisp os, heh.
If I wasn't such an old man, I'd probably like lisp better (yes, I know it was around in the 70's but I didn't use it). After so many years with C and assembler, I just can't wrap my mind around too much abstraction in a pl ... I'm too nuts-and-bolts (or maybe just nuts). Also there are too many paranethese in lisp, and it gives me a headache
I'll never argue against the power and utility of lisp, though, even if I can't seem to get used to it. Maybe I'll give cl another shot one of these days ...
Wandering away from the original question again!!!
Yes, there has been talk of a perl operating system for many years, and I mean YEARS! In the same way, we have been kept waiting for perl version 6 for years too - still not there yet, but one day...
Can it be done? If you can make an OS in C, then you must be able to make one in perl since perl itself is written in C. Would it be worthwhile? That's a more difficult question to answer.
if its for your own "amusement"(some say challenge) , like "i actually realize that i need to find something to do with that thing we call a pc on my desktop[the real one though]" ... then its definately worth it and its cost billions of bucks(this one for your own amusement though) , like rotating door-steps on your desktops(the virtual one) ...
but ... if its judging against finacial returns(the real-world one though) of all kinds , then ... i guess even a hawkering peddler on side streets could figure out himself/herself ...
As far as set-top devices such as satellite receivers and such moving towards java, the only reason I could see the point in doing something like that is java is much easier to code than assembly is. Also microprocessors these days have become fast enough to where a program coded in C/C++ vs. assembly might not have much speed differences, however I know for a fact that Java will just hinder things due to JVM.
Long ago I read about virtual machines in hardware the can execute the byte code. Don't know what happened with them.
Quote:
Originally Posted by Jeebizz
Also microprocessors these days have become fast enough to where a program coded in C/C++ vs. assembly might not have much speed differences
I don't think that that's due to the speed op processors, but due to the optimizations of compilers. There's hardly any difference between the code generated by a C compiler and the code of an experienced assembly programmer. I'm sure that the C-compiler generates better code than I ever will be able to do
Quote:
Originally Posted by Jeebizz
If producers of set top boxes want to move away from assembly, they should use C++ IMHO, but really I can't see them every completely getting rid of assembly, because of EPROM programming and such.
C/C++ compilation generates an executable which is a binary representation of assembly (opcodes instead of mnemonics). And that can be programmed into programmable devices (eproms etc). Even byte code can be programmed in there.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.