Coffeehouse Thread

6 posts

Forum Read Only

This forum has been made read only by the site admins. No new threads or comments can be added.

What are desirable 'foundational' operating system/engine features?

Back to Forum: Coffeehouse
  • User profile image
    androidi

    There's probably a lot of such, taken for granted in most modern OS, however here's some that I like to mention here often, I just now compiled some of those that I remember into one place.

    - ability to use common good UI-design tools on top of any custom engine (= low level overlaying/composition where layers can be running at various frame rates / freesync/ g-sync)

    - low latency I/O for audio and user inputs across the OS - eg. suitable for realtime data acquisition and triggering external hardware on realtime schedule and minimal drift/jitter hardware osc/clock in the motherboard

    - easy to implement jitter free smooth scrolling (one possible benchmark is, how much invidual pixels you can get updated smoothly at fixed low enough interval, eg. 20 ms, while doing useful work in other cores)

    - security/tamper proof

    - moddability

    - code transparency/readability after compilation instead of 'read the source'

    - dynamic software updating - like JRebel ("Edit optimized code while running" - schedule updates to happen such that audio/gfx will run without audible/visible glitch)

    - for virtual machines the ability to optionally patch old snapshots with new updates so that the patches don't need to be applied to each snapshot separately after each snapshot recall - essentially a snapshottable virtual desktop or snapshottable process

    The last is no different from being able to save a game state, patch the game engine, then resume the saved game without things getting corrupt.. Yeah "mission impossible" if the game/engine/OS ships so buggy that it needs major patching. So this would need user visible patch classification so that user can decide whether they want to lose their state or not and be ideally be able to patch all security issues without losing state.

  • User profile image
    androidi

    Maybe support for automatic patch backporting? - this project claims to do more complex things but not as much what I suggested earlier which was ability to not only do backporting but also combine that with automatic translation from one language to another, allowing to have a source project in C/C++ and keep a C# or some other language project up to date with changes in the source while also keeping new features in added in C#. In spirit of classic embrace and extend. 

    http://crest.cs.ucl.ac.uk/autotransplantation/downloads/autotransplantation.pdf (credit to wired for picking it up)

    http://crest.cs.ucl.ac.uk/autotransplantation/MuScalpel.html

     

  • User profile image
    Bass

    A key feature I like in my operating systems is the ability to disable any bundled remote backdoors. It might seem a bit futuristic, but it makes a lot of the other features of an OS feel more like a "nice to have" in comparison.

  • User profile image
    swheaties

    I will probably hear some loud arguments against this but I think a foundational operating system feature is functionality that will allow the user to configure the system in such a way that it suits his/her needs. 

    Yes, this is still a bitterly disputed topic at Microsoft as is evidenced by the design of the edge browser.  Much thought went into the design of that product with the objective of making it as difficult as possible for the user to use any search engine other than Bing. 

    I imagine some smart, well-paid people spent several days or weeks carefully reviewing every menu and setting to ensure that an ordinary user would just give up on it.  I must be an ordinary user because I just gave up on it. Actually I'm a curious kind of guy and I spent eight minutes with edge trying to make work the way I want (it's Saturday and the wife is away on business so I have extra time to play around on the computer.  I don't think anyone with things to do in the course of a busy day would waste anywhere near that much time).

    Of course when I decided I had enough of edge it took me almost 35 seconds to delete the edge icons and replace them.  That is just what ordinary users do. Sadly, the smart, well-paid people who designed edge were not smart enough or well paid enough to realize that the best way to prevent a user from wanting to use Google is to BUILD A BETTER SEARCH ENGINE.  But that is a topic for another day.

  • User profile image
    figuerres

    Stability

    Security

    Predictability

    Safety

    Manageability

    Extensibility

    the UI should not be in the core of any OS.

    things like low latency should be a kind of side effect of the list I just gave.

    the one I left out was "Portability"

    why ?   adds complexity and reduces how well you can optimize for hardware (like the low latancy I/O issue)

    not that the code should not have portability , rather that it's less important IMHO than making it work really really well first.

     

     

  • User profile image
    bondsbw

    , swheaties wrote

    I will probably hear some loud arguments against this but I think a foundational operating system feature is functionality that will allow the user to configure the system in such a way that it suits his/her needs. 

    I'd love every bit of Windows to be completely configurable.  On my crappy old presentation machine, I would make it completely barebones except the exact services required to run the presentation, and I would make it so only my presentation software could access the projector display.  On my home computer I might build an old-school Xbox 360 interface.  On my work computer I would create a tiling window manager interface so that nothing overlaps, and I can be most efficient there.

    But... customization is what everyone wants, but it isn't what everyone needs.  Microsoft could put so many resources in to opening up those things in easy ways, testing them to make sure they don't screw with the trillions of other possible configurations, that they would never make the OS faster or more secure or more reliable.

    So, at the end of the day this is what we get.  (Oh, and I guess it should be mentioned that most components of Windows are customizable if you are willing to go through the effort and support yourself... you would need to get your hands dirty with replacing Windows system files with customized versions.)

Conversation locked

This conversation has been locked by the site admins. No new comments can be made.