As I read above, only the get_next_process() function is actually O(1). Another O(1) algorithm runs when each process is preempted (or yields) to calculate its next priority, which the kernel uses to place that process in a sorted queue. When it needs a new process, it calls get_next_process(), which simply dequeues the next process from the sorted queue. So even though the total work over the life of the system is O(n) for n processes, the work done to save one old process and load one new process is O(1) [save] + O(1) [load].
I'm not thinking on that scale, so talking about the limiting cases is reductio ad absurdem; I'm thinking about keeping the population somewhere near where it currently is (300M or so?) and slowly coasting it down, while innovating to maintain net real GDP at its current level. Except that the limiting case is not absurd, because without a certain level of population our civilization simply won't run. You need people to work all the infrastructure, and you also need people to keep the rest of the world from flooding in a stripping your country dry ("There are only 300,000 people in the nation, who's gonna miss this 'Statue of Liberty' thing?").
Leech? You're trolling, right? When I have children, I will pay for them myself. But the fact that kids cost doesn't give you or society any excuse to penalize me for creating someone who will support your ass next generation.
So as population grows small, per-capita GDP grows large? Have you noticed what happens when you take the limit of that expression with respect to time?
Population: 0 Per-capita GDP: Infinite.
So we get infinite wealth enjoyed by literally nobody. Except that wealth requires humans to value it and trade for it. Hence, a population larger than a single economic unit is necessary for GDP or per-capita GDP to be defined at all.
Sentiments like that are way Europeans are dieing out on their own continent. Why breed the next generation of your people/culture when you can make a bit more money working for an asshole boss who has more money to pay because *he* doesn't have kids (because he's sterile)?
Yes. Are you familiar with the fact that many of the better schools for technical disciplines *are not* liberal-arts universities or state schools and therefore don't offer the low-math departments where women seem more eager to enroll.
The original Nights drove sales of the Sega Saturn from its release until the death of the console. I downloaded and played the original in a crappy emulator at what was probably 50% or less of the original speed, and I still loved it. Think about those two statements.
We nerd-men much prefer to go to school where we have a remote chance of passing ourselves off as normal guys and getting laid. By increasing the number of girls enrolled, a school increases the "friendliness" of the school to girls and the sexual desirability of the school to boys.
Doing what you describe would involve actually telling your own children about your own mistakes (which may include said children). Most parents don't do that, because they want their children to see them as infallible.
Let me put it this way: the AP Computer Science exam really is horrendously stupid, and really does focus far too much on Object-Oriented Programming. Urgh.
If they take girls with solid math backgrounds, they'll do fine. Personally, it looks to me like they're trying to bring their admissions standards back down to Earth out of "3-patents-in-high-school land". That's a good thing, because only a rare few (like me) are doing advanced Computer Science work by college-application time.
And no, I didn't even apply to CMU. Horrible winters, everyone smokes. I'm going to either Rensselaer or UMass Amherst.
1) Why is the Saturn so hard to emulate quickly? I've heard something about multiple cores that each did one specific kind of processing (CPU, graphics, sound) but ran on one board or something... 2) Why can't the original NiGHTs game be compiled from Saturn ASM into Something-Else ASM, the hardware problems fixed, and the resulting program compiled and offered for Virtual Console?
Mondrian memory protection looks like net loss. Complicates L1 cache access. If only speed mattered, we'd all use segmentation. After all, it stores less data and therefore causes less main-memory lookups and therefore runs faster than page-based protection, right? Except that nobody *liked* segmentation and no compiler but Watcom C will emit segmented code.
Mondriaan will improve systems programming enough to make up for speed/storage losses. Fine-grained read/write/execute protection will enable all sorts of new OS features!
Also, I'd like to define a 4a.
4a) Separate activation frames (as register windows, on the stack, or wherever) should be denoted as separate. Specifically, it should be possible to tell the difference between data used for a function call (ie: return-addresses, arguments, and return-values) and the local function activations of the calling and called routines. If you're wondering "why?" this makes the implementation of call gates between privilege levels realistic, thus granting my request #7 without a separate up-calling feature. It also aids in the denotation of subcontinuations in processor state.
Well, or VLIW or vector or... Whatever works, really.
How to do that. Mainmemory latencies are not instruction set dependant. If you mean adding lots of registers, then it starts to complicate things after a point. You could allow relaxed memory ordering, buts thats pain in the ass for software developers after that. Ideally, make main-memory access faster. When operating-systems designers plan their systems around how many cache misses they'll generate per unit of time, you're relying too much on cache and main memory is too slow.
It took too much memory in the 70's;) There are few that are inherently separate in that manner for performance reasons. Float & integer do not mix, nor does the status registers, counters etc... Fair enough.
No hardware designer wants to add legacy models, it always comes from management or from software people. Ahh... management and users. The banes of a programmer's (and apparently chip architect's) existence.
Overall, the time has come again for a processor architecture based more in the models of computation software finds it convenient to employ than in an engineer's performance estimations for specialized workloads.
A System Programmer's 10 Feature Requests for a New Architecture:
1) Inherent support for parallelism in the instruction set. At the least, this should include increased numbers of atomic instructions and easier atomic memory access. 2) Replace segmentation and page-based protection with Mondriaan memory protection and a tagged TLB. This would be a godsend to microkernel systems and grant incremental security and speed boosts to macrokernels. 3) I know IA-32 already has them, but please give us precise interrupts. Imprecise ones are too much trouble with which to program. 4) Define a clear set of registers and memory locations that constitute the current continuation or thread state. Make these extra fast to manipulate as a whole, enabling faster thread switches and clearer thread definitions without making software do things like define which register is the stack register. 5) Make everything else RISC for speed. 6) Decreased reliance on caches. 7) A security model based on something other than concentric rings. Up-calls help form system features like scheduler activations that can increase speed, and the processor shouldn't make you part the Red Sea to write them. 8) Let programmers decide the destination register of instructions. Will it really slow things down that much or take up that much memory? 9) Decide which I/O model to use: a port I/O address space accessed via special instructions or memory-mapped I/O at special addresses. Then stick with it. Whatever you pick, the security mechanism controlling it should allow easy direct access to hardware from user space programs with the operating system's permission. And if you decide on memory-mapped, find some way to clean up the holes in physical address space that memory-mapped I/O currently causes. 10) Abandon support for legacy 16-bit modes.
The bit about letting the Hague have international jurisdiction, over not only the nations that signed the Rome Treaty but nations that did not sign it.
So I'm a leech because I don't want my population replaced by Mexicans, Indians, Chinese and anyone else who works for ridiculously low wages?
Yeah, apparently I'm a leech for wanting to keep my population in the evolutionary game. I'm a leech because, unlike you, I evolved properly.
As I read above, only the get_next_process() function is actually O(1). Another O(1) algorithm runs when each process is preempted (or yields) to calculate its next priority, which the kernel uses to place that process in a sorted queue. When it needs a new process, it calls get_next_process(), which simply dequeues the next process from the sorted queue. So even though the total work over the life of the system is O(n) for n processes, the work done to save one old process and load one new process is O(1) [save] + O(1) [load].
Leech? You're trolling, right? When I have children, I will pay for them myself. But the fact that kids cost doesn't give you or society any excuse to penalize me for creating someone who will support your ass next generation.
He doesn't think we'll run out of people. He thinks we'll run out of people descended from members of First World secular-democratic cultures.
The annoyingly-religious shall inherit the Earth.
So as population grows small, per-capita GDP grows large? Have you noticed what happens when you take the limit of that expression with respect to time?
Population: 0
Per-capita GDP: Infinite.
So we get infinite wealth enjoyed by literally nobody. Except that wealth requires humans to value it and trade for it. Hence, a population larger than a single economic unit is necessary for GDP or per-capita GDP to be defined at all.
s/way/why . It's very late at night here.
Sentiments like that are way Europeans are dieing out on their own continent. Why breed the next generation of your people/culture when you can make a bit more money working for an asshole boss who has more money to pay because *he* doesn't have kids (because he's sterile)?
Yes. Are you familiar with the fact that many of the better schools for technical disciplines *are not* liberal-arts universities or state schools and therefore don't offer the low-math departments where women seem more eager to enroll.
Or you could just give the money to the boys with a simple four-step instruction manual:
1) Flaunt money in front of girls.
2) Say some corny line about getting to know her better in private.
3) ???
4) SEX!
The original Nights drove sales of the Sega Saturn from its release until the death of the console. I downloaded and played the original in a crappy emulator at what was probably 50% or less of the original speed, and I still loved it. Think about those two statements.
Why is someone mentally ill just because they killed 32 people in cold blood?
How about "Nights: Journey of Dreams" in Fall 2007? That's the reason I'm buying a Wii.
We nerd-men much prefer to go to school where we have a remote chance of passing ourselves off as normal guys and getting laid. By increasing the number of girls enrolled, a school increases the "friendliness" of the school to girls and the sexual desirability of the school to boys.
You mean like a Probability axis? Shit, we're in a Plural Zone. This whole place could cease to exist at any moment!
Where men cannot mate with women, they often will not enroll.
Doing what you describe would involve actually telling your own children about your own mistakes (which may include said children). Most parents don't do that, because they want their children to see them as infallible.
Mod parent "+3, Actually Gets It"!
Let me put it this way: the AP Computer Science exam really is horrendously stupid, and really does focus far too much on Object-Oriented Programming. Urgh.
If they take girls with solid math backgrounds, they'll do fine. Personally, it looks to me like they're trying to bring their admissions standards back down to Earth out of "3-patents-in-high-school land". That's a good thing, because only a rare few (like me) are doing advanced Computer Science work by college-application time.
And no, I didn't even apply to CMU. Horrible winters, everyone smokes. I'm going to either Rensselaer or UMass Amherst.
Two questions:
1) Why is the Saturn so hard to emulate quickly? I've heard something about multiple cores that each did one specific kind of processing (CPU, graphics, sound) but ran on one board or something...
2) Why can't the original NiGHTs game be compiled from Saturn ASM into Something-Else ASM, the hardware problems fixed, and the resulting program compiled and offered for Virtual Console?
Unfortunately, cooperatives tend to become capitalist businesses over time.
Mondriaan will improve systems programming enough to make up for speed/storage losses. Fine-grained read/write/execute protection will enable all sorts of new OS features!
Also, I'd like to define a 4a.
4a) Separate activation frames (as register windows, on the stack, or wherever) should be denoted as separate. Specifically, it should be possible to tell the difference between data used for a function call (ie: return-addresses, arguments, and return-values) and the local function activations of the calling and called routines. If you're wondering "why?" this makes the implementation of call gates between privilege levels realistic, thus granting my request #7 without a separate up-calling feature. It also aids in the denotation of subcontinuations in processor state. Well, or VLIW or vector or
You could allow relaxed memory ordering, buts thats pain in the ass for software developers after that. Ideally, make main-memory access faster. When operating-systems designers plan their systems around how many cache misses they'll generate per unit of time, you're relying too much on cache and main memory is too slow. It took too much memory in the 70's
Overall, the time has come again for a processor architecture based more in the models of computation software finds it convenient to employ than in an engineer's performance estimations for specialized workloads.
A System Programmer's 10 Feature Requests for a New Architecture:
1) Inherent support for parallelism in the instruction set. At the least, this should include increased numbers of atomic instructions and easier atomic memory access.
2) Replace segmentation and page-based protection with Mondriaan memory protection and a tagged TLB. This would be a godsend to microkernel systems and grant incremental security and speed boosts to macrokernels.
3) I know IA-32 already has them, but please give us precise interrupts. Imprecise ones are too much trouble with which to program.
4) Define a clear set of registers and memory locations that constitute the current continuation or thread state. Make these extra fast to manipulate as a whole, enabling faster thread switches and clearer thread definitions without making software do things like define which register is the stack register.
5) Make everything else RISC for speed.
6) Decreased reliance on caches.
7) A security model based on something other than concentric rings. Up-calls help form system features like scheduler activations that can increase speed, and the processor shouldn't make you part the Red Sea to write them.
8) Let programmers decide the destination register of instructions. Will it really slow things down that much or take up that much memory?
9) Decide which I/O model to use: a port I/O address space accessed via special instructions or memory-mapped I/O at special addresses. Then stick with it. Whatever you pick, the security mechanism controlling it should allow easy direct access to hardware from user space programs with the operating system's permission. And if you decide on memory-mapped, find some way to clean up the holes in physical address space that memory-mapped I/O currently causes.
10) Abandon support for legacy 16-bit modes.
The bit about letting the Hague have international jurisdiction, over not only the nations that signed the Rome Treaty but nations that did not sign it.
So basically, Asimov's Solaria with human contact?