Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Operating Systems for Small Devices
Operating systems for small devices such as mobile phones, tablets, sat­navs, and many...
such as mobile phones whilst they are on standby or not in use, the operating system will
underclock the CPU. This means t...
5. www.wikipedia.org/wiki/Embedded_system
6. www.wikipedia.org/wiki/Embedded_operating_system
7. www.wikipedia.org/wiki/Re...
Upcoming SlideShare
Loading in …5
×

Operating Systems for Small Devices

253 views

Published on

An essay on the characteristics on the operating systems used for small devices.

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

Operating Systems for Small Devices

  1. 1. Operating Systems for Small Devices Operating systems for small devices such as mobile phones, tablets, sat­navs, and many other portable and embedded machines are optimised for the requirements of the machines that they run on. An example of some of the main operating systems for mobile devices are the Windows Phone operating system, iOS for Apple iPhone models, Symbian for Nokia mobile phones and, Blackberry OS for Blackberry phones. These are proprietary operating systems that are optimised for the features of the phones they are made specifically to run on, compared to the popular Android operating system which is used by many brands of mobiles1. Linux­based operating systems are also widely used for other systems such as PDA’s and other consumer­electronic products, as well as smaller embedded systems, due to it’s open­source nature and low cost2. The main difference between the operating systems running on small and embedded devices compared to PCs are the fact that they are run on resource limited systems, which means they need to be efficient, and therefore specialised. To make the operating system as efficient as possible in terms of speed and determinism, it is often written in assembly language to maximise it’s responsiveness. As embedded systems are generally dedicated to carrying out a small selection of tasks, the hardware tends to be very specific for the systems needs6. This is generally as users tend to expect an almost immediate response to any requests, and is especially important in actual real­time systems. These systems use real time operating systems, which reduces the jitter ­ the response time of tasks ­ as much as possible. These operating systems manage this with an advanced scheduling system, with minimal thread­switching and interrupt delays7. The dimensions of the hardware of these device are generally much smaller, which means there are size and weight restrictions for the components3. Due to their small size, these devices tend to use microprocessors which combine all of the different functionalities of the CPU onto one integrated circuit, reducing the usage and therefore the amount of energy consumed by the system4 . However, this also reduces the power capabilities of the processor, and so the operating system needs to be as simple and as specialised as possible. There are several architectures that these operating systems use to achieve this5 ­ the first being co­operative multitasking, which is simply a loop that calls subroutines when a specific event occurs. This is a simple architecture, which maximises response time with no unnecessary code, and is dedicated to the system’s particular tasks. The second type of architecture is pre­emptive multitasking, or multi­threading, whereby a simple block of code switches between threads based on a timer which are ­ conceptually ­ run parallel to each other. The architecture used by the device is generally dependant on its requirements. The use of microprocessors, which reduce the energy consumption of the system, is useful as the devices that these chips are used in tend to be portable, and therefore battery powered. This means that there is limited power available for the CPU usage, so the operating system running the device needs to be as efficient as possible. To reduce the power consumption on devices
  2. 2. such as mobile phones whilst they are on standby or not in use, the operating system will underclock the CPU. This means that it will be modified to run at a slower clock rate than it will normally run at, and this has many advantages. There is reduced power consumption ­ useful for devices running from a limited energy supply such as battery power, which also causes a decrease in heat generation ­ useful for devices with small dimension devices where cooling systems are limited8. Another restraint of a small device is the limitation of memory resources ­ ROM & RAM. This means that the operating system for these device must have an efficient way of managing its memory. Unlike PCs which have Memory Management Units (MMU), small devices have no specialised hardware to manage it’s memory, and so must deploy several techniques to do this. Usually, memory is statically allocated for a faster execution time, but one technique that can be used to increase memory is called Bank Switching. This is a technique that is used to extend the amount of memory address locations available for the processor to access by using an external register, such as a latch, to switch between address banks. Unlike a virtual memory addressing scheme like the MMU would use, bank switching is run directly by the operating system, rather than by hardware9. Another technique used to manage memory is the use of a garbage collection algorithm, which detects objects in memory that are no longer being used by the system and discards them. This then frees up memory for new objects which do need to be used by the current task, or any future tasks10. The final important aspect of small devices that their operating systems must deal with is it’s security. As the operating system controls the device’s resources, it should also be the one to authorise access to them. The security of an operating system should include protection of the device’s controls and files, and most importantly be secure when connected over a network11. These systems are always vulnerable, so operating systems are always being updated with the most up to date software, to prevent foreign viruses. Firewalls and third party Anti­Virus software are generally used to prevent unexpected network access, but the operating system must also protect the resources by authenticating users, and using encryption to store private information safely12. References (All sites accessed 21.03.2013) 1. www.store­orange.co.uk/operating­systems­comparison.html 2. www.wikipedia.org/wiki/Embedded_Linux 3. http://www.embedded.com/design/prototyping­and­development/4007255/Choosing­the­best­sy stem­software­architecture­for­your­wireless­smart­sensor­design­Part­1 4. http://en.wikipedia.org/wiki/Microprocessor
  3. 3. 5. www.wikipedia.org/wiki/Embedded_system 6. www.wikipedia.org/wiki/Embedded_operating_system 7. www.wikipedia.org/wiki/Real­time_operating_system 8. www.wikipedia.org/wiki/Underclocking 9. www.wikipedia.org/wiki/Bank_switching 10. www.wikipedia.org/wiki/Garbage_collection_(computer_science) 11. www.edn.com/design/systems­design/4406387/Embedded­Systems­Security 12. www.cs.columbia.edu/~smb/classes/s06­4118/l25.pdf

×