TinyOS is an open source operating system (OS) specially made for wireless network devices. The devices include Bluetooth, environment sensor devices, and bank security system etc. TinyOS is written in NesC language which is dialect of C language.
Below are some advantages and disadvantages of tinyOS.
Advantages of TinyOS
Small in size:
The source code of TinyOS is small in size. Due to smaller code devices run fast and OS does not tend to overload the device. The code is optimized to run for any specific device.
TinyOS is an event-driven OS that means it depends upon the events it receives from the surrounding environment. For example, controlling the temperature of the building. An event is fired when the temperature goes above or below a certain degree and operating system controls the air condition devices to make temperature at a normal level.
Low memory needed:
TinyOS needs low memory to run. We don’t need to buy higher memory devices to run this operating system. TinyOS is a type of embedded OS which is implemented on every device.
TinyOS has different modules in it. Each module performs its own function. The modules include tasks, commands, events, microcontroller, hardware, and software. Each of these modules communicates with other to make the wireless devices work properly.
TinyOS can be reusable on similar devices. That means the code has not to be changed if devices are of same nature.
Use low voltages:
Due to low memory and space usage tinyOS use low battery. TinyOS can run on smaller devices also which have low voltage.
Disadvantages of TinyOS
There need some adjustments to make communication between hardware and software. This is because of low voltage restriction.
Asynchronous in nature:
As network sensor devices have to update its data from surrounding in every second, so programmers have to keep this in mind to make the code work in any case.
Difficult to program:
It is difficult to make a program for tinyOS due to some restriction like asynchronous behavior, memory limit, and low voltage. NesC programming language is the major disadvantage of this OS. It is difficult for programmers to write efficient code in NesC.
Sometimes there is a communication problem between tasks in tinyOS.