Home Topic 6 Last Next


Discuss the advantages of producing a dedicated operating system for a device.


Teaching Note:

Advantages related to size, speed and customization should be considered.

For example, using a dedicated operating system for a cell phone rather than using a pre-existing operating system.

S/E Issue of proprietary software.


Sample Question:


JSR Notes:


The Wide-spread Nature of Operating Systems

What kinds of things are operating systems made for? All sorts of things in fact; many devices beyond just computers and phones have their own dedicated operating systems. Generally, simple things that operate in straight-forward ways can do so with a hard-wired microcontroller, and do without an operating system, but as the devices become more complex they can take advantage of the flexibility offered by operating systems.


What do we mean by dedicated? We mean everything from an OS custom-programmed for one particular machine used by only a handful of people in the world, all the way up to, for example, the Arduino OS for all Arduino robots. You could even say that the Mac OS is "dedicated" to Apple Macintosh computers. But, really, by saying dedicated, we mean that the device could have used an "off the shelf" OS already in existence, but the developers decided to start from scratch and make an OS dedicated just for that device.

Specialized Devices, Specialized OSs

Related to this, do note that a huge number of different IT hardware devices produced in the world are not the iPhones and PCs that we consumers use, rather they are specialized equipment made for specialized industries and situations, developed to be used in very specialized circumstances, such as a factory - and most of them will require dedicated Operating Systems.



Examples of Dedicated Operating Systems

Any company with customized hardware needs customized operating systems.

Ex. Newspaper company will have highly specialized printing presses and other machines which are operated by customized operating systems.

Modern Newspaper Printing Press

Ex. An automobile assembly line factory has hundreds of specialized machines and robots, and each one of them is operated by customized operating systems. Any piece of hardware that is not "off the shelf". (Though note Libor's point that Skoda, I think it was, uses Windows XP to control much of their assembly line!)

Ford Motor Company Oakville, Ontario
By Ford Motor Company CC BY 2.0

Dedicated OSs at a School

Following is a list of things around a typical school which probably have dedicated operating systems. (Remembering that many seemingly intelligent devices don't have an OS; rather their microcontrollers/microprocessing units are hardwired with many different capabilities; for example the Roomba vacuum. So I'm not sure about the following list, but these devices very well could have hardware using dedicated OSs.)



Advantages of a Making a Dedicated OS:

The Smart Phone New Dedicated OS Example

Google, for its Android phones, and Apple for its iPhones, etc. developed dedicate operating systems for their smart phones rather than using existing operating systems. (Other smart phone OSs include Tizen, Windows Phone, Blackberry, and Ubuntu Touch.) Consider why. And, in fact, consider why, if you had a new company coming up with a new smart phone, you would have a dedicated operating system built:

Copyright All rights reserved by thunderbird-72

Reasons to build a dedicated OS for a new smart phone are:

1 - Copyright and/or Cost
It's possible that an existing OS could be used, but the licensing fees to use it would be substantial, and cause many hassles with legal issues. And/or, to use parts of it or ideas from it could break copyright and patents.

2 - Proprietary Nature Precludes Use of Other OSs
Here we mean that existing OSs were intentionally made for Android and iPhone and are only possible, technically, to be used on them; this isn't even a copyright issue; the OS will not work on any other product than the one for which it was designed.

You could always try to hack the OS to work on another device, but that could very well end up turning the device into a paper weight ("brick" it); furthermore, it's very hard to do. Examples of this do exist in the PC world, where when Apple switched to Intel chips, geeks tried somewhat successfully to get Windows to run on Macs. And then this was formally done, both natively through Apple's Bootcamp (the hard drive partitioned and booted up to run either Windows or the Mac OS), and virtually, via virtual machine applications like Parallels (Windows running on top of the Mac OS). And though these strategies work, they each have their drawbacks compared to an OS running directly on the machine is was intended to.

3 - Improvements are Possible (over existing OSs)
The new OS can be faster and better by looking at things slowing down the older OS and implement improvements.

4 - New Features are Desired
Special, unique features are imagined that the other products don't even have. For example a nifty new temperature sensor. i.e. the existing OS software does not support this new hardware.

5 - Don't Need a Lot of Existing OS Components (like drivers for all sort of other add ons)
- You may not need many Android and/or iOS-specific things in you new product. And to add your special OS features while keeping all of the old ones would take too much memory. Rather, it's better to have only the features - new, and existing - that you need, thus having the phone operate faster.

- You could also try to engineer a stripped down version of an existing OS, particularly if it's open source. But that is surely just asking for trouble. Think of the issues you can have with Android phones when you start uninstalling various Google apps.; invariably other Google apps or the phone generally stop working correctly. This kind of surgical removal of unwanted parts of a system is destined for failure, such is the delicate balance and interconnectivity of a full OS on a device. Better to just start from scratch.

- In a related PC example of an existing OS having way more than is necessarily needed, note that the Mac OS comes with Gigabytes (yes Gigabytes!) of printer drivers, thousands of which you will never need. Your own OS could just come with the printer drivers for printers expected to be used.
*** note that from the Teaching Note, this in particular is what will make your OS smaller (less memory in HD etc.) and faster - more nimble. (***AND I MISSED MAKING THIS POINT JAN. 2018, SO DO NOTE IT.***)

6 - Not Limited By Design Requirements/Frameworks - such as the four buttons that have to be on all Android phones: home, back, menu, and search(?)



Another good example to consider:   Think of making your own robot at you university:

Do you use an existing OS, or get the CS geeks to make one for you in the Engineering department? What would be the advantages to the development of your own robot operating system for your particular robot?




General Reasons FOR Choosing To Use Existing Operating Systems

- easier to acquire and implement

- faster improvements not done by you

- it already works

- don't have to bother writing your own (for big devices like computers and robots, this is a huge pain and time consuming)