Вы находитесь на странице: 1из 17

NAME – ABHINAV YADAV

REG-NO. - 18BCI0103
SUBJECT- OPERATING SYSTEMS (CSE 2005)
FACULTY- PROF. SRIMATHI C.
SLOT- F1/TF1
TinyOs(embedded operating system)
TinyOS is an operating system designed for low-power wireless devices, such as those used
in sensor networks, ubiquitous computing, personal area networks, smart buildings, and smart
meters.

TinyOS is a tiny (fewer than 400 bytes), flexible operating system built from a set of reusable
components that are assembled into an application-specific system.
 Supports an event-driven concurrency model based on split-phase interfaces,
asynchronous events, and deferred computation called tasks.
 Implemented in the NesC language, which supports the TinyOS component and
concurrency model as well as extensive cross-component optimizations and compile-
time race detection.
 TinyOS has enabled both innovations in sensor network systems and a wide variety
of applications.
 TinyOS has been under development for several years and is currently in its third
generation involving several iterations of hardware, radio stacks, and programming
tools. Over one hundred groups worldwide use it, including several companies within
their products.

Requirements fulfilled by the TinyOs:


TinyOS has a component-based programming model, codified by the NesC language, a
dialect of C. TinyOS is not an OS in the traditional sense; it is a programming framework for
embedded systems and set of components that enable building an application-specific OS into
each application. A typical application is about 15K in size, of which the base OS is about
400 bytes; the largest application, a database-like query system, is about 64 K bytes.

A TinyOS program is a graph of components, each of which is an independent computational


entity that exposes one or more interfaces. Components have three computational
abstractions: commands, events and tasks. Commands and events are mechanisms for inter-
component communication, while tasks are used to express intra-component concurrency. A
command is typically a request to a component to perform some service, such as initiating a
sensor reading, while an event signals the completion of that service. Events may also be
signalled asynchronously, for example, due to hardware interrupts or message arrival. From a
traditional OS perspective, commands are analogous to down calls and events to up calls.
Commands and rather, a request for service is split phase in that the request for service (the
command) and the completion signal (the corresponding event) are decoupled. The command
returns immediately and the event signals completion at a later time. Rather than performing
a computation immediately, commands and event handlers may post a task, a function
executed by the TinyOS scheduler at a later time. This allows commands and events to be
responsive, returning immediately while deferring extensive computation to tasks. While
tasks may perform significant computation, their basic execution model is run-to-completion,
rather than to run indefinitely; this allows tasks to be much lighter-weight than threads. Tasks
represent internal concurrency within a component and may only access state within that
component. The standard TinyOS task scheduler uses a nonpre-emptive, FIFO scheduling
policy.
Features of TinyOs:

 Completely non-blocking
 Programs are built out if software components.
 Tasks are non-preemptive and run in FIFO order.
 TinyOs code is statically linked.

Design Models:

 Components-based model(Modularity):
-Simple functions are incorporated in components with clean interfaces.
-Complex functions can be implemented by composing components.

 Event-based model
-interact with outside by events (no command shell)
-There are two kinds of events for TinyOs:
 External events: Clock events and message events;
 Internal events: triggered by external events.

Structure of TinyOs:
Advantages:
 Component based architecture allows frequent changes while still keeping the size of
code minimum
 Event based execution model means no user/kernel boundary and hence supports high
concurrency.
 It is power efficient as it makes the sensors sleeps as soon as possible.
 Has small footprint as it uses a non-preemptable FIFO task scheduling.

Threats:
 No support for heterogeneity
o Support for other platforms.
o Support for high data rate apps
o Interoperability with others software frameworks and languages.

 Limited visibility
o Debugging
o Intra-node fault tolerance.

 nesC offers only some types of checking.

Tizen(mobile operating system)


Tizen is an open source, cross-architecture software platform based on Linux supported by
leading mobile operators, device manufacturers, and silicon suppliers for multiple device
categories such as smartphones, tablets, netbooks, in-vehicle infotainment devices, and smart
TVs.
 Tizen offers a fertile OS, applications, and a user experience that consumers can get
from device to device.
 It is driven by a movement to create an alternative, less expensive mobile market
platform. Developers hope the Tizen ecosystem will give both vendors and consumers
more flexibility than is offered by existing mobile ecosystems.
 Tizen is a project that resides within the Linux Foundation and is administered by a
Technical Steering Group (TSG) composed of Samsung and Intel among others. The
TSG is the primary decision-making body for the project and focuses on architecture
and implementation, along with the formation of working groups to support device
verticals.
 The Tizen Association is led by a group of mobile operators responsible for active
development of the ecosystem around Tizen. This development work involves market
presence, gathering requirements, identifying and facilitating service models,
marketing and education. The list of association partners includes eBay, Konami,
Panasonic, Sharp, TrendMicro, TuneIn Radio, Sharp Electronics, Samsung and
Panasonic.

Features:

1. Flexibility- Tizen is an open source operating system based on the Linux


kernel and WebKit runtime. This means that users can get the source code that
Tizen is based on, allowing smartphone owners to tinker with and alter a
device’s software. Its main feature is its compatibility with multiple mobile
platforms; which means that applications made with the Tizen OS are
compatible and can be launched in other OS like the IOS and Android, with a
slight code change. This is undoubtedly a big advantage over the existing
android and IOS development that lets apps to run only on their own OS. This
factor can indeed be appealing for both developers as well as establishments
who want their apps in all major platforms.

2. Versatility-Tizen allows a wide variety of application development which can


run across multiple device categories. This could be achieved primarily
because of highly optimized HTML5 support in Tizen. An app on Tizen coded
in HTML5 would run on everything from smartphones to laptops and even to
devices such as TVs. HTML5 is the latest version of Hypertext Markup
Language, the code that expresses web pages. HTML5 has been designed to
convey almost everything you would want to do online without requiring any
additional software such as browser plugins.

3. Personalisation and customisation: Tizen is designed to make it economical


and feasible to tailor its features to specific user markets. A developer can
easily remove the operating system components for running the apps that user
do not require. As a result, Tizen will allow carriers and developers to take the
core OS and customize it for the specific market the phone model targets. This
is a differentiator where Tizen performs much better than other mobile
Operating Systems.
Architecture:
Application:
 Tizen was developed by Samsung mainly for the iOt devices( family hub of Tizen devices) in order to
create family Hub 2.0 smart home (smart refrigerator, intelligent Washing machines etc.).

Threats:
 Similar concept like android so can be a threat to popularity
 Late comers in industry so has to face high competition.
 Samsung is trusted with android devices so there are chances of losing trust from the company.

The initial versions of the os where full of bugs and had a lot of security issues.
QNX(real time operating system):
 QNX is a real time operating system designed for critical tasks
.
o A commercial Unix-like real time operating system, aimed primarily at the embedded systems
market.
o Developed by Canadian company, QNX software Systems, which was later acquired by
BlackBerry.

 The operating system is based on the Neutrino microkernel


o QNX is based on the idea of running most of the OS in the form of a number of small tasks,
known as servers.
o Allow users (developers) to turn off any functionality they do not require without having to
change the OS itself; instead, those servers are simply not run.

 QNX is used in industrial, network, telecommunications, medical and automotive devices.

Applications provided by the Qnx:

 Multitasking.
 Priority-driven
 Preemptive scheduling.
 Fast context switching

Architecture of the QNX:


A microkernel architecture, “structures the operating system by removing all
nonessential components from the kernel and implementing them as system and user-level
programs. The result is a smaller kernel. There is little consensus regarding which services
should remain in the kernel and which should be implemented in user space. Typically,
however, microkernels provide minimal process and memory management, in addition to a
communication facility.”

Features:

 Realtime
 Multicore : Most of the versions of QNX provide a full multicore solution that has been
deployed on multicore processors in virtually every embedded environment.
 Self-healing systems: If any component fails it will not damage the kernel or the other
programs.
 Adaptive portioning: If spare CPU capacity is available it is allocated for the processes
(process exceed their budget limit) but if the capacity is limited processes are guaranteed to
get their budgeted share.
 High availability if a device driver, protocol stack or application experiences a problem, it
does not take the other components down with it. The high availability manager can terminate
the restore the components without a reboot.
 Portability: Extensive support for POSIX standards facilitates application portability and
rapid migration from Linux, UNIX, and other open source programs.
 Security: BlackBerry QNX brings advanced, layered security mechanisms, built directly into
the OS and kernel. With BlackBerry QNX you can build a system that offers the best possible
security measures
 Memory Access Protection
 Graphics: QNX Neutrino includes a graphics compositing windowing system (Screen) that
has complete GPU hardware acceleration and is capable of integrating multiple GUIs into a
single scene. This scene is then rendered into one image that is associated with a display,
allowing the designer to use the most appropriate graphics technology that corresponds with
the image.
Limitations:
 Limited Tasks
 Use heavy system resoures
 Low multitasking
 Complex Algorithms
 Expensive

QNX do contain some security threats and limitations that have been detected many times such as the
case with major car companies had with their infotainment systems.
Ubuntu(desktop operating system):
Ubuntu is an African word meaning “humanity to others”.

 Ubuntu Linux is a computer operating system based on the Debian GNU/Linux distribution.
 I also has a wide range of pre-installed applications and many more readily available at the
click of the mouse, and an ever-growing user community.
 It is distributed as Free and open source software.
 Ubuntu is designed primarily for desktop use, although network and server editions exist as
well.

Benefits of Ubuntu over other desktop operating systems:

1. Ubuntu is free: The very 1st advantage of Ubuntu is that it is entirely free. Unlike
Mac OS or Windows, you need not pay any fees in order to use it.

2. Ubuntu can be easily customized: Even though Windows now provides some
customization features but Ubuntu is much more customizable as compared to any
other popular OS. This ensures that you are able to use it exactly as per your
requirement. You can customize each and every aspect of the UI which ensures that
you are able to make your machine much more efficient.

3. Ubuntu is more secure: Most of the operating systems have their own share of
problems. Ubuntu, however, is much more secure as compared to some of the other
operating systems like Windows. You need not pay a fee in order to protect your
machine when it is running on this OS. This is the reason why it is a good idea to go
for Ubuntu.

4. It can run from a flash drive: You need not install it in order to run it. You can
simply load it into a pen drive and run it from there. This also means that you will be
able to carry your OS with you wherever you go.

5. Good option for development: If you program or code, it is one of the best options
for you. It provides you with quite a few by default options which ensure that you are
able to code right away. Text editors, as well as office suites, are directly included.
This means that you will not have to install separate compilers or software on your
OS in order to start coding.
6. Frequent updates: The support which is provided by Ubuntu is much better as
compared to the other operating systems. Any bug or vulnerabilities are patched
pretty fast. Moreover, with each and every update you will have a host of new
features as well. This will help you make your OS more efficient consistently.

7. Virtual desktops: Ubuntu offers you multiple desktops just like the screen on your
smartphone. You can switch between the different screens in order to work on
different software. This ensures that you are able to increase your productivity
significantly.

Features:

Ubuntu is completely free to use means any one can use Ubuntu, for any type of purpose. you can
customize you Ubuntu as you want. Ubuntu is the most popular operating system running in hosted
environments, so-called clouds as it is the most popular server Linux distribution.
Ubuntu Is Completely Open Source Projects that can run on clouds, servers, desktops, smartphones,
tablets, IoT(Internet of things) and much more.
Architecture:

 Kernel − Kernel is the core part of Linux. It is responsible for all major activities of this
operating system. It consists of various modules and it interacts directly with the underlying
hardware. Kernel provides the required abstraction to hide low level hardware details to
system or application programs.

 System Library − System libraries are special functions or programs using which
application programs or system utilities accesses Kernel's features. These libraries implement
most of the functionalities of the operating system and do not requires kernel module's code
access rights.

 System Utility − System Utility programs are responsible to do specialized, individual


level tasks

Drawbacks:

It is very perceptive to faults in hardware which makes it less steady as compared to other
operating systems.
There is a little hardware support for Ubuntu OS. Some of the users complain that it
becomes difficult to configure modem to start work on internet.
It is not possible to play the modern games in Ubuntu OS. It shows the poor graphics quality
and ne have to use emulators to do so that harms the graphics quality.
Though Linux (Ubuntu) has number of free applications and software available on net, but
most of the applications are not found for Linux use.
 Ubuntu is not capable of playing MP3 files by default.

Advantages:
 Ubuntu is most secured OS known till date.
 Ubuntu is an open source OS.
 Ubuntu is most popular Linux operating system.
 It is available free of cost.
Solaris (clustered operating systems):
Solaris is an operating system introduced by Sun Microsystems Ltd. Solaris belongs
to Unix Operating system family which uses shell as interpreter. The shell
translates the user commands to a language that is understood by the kernel of the
Operating sys-tem. The Kernel controls all the hardware such as CPU, Storage
devices and I/Os.

Benefits:

Virtualization: Optimize resource utilization to deliver predictable service levels with


Solaris Containers.
Networking: Attain near-wire-speed throughput with the open, programmable Solaris
networking stack.
Security: Implement a secure foundation for deploying services with Solaris leading-edge
security features.
Availability: Increase uptime with the predictive self-healing feature.

Features:

 Security Solaris includes some of the world's most advanced security features, such as Process and
User Rights
 Management: Trusted Extensions for Mandatory Access Control, the Cryptographic Framework and
Secure by Default Networking that allow you to safely deliver new Solutions consolidate with security
and protect mission-critical data .
 Performance: Solaris delivers indisputable performance ad-vantages for database, Web, and Java
technology-based ser-vices, as well as massive scalability, shattering world records by delivering
unbeatable price/performance advantages.
 Networking: With its optimized network stack and support for today’s advanced network computing
protocols, Solaris delivers high-performance networking to most applications without modifi-cation.
 Interoperability: Understanding that businesses today rely on a mix of technologies from a variety of
vendors, Solaris provides tools to enable seamless interoperability with hundreds of hetero-geneous
hardware and software platforms [7].
 Observability: The Solaris release gives you Observability into your system with tools such as Solaris
Dynamic Tracing (DTrace), which enables real-time application debugging and optimization.
 Platform Choice: Solaris is fully supported on more than 900 SPARC-based and x64/x86-based systems
from top manufacturers, including systems from Sun, Dell, HP, and IBM [2].
 Virtualization: The Solaris OS includes industry-first virtualization features such as Solaris Containers,
which let you consolidate, isolate, and protect thousands of applications on a single server [7].
 Availability: Solaris features, such as Predictive Self-Healing, support automatic diagnosis and
recovery from hardware and application faults, maximizing system uptime.
 Support & Services: Offering a broad portfolio of world-class services, Sun can help you extract
maximum value from the Solaris Operating System.
Architecture:

 Solaris is based on layered architecture.


o Layered approach is basis for Unix security.

 The lowest(functional) level is the closest to the hardware which has the basic hardware
interface modules
o Process scheduling
o Memory management
o Interrupt handling
o Low level device control
o Disk system management and data buffering
o Process synchronization and inter-process communication (IPC).
 In addition to the software levels, Unix also features two “rings of protection” from
inadvertent programming errors or malicious attacks that might damage other user’s
processes or the kernel’s processes and data structures.

Advantages:

Heavy multi-tasking work

It is built for computer networking

Reboot is not required.

Support Zfs file system

Good backup tools

Fully virus protected.

Disadvantages:

Not user friendly

You can run for free but you can’t get updates for free.

Not available on tablets/phones


Applications and appropriate operating system used:

 Whatsapp Messenger(mobile application): This application run on Tizen OS and some


versions of Qnx but it would run better on Tizen as the resource and performance
management on Tizen is better than QNX, the architecture of the OS is such that it can
handle multiple tasks at the same time. It is easier to use and customize.

 Realtime applications (like monitoring systems, control and detection devices): These type of
applications can run on Tinyos and Qnx both in which Qnx supports multithreading but
tinyos is specially used for wireless devices and sensor networks as it is simpler than qnx and
it is self-healing.

 Oracle database applications: If oracle applications and database management is considered


solaris that is a oracle project also is the best choice as it has much efficient ,user friendly
and fast system for data management.

 Server based usage: The server setup and working interface is easier in Ubuntu as compared
to Ubuntu because of extended utilities and software from canonical. It has great package
support, is stable and has great package support.

Вам также может понравиться