Академический Документы
Профессиональный Документы
Культура Документы
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.
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.
Features:
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.
Multitasking.
Priority-driven
Preemptive scheduling.
Fast context switching
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.
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.
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:
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:
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:
Disadvantages:
You can run for free but you can’t get updates for free.
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.
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.