Page 3 of 4
Posted: Wed Apr 11, 2007 8:08 pm
by mystran
anon19287473 wrote:Property is theft... in capitalism it is possible for someone to make money simply by manipulating their resources and not contributing anything.
I actually can perfectly well understand why somebody would have that opinion (in fact, I know quite a few people that do). Since we're offtopic I won't go into the details of why I happen to disagree.
Posted: Wed Apr 11, 2007 8:31 pm
by stevenup7002
I'm really enjoying reading all these replies about their first os experience. All of the OSes seem to be communist, so why not just make a capatilist OS instead?
Posted: Wed Apr 11, 2007 8:39 pm
by mystran
Alboin wrote:Property is theft?
The origin of such an idea, I believe, is with the idea that everybody should be equal. The problem then, if you start with equality, is that if somebody does a good job (in whatever sense) and hence earns more, those that didn't manage so well are no longer equal.
There are only two ways out of this then:
(1) you accept that equality is a nice idea, but unworkable in reality, because it implies that the less you do, the more you receive in relation to what you contribute (in other words, in purely equal society, there is logical incentive
not to do anything, so everything relies on people's goodwill).
(2) you start making theories about how property is theft, in order to get rid of easy means of demonstrating that in an equal society, those that spend least time working, will always earn the most per hour.
Ofcourse in reality some amount of equality is workable, as long enough inequality is maintained to keep sufficient incentive for people to actually bother with something. But it's a delicate balance.
economy
Posted: Thu Apr 12, 2007 4:52 pm
by anon19287473
mystran wrote:Alboin wrote:Property is theft?
The origin of such an idea, I believe, is with the idea that everybody should be equal. The problem then, if you start with equality, is that if somebody does a good job (in whatever sense) and hence earns more, those that didn't manage so well are no longer equal.
There are only two ways out of this then:
(1) you accept that equality is a nice idea, but unworkable in reality, because it implies that the less you do, the more you receive in relation to what you contribute (in other words, in purely equal society, there is logical incentive
not to do anything, so everything relies on people's goodwill).
(2) you start making theories about how property is theft, in order to get rid of easy means of demonstrating that in an equal society, those that spend least time working, will always earn the most per hour.
Ofcourse in reality some amount of equality is workable, as long enough inequality is maintained to keep sufficient incentive for people to actually bother with something. But it's a delicate balance.
In an Anarchist economy, man power is currency (
http://en.wikipedia.org/wiki/Anarchist_economics) , which is true equality
I'm really enjoying reading all these replies about their first os experience. All of the OSes seem to be communist, so why not just make a capatilist OS instead?
There is one, it's called Windows
Regardless of what GNU thinks Bill Gates is a brilliant business man who was able to manipulate his wealth to form a multi billion dollar cooperation employing millions (?) of people. He has given millions away through his fund, and done more than most people in history. I think he deserves his billions.
For some time I agreed with this, however, every so-often he breaks character, and, oh say promotes (lobbies for) outsourcing to india (legislature to make it easier w/ visa's), which would save M$ lots of $$$ in salaries.
employing millions (?) of people
And malware authors produce millions of jobs for anti-virus companies (services etc. like macafee) ... Bill Gates isn't the only one to produce millions of jobs with bad software
anon19287473 wrote:
I'd really rather not start a flamewar, and it seems this has gotten a tad of topic, so lets drop it.
Why drop it? Why not go on?
So it will be
Posted: Sun Apr 15, 2007 11:11 pm
by elderK
My first attempt at writing an Operating System was fun!
A friend and I had spent a good few hours playing Quake (We used to have a "Geekend", a weekend full of LAN Gaming and Code, ah... good times).
Anywho, We were joking about MSDOS and wondered how difficult it would actually be to create a basic parody, that could boot and seem like MSDOS.
Epic, huh?
~zeii
Posted: Wed Apr 18, 2007 11:59 am
by inflater
I'm really enjoying reading all these replies about their first os experience. All of the OSes seem to be communist, so why not just make a capatilist OS instead?
"Because Microsoft is for Capitalists running DOS."
See?
We DO have a capitalist OS
This topic was not designed for flamewars. I think the communism replies should belong to topic "What's your political affilation?", we're off topic.
Any more former OS attempts?
inflater
Posted: Wed Apr 18, 2007 4:39 pm
by Crazed123
My first OS was a monolithic kernel. Then I eventually moved to an RPC-based microkernel with capability security. Now I've thrown the scheduler and timer driver out of my kernel and designed a new security model, so it's pretty much the 3rd generation.
Posted: Fri Apr 27, 2007 4:54 pm
by mathematician
I suppose the closest I have previously come to writing an OS was a memory resident debugger, back in the days of MS-DOS. Amongst other things it was meant to allow the debugging of device drivers in situ. For perhaps obvious reasons it would have crashed (single tasking) MS-DOS if it had made any system calls, and so it effectively had to implement its own operating system; in real mode of course.
Posted: Sat Apr 28, 2007 7:21 am
by Tyler
Crazed123 wrote:My first OS was a monolithic kernel. Then I eventually moved to an RPC-based microkernel with capability security. Now I've thrown the scheduler and timer driver out of my kernel and designed a new security model, so it's pretty much the 3rd generation.
Right... call me dense, but how does can RPC make a microkernel. Is that not a networking protocol? How exactly does that connect the kernel components?
Posted: Sat Apr 28, 2007 2:10 pm
by Aali
RPC = Remote Procedure Call
"Remote" does not imply networked, it simply means the call is not done directly, but rather through some kind of messaging system
anyways, my first "real" OS was a microkernel with horribly messy and slow message-passing and some userspace drivers including keyboard, console, floppies, ext2 (read only) and a very simple shell
still working on that same project, but i've replaced pretty much everything by now
Posted: Sun Apr 29, 2007 10:16 am
by Tyler
Aali wrote:RPC = Remote Procedure Call
"Remote" does not imply networked, it simply means the call is not done directly, but rather through some kind of messaging system
I did not use the term "imply"... RPC is a networking protocol... fact... a messaging system would be named with the umbrella term IPC, though i feel that naming the communication would be like naming the process of function calling under some protocol. So i ask again, what does RPC have todo with IPC?
Posted: Sun Apr 29, 2007 11:34 am
by mystran
Tyler wrote:
I did not use the term "imply"... RPC is a networking protocol... fact... a messaging system would be named with the umbrella term IPC, though i feel that naming the communication would be like naming the process of function calling under some protocol. So i ask again, what does RPC have todo with IPC?
You have misunderstood something. IPC is a general term for Inter-Process Communication, and says nothing about whether the processes are on same host or another. Similarly, RPC is a general term for Remote-Procedure Call, which is a particular type of IPC, specifically it is a name for any mechanism which tries to make IPC look like LPC (local procedure call).
A procedure call is normally understood local, if the caller and callee are within the same protection domain (where protection domain is normally known as process). That is, a procedure call is local, if it doesn't involve IPC. Any procedure call that is not local, is remote. Whether network is involved is irrelevant and there is no protocol known as RPC, since RPC is a general term. RPC itself always implies IPC, since otherwise the call would be local.
If you disagree, I suggest you go read the relevant literature where those terms originated.
edit: and if you need pointers, I can search some relevant material for you, but you'll probably need access to IEEExplore and/or ACM to access it. Your local university library is likely to have a subscription.
Posted: Sun Apr 29, 2007 9:21 pm
by Tyler
Clearly you are mistaken... for one i clearly stated in post and continue to stand by the fact that IPC is a blanket term but RPC is a specific technology.
Even if we were to ignore this given, your explanation that RPC is making IPC look like LPC was quite clearly a rushed explanation that has gone slightly wrong. Assuming you mean to say it is a process of LPC (assumed to be a function call on the local machine and nothing todo with microkernel connectivity) for use between "remote" computers, then i still do not see what RPC has todo with microkernels. No practical use could come from implementing the seperate parts of a microkernel structure on seperate machines.
Though of course, one could choose to implement microkernel communication on numerous different machines and use a remote protocol of some sort to communicate, the impracticaliy is not an impossibility. In this case though, i am still confused as to why he would use the term RPC, when this is a single protocol of Remote IPC and has absolutely nothing todo with the implementation of a microkernel?
The description given was paramount to labelling your microokernel a round robin based-microkernel. A perfectly logical descriptiuon that shows the microkernel has round robin cabability, but a foolish description given it ignores all other features and leads one to believe it relates in someway directly to the microkernel mechanism.
Posted: Sun Apr 29, 2007 9:22 pm
by Crazed123
Aali wrote:RPC = Remote Procedure Call
"Remote" does not imply networked, it simply means the call is not done directly, but rather through some kind of messaging system
As mystran said, remote procedure calling is a type of IPC. The only requirement to be "remote" is that it cross operating-system imposed protection boundaries or hardware-imposed machine boundaries.
IPC != message passing. RPC does not always (though often does) run on top of message passing. Portals have been independently invented half a dozen times, dependently invented half a dozen more. The only reason you don't see more of them is that *everyone automatically defines RPC and IPC as involving message passing, thus ruling out portals by definition*.
Even if we were to ignore this given, your explanation that RPC is making IPC look like LPC was quite clearly a rushed explanation that has gone slightly wrong.
Actually, it's your definition of RPC that is slightly wrong. Despite several proprietary networked-RPC protocols calling themselves "RPC", remote procedure calling is nothing more or less than using inter-process communication mechanisms to mimic the semantics of a function call within the local protection domain for services outside the local protection domain. The "outside" can run on the same machine or a different machine; it does not matter.
Since bare message passing is godawful to code real micro-kernel servers in (such as file-system servers, device drivers, and security servers), the creators of micro-kernel operating systems usually implement some kind of message-passing in the kernel and proceed to layer an RPC protocol on top of it, allowing application code to use function-calling semantics with the slight overhead of compiling IDL files down to IPC stub routines.
Posted: Sun Apr 29, 2007 11:32 pm
by Colonel Kernel
Tyler wrote:Clearly you are mistaken... for one i clearly stated in post and continue to stand by the fact that IPC is a blanket term but RPC is a specific technology.
Nope, RPC is also a blanket term. I hate to quote Wikipedia at you, but you're getting lost in the woods on this one:
http://en.wikipedia.org/wiki/Remote_procedure_call
As someone who has worked on commercial systems that use RPC (yes, I'm throwing the proverbial "book of the school of hard knocks" at you -- my apologies
), I can substantiate mystran & Crazed123's claims. Yes, RPC means "making communication to another domain (process or machine) look like a regular procedure call". It does not necessarily imply communication over a network.
Stop the snarking, please.