I am comming more and more to the conclusion that existing Operating System do not meet our needs nor can they be changed to handle these ( look at the cost for Windows 7 to improve parralelism cite) . This is not just Windows but also Symbian , Linux , OSX , Chrome etc. Im also saying UNIX is reaching its use by date.
Obviously the installed base is massive making change painfull but i believe it will come. The Niche markets of Security , , CLoud computing and Mobile devices especially dont feel the impact of an existing installed base as much.
While there are many smaller benefits the key benefits are
1. Performance on modern hardware . This is not just execution performance but also how applications are written for eg parallelism , while languages have made great strides in this area ( ie Hascal, F# and OCaml) they get stuck at the iPC level on the Operating System .
2. Asyncronous nature of modern communication most OS IPC is inefficient ( to what it could be ) for Asyncronous IPC. ( it requires extra threads , wastes a return etc).
3. Disk bound. All modern OS are heavily disk bound. While traditionally this makes sense we are rapidly aproaching diskless computers with internet ( or file server) storage . To some extent people have pushed for this but the OS nature has held as back. This especially affects UNIX with its everything is a file concept and existing file based apps. Can anyone argue against remoter boot of Proms and USB sticks and network/internet based access ?
Computers are regularly waiting on the DIsk , primarily for page swapping , yet page swapping is almost redundant today , the function can better be done with application swapping. Pageing results in a significant Operating system overhead in terms of performance but worse in terms of complexity , bugs and battery life / power usage.
4. Reliability . Significant increases have been achived in message based micro kernels the next generation operating systems will do this without the performance cost. Its worth noting that these message based Micro Kernel OS performance penalty has been getting worse due to the extra memory cost and memory speed has been growing slower than CPU.
5. Last but not least is security. There are 3 main issues
- Operating systems need to accept the user will agree to things asked and need to limit the damage. This is possible with non intruesive methods as shown by capROS , Eros and Coyotos. These operating systems follow the POLP/POLA and applications have very low ambient authority. Hence any breach will have limited impact.
- Existing operating system applications and services , can be made to crash and expose memory and data for futher exploitation , typesafe and memorysafe OS will massively reduce this most common form of attack.. The OS itself is only vulnerable through a specific bug and without things like buffer overuns these are much rarer.
- UnIdentified applications . Apple has made strides in this area with approved apps though more for comercial reasons ( and since the approval proses is not independent people are starting to disable it ). Certificate signed .NET assemblies work pretty well as a measure of trust.
6. Resource management .
How often do computers crawl because a backup , Virus scan or index is running ? While these threads run at low priority there is no or little management of resources and since everything runs of the disk (see 3) things are waiting for all the time despite the fact that what they are waiting for is small.
Most of these things require applications to be written differently but note this is also being required for specific reasons eg parralelism , Minimizing GC pauses , Cloud applications , Asyncronous applications , new languages Caml/Hescal/F# and last but not least writing applications for POLP/POLA ( Principal of Least priviledge/Authority) all require changes in the way we write application. New generation operating systems should assist and encourage such programming.
In terms of why needed i think the recent Google attacks have shown that modern security is not effective enough.
Print | posted on Saturday, February 13, 2010 10:58 AM