Re: How change non-PAE paging mode to PAE paging mode?
Posted: Tue Dec 08, 2015 6:36 am
For example, even small enterprises have security issues, so they want to be able to grant access rights to one user and to deny such rights to another user, it is the global setting for the entire enterprise. How your system can manage this?Brendan wrote:These setting are completely unnecessary for my distributed solution - all computers know they make their own decisions without settings.
Mostly it is inevitable. At least for enterprises. Every enterprise has it's specific data, would it be some database or a file server with excel files or whatever. So, your approach should cope with the data distribution. Else if a laptop is out of the enterprise network then it just stops working, despite of any tricky algorithm you have installed on it.Brendan wrote:Or do you do the traditional "loss of service" method, where if a server or network connection goes down the you're screwed until an (authorised) human intervenes?
Purchase costs and power consumption are thing that you should prove not only using theoretical thinking, but also performing many "field tests". And tests often can be disappointing, because there's still need for the database, for the file-server, for the internet gateway, for enterprise's web server and so on.Brendan wrote:I'm trying to provide the best end user experience (including performance, fault tolerance, and end user hassle/configuration) with whatever hardware the end user happens to let the OS run on.
Part of the goal is to be able to go to typical small/medium businesses and convince them to switch from the current relatively standard approach (e.g. one cheap/desktop computer per user, an additional expensive/fault tolerant server, a bunch of networking equipment, and a non-distributed OS like Windows/Linux) to my approach (e.g. one cheap/desktop computer per pair of users, no expensive server, half the networking equipment, and my distributed OS) because this will:
- significantly reduce purchase costs
- significantly reduce running costs (e.g. less power consumption, less air-conditioning)
- significantly reduce maintenance/administration costs
- increase fault tolerance
- increase performance (by distributing load to "otherwise idle" computers).
May be it is possible to create a more fault tolerant network, but the existing technologies just do the same - when you move with your laptop in the area where the wi-fi is available, it just reconnects and becomes available for work. And work is performed with the centralized enterprise resources like web or database server.
May be it is possible to reduce purchasing costs by using one PC instead of two or even three, but there already are (and were) the solutions like terminals or remote desktop on a single server. For some reason such solutions haven't gathered enough power. May be it is the lesser flexibility. So, you need to provide the flexibility at the level of a system with one PC per user and many separate servers for every important task. May be it is possible, but all attempts before ended badly.
And about fault tolerance. For the PC it's not important at all, because PCs are very reliable. For networking it's again not the important case because cables and routers are reliable enough. And for servers..., but you think there shouldn't be any server and I still do not understand how a user can work with a database.
The same is for performance. The hardware is fast. If a distributed solution replaces processing power of a server, then it do not replaces it's storage. If the solution replaces storage, then it do not replaces server applications. And if the solution replaces applications then it's the CEO's smartphone with the entire enterprise on it. Can you create a one smartphone enterprise?
There are costs. Everything can be flawless in a world with zero costs. But GPS is working only outside a building. So, we need more expensive hardware for it to work inside a building. And we need it to work without interruption during travels in planes and trains. And we need it to consume the accumulator's charge for every second. So, it's not as simple. And as you already have pointed out - OS developer just can't do much about it.Brendan wrote:you mostly need a time-zone setting because (for stationary computers) there's a design flaw in firmware (OS can't ask firmware for the time zone when it's installed, where it can be set once for all OSs that are ever installed, possibly by the retailer before its purchased) and (for mobile devices and possibly stationary computers too) most of them have a design flaw in hardware (lack of GPS that would allow automatic time zone detection, even when user is moving between time zones).
But yes, there is a way for the extended failure tolerance and distributed processing. The only problem here is the cost and the value for the cost. If the value is small then your investment of at least 10 years can be just a waste of time. And for the value to be important there's a need for the market research and other stuff the marketing way requires. Have you spent enough for the marketing efforts? I suppose you just think that smart thing is always welcome. But there's a lot of failure stories with the very smart things.
In case of the bad documentation it is possible to provide developers with source code for them to be able to understand how it works. But your solution is going to be a closed source one, so, you just have no way except the documentation. And in the documentation you can describe your messaging in every detail, but if a developer has high level interface with function calls it is most probable he will use such interface and only look at the messaging documentation in case of a really important performance drawback.Brendan wrote:If a person is writing a new web browser they need to write their new web browser's source code (and need to know what their source code does) and they might also need to write a plain text document that explains the internals of the code they've written (because different programmers implement the same thing in radically different ways, so plain text documentation for an existing/competing web browser is completely worthless).
As I see from your description your solution uses some kind of an algorithm for selection of the best way of sending messages. But next you tell me that there's a fork of a size of 5 orders of magnitude in the messaging performance. So, I suppose it is required to provide some help from a human for your solution to work more efficiently. And "better" here are existing solutions with the same requirements - they also need a help from the developer, but do not require the developer to learn about new solution.Brendan wrote:You'll have to be more specific - which claims about "better" are you referring to?embryo wrote:Well, it means your system can make very bad mistakes (5 orders of magnitude) if it isn't monitored closely by a human. Then why do you describe your messaging as a better solution than existing technologies?
The performance is important only if it's really important. It means you can spend a lot of time optimizing things for next 0.001% of the efficiency, but it's just unimportant. So, people usually concentrate on things like 100 or 200% efficiency increase.Brendan wrote:if you use C++ operator overloading to make it harder for programmers to notice the difference between extremely expensive big rational number addition and extremely fast 32-bit integer addition, then you're contributing to the "high level programmers slapping together worthless puke without even realising it" problem.
You can return a result code, you can throw an exception, you can change some static field, you can raise an interrupt, you can show full screen message "Surprise, you have an error! Congratulations!!!".Brendan wrote:It's not simple, I don't know any sane way to add the failure information to a libraryembryo2 wrote:It's very simple. And you know many ways how to add the failure information to your library.Brendan wrote:At a minimum you have to deal with the fact that (as soon as any networking is involved) there's no guarantee that the message will be delivered.
Well, if you prefer to concentrate on the worst case scenarios (there's no cooperation at all) even then I can ask about "why do you think the managed is a puss?". And at least I see there's no viable argument against the managed.Brendan wrote:how about this: Instead of developing your OS by yourself, how about if I volunteer to help your project (and do this by continually insisting that all traces of Java and "managed puss" be removed)? The benefits of "more developers" would really help your project!