Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Will OSes disappear when multicore (64 or more) chips become popular?

  1. May 9, 2007 #1
    This is a question I have been asking myself often. If an Operating System is needed to manage many programs and input and output all at the same time, when quad core and then 32 or 64 or 128 core chips come out (in case you don't know that means a CPU that has many CPUs inside it) will an Operating System even be needed anymore ?

    Would it even make sense ? I mean I can understand maybe on the server side since you must answer thousands of calls simultaneously from web clients, but on the desktop if you have one core running word, another running explorer, another running anything else and a few dozen free, maybe an Operating System would not be necessary anymore, or maybe you would just need a very simple stripped down traffic controller.

    Any ideas ? Am I way off mark ?
  2. jcsd
  3. May 9, 2007 #2
    Yes :smile:

    That is just one thing operating systems do. They also provide a standard way for applications to communicate with hardware (keyboard,, display, disc drives, etc.), manage your files, launch and stop programs, run background tasks, and a lot of other nonsense computers need to do so you can surf the net or play games.
  4. May 9, 2007 #3
    No, what I meant was that with the coming of multiple core CPUs it is the OS that will disappear.

    The PC didn't become a multitasking computer until the 1990s with windows, but was always a multiprocessor machine. In fact the first PC had 3 or 4 microprocessors composed of a seperate microcontroller for the CRT, one for the keyboard, one for the floppy disk and the general central CPU.

    The need for large multitasking Operating Systems came about because the need to run many programs to share resources and run at the same time arised. But with a future of 64 or 128 cores it wouldn't be far fetched to imagine each core running a separate program and the Operating System simply disappearing or becoming simply a very small memory traffic - devices monitor. For servers it is a completely different story, but for desktop environments it seems quite reasonable.
  5. May 9, 2007 #4


    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    And this is entirely false. As has been said, operating systems do a hell of a lot more than just time-slicing! Let's consider your web browser, which is running all by itself on its own core, and is not being time-multiplexed with any other process. What other OS services does it use?

    1) Memory management. It would be positively silly (and disastrous) for each program to have to include its own complete memory management system, complete with virtual memory and protection services.

    2) Hardware interaction. To get keyboard keystrokes, read and write files to the disk, or transfer bytes across the network interface, many, many layers of sotware are involved. Would you expect that every single program have to include its own driver to access disks? Would you expect that every single program have to include its own TCP/IP protocol stack?

    3) Graphical environment. Do you think each program should have its own windowing system, complete with its own button widgets, window manager, paint/refresh mechanisms, color services, etc.?

    No offense, but you're talking nonsense.

    - Warren
    Last edited: May 9, 2007
  6. May 9, 2007 #5
    Now days the vast majority of applications use several to dozens or even hundreds of threads of execution. You cannot simply restrict one application to one processor anymore. The operating system is responsible for managing the distribution of execution across the available processors; it is a rather fundamental mechanism to modern operating system kernels.

    It is true that advances in hardware are making a great many tasks easier for operating systems, but there will always be a need for the executive functions that operating systems provide.

    Hardware abstraction is a supremely important service provided by the operating system. It is simply too much, error prone work to engineer every single application with support for all of the variations in modern hardware. Many of the hardware features that are essential to the operation of the computer as a system are outside the scope of the application as well. It would be insanely difficult to write even the simplest program if you had to account all of the things that an operating system must manage.
    Last edited: May 9, 2007
  7. May 9, 2007 #6
    i believe the future is in putting the os and it's drivers all on firmware like flash memory, say your computers hdd crashes well the os and it's setting are still there. many more advantages like quicker boot times and almost no data corruption and if it's a removable system like compact flash well people can just send away or buy a new os off the shelf, swap cards or even better with 2 slots pick which os they'd like to boot up from and keep their settings. (and firmware upgrades could just be references to memory addresses in the cf card so upgrading and rolling back firmware changes would be super easy). this is where i'd go with the next rev of the pc spec. it's not like 4gig cf flash cards are that expensive anymore, maybe a e-ide to cf bridge two cf cards, the remaining e-ide slots for cd/dvd and sata for hdd's. now that i think of it that would be pretty cheap to integrate on next gen motherboards.
    Last edited: May 9, 2007
  8. May 9, 2007 #7
    flash cards are a lot slower in comparison to hard drives. Putting the operating system on a set size chip wouldn't be conducive to all the updates that need to be applied either and would be limiting.

    I would like to see an operating system that has the same stability as a console though, that could just be turned off at any given point without the possibility of permanently corrupting data or the hard drive or whatever.
  9. May 9, 2007 #8


    User Avatar
    Science Advisor

    Primarily that's difficult because when a machine is turned off you have data in the RAM, the CPU caches and the CPU registers (and possibly some other places) which are part of the machine's state and need to be restored if you want to be sure to avoid data corruption or undesirable behavior.

    If the OS were responsible for saving and restoring the machine state, it would have to run background processes to save and constantly update the state all the time. This not only adds overhead but isn't guaranteed to work because the machine might be powered off in the middle of a state save, and so the OS will have to determine whether the state is valid or not.

    On the other hand if we can find a good replacement to RAM and registers that keeps its data when powered off, then this could be implemented with hardware exclusively.

    Some think that flash memory might one day be fast enough to replace RAM.
  10. May 10, 2007 #9
    You never know with technology.
  11. May 27, 2007 #10
    I wouldn't mind if computers where command prompt only. People would stop using them, which would make my job so much easier.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook