Platform Technologies Reviewer
Platform Technologies Reviewer
platforms have become the design paradigm of choice for today's complex engineered
systems. We first saw the power of the platform model in the development of the personal
computer some twenty to thirty years ago as operating system providers built their
technology as a platform for software developers to create applications on top. But it was
not until the past decade with the widespread advent of the internet that the platform
model has truly come of age as virtually every internet company from the biggest search
giants to the smallest little social media widgets has started to define their solution as a
platform.
Platform technology is now the answer to major three questions of what barriers
exist for effective technology reuse, how to organize technological knowledge, and how
increasingly build products on top of other people’s platforms, count this as the first role
of the platform.
Secondly, complexity; to deal with this complexity of our technology paradigm will
require a move from the standalone solutions of today, into a world of systems where
smaller technologies are nested within larger ones in a plug and play, flexible, modular,
service-oriented architecture.
creating APIs and platforms on which end-users can alter, adapt and innovate while being
Lastly, this platform allows the end-users to draw upon underlying services so that
they do not have to reinvent them each time and can thus develop and deploy their
buildings more rapidly. Fast-paced technology change and the demands of a new
technology development cycles for which the platform model can prove well suited.
During the past few decades, with the rise of the Internet platforms, such as the
App Store or eBay, have proven to be some of the most dynamic, innovative, and fastest
growing services. But of course, the platform model to systems architecture has always
been there since the invention of farms and factories to the making of Lego building
blocks. When many people see a new technology at work, they don’t usually consider all
the pieces that went into its creation. They simply see the amazing capabilities and never
give it much thought. However, within advanced industrial economies, many products and
services are enabled by the power of abstraction. They are remixes, built out of services
from platforms that enable the endless bundling and re-bundling of different components.
various products can emerge without the expense of a new process introduction. In order
to achieve this, our system needs to be architected to have two fundamentally different
levels, that is, it must have a platform providing the basic services that can be combined
into different configurations on the application level to deliver various instances of the
technology to the end-user.
technologies that are used as a base or infrastructure upon which other applications,
technologies or processes are developed for the end-user. For example, in personal
computing, a platform is the basic hardware (computer) and software (operating system)
on which software applications can be run. Although the term is most readily identified
with information technology it, of course, applies to all type of technology. For example,
a city is another good model of a platform technology, with a core set of underlying
infrastructure services that are provided for building developers to construct modular
structures in the form of buildings on. This platform allows them to draw upon underlying
services so that they do not have to reinvent them each time and can thus develop and
Computers use specific central processing units (CPUs) that are designed to run
specific machine language code. In order for the computer to run software applications,
the applications must be in that CPU’s binary-coded machine language. Thus, historically,
application programs written for one platform would not work on a different platform.
distributes the system out into different levels of abstraction. This is done in order to
differentiate between core – platform – functions, and the application layer that sits on top
NON-PLATFORM TECHNOLOGIES
system. There is no differentiation between the system’s infrastructure and its application.
They are all just one thing. It is an instance of a hammer. It cannot generate new and
technology. The end-user gets and uses the whole thing. To make the comparison
clearer, we could compare the instance of a car with an automobile platform that allows
a motor company to release several vehicles built upon a common chassis, which is the
platform, with different engines, interiors and form factors, for the same or different
POWER OF INTEROPERABILITY
physical objects that perform a function, platforms are designed to be interoperable with
other systems, they will likely have external applications running on top of them all of
which cannot be fully foreseen by the developers of the platform. Let us analyze an IoT
platform for a house that will have to interoperate and work with many devices and
technologies in the house if it has to be successful at delivering the end service. This
very different dynamic. The result is one of increasing cooperation as most of the value
is no longer inside of the organization or technology but increasingly outside of it; the
See the case of a smartphone that would not be very valuable if it could not connect
to the internet or run other people’s applications on it. Most of the value that the end-user
gets from their smartphone is not created by the original technology developer, but
instead by other people connecting into that platform and building things on it, or that
system connecting to others. With information technology, we can build once and deploy
many times, almost anywhere at a very little cost per extra unit.
The typical example is Facebook they can build their software platform once and
through the internet, it can be accessed and used as a service at extremely little extra
cost, per person, to them. Interoperability and collaboration between systems are the key
ingredients, and platforms facilitate this by allowing different technologies to plug into
each other and seamlessly draw upon their services. A platform technology architecture
The most successful technology providers of tomorrow will be those who are able
to harness this mass of new capacity and capabilities on the long tail by providing them
with the tools, know-how, methods, and connectivity to participate, and the platform model
CAPACITY OF BUNDLING
or technology from which various products can emerge without the expense of a new
process introduction. This is achieved by defining a core set of building blocks and then
configuring them into different bundles depending on the context. Effective platform
technologies should work interdependently, where the platform provides the elementary
building blocks that are then bundled together on the application level to meet the specific
requirements of the end-user. Platform design goes hand in hand with a service-oriented
architecture, where developers of applications treat the building blocks as services that
they then simply string together in different ways to build their solutions like a Lego kit.
We can explain this idea as mentioned here, within just a few weeks, one could
create a new service by building a web application that draws upon services from Twitter,
for user identity, Ethereum for secure transactions, Alibaba for sourcing materials,
Upwork for staffing, etc. The fact that you don’t have to build all of these core components
yourself, you are just plugging them together means that you can easily and quickly
reconfigure them when needed. At the heart of the platform, a model is a distinction
between the basic functionalities of the technology and how those functions are
composed.
engineers or end users can join with these common platforms without much financial and
systems and processes. These can be viewed as toolsets for developing and operating
customized and tailored services. The following are common types of platform
technology.
use hardware. These are the lowest level of platform. Almost all software runs on
an operating system such as Linux with the only exceptions being low level
example, a cloud computing platform that allows you to scale your services by
adding and removing virtual machines as required.
3. Database Platforms - Cloud platforms for deploying and managing various types
4. Storage Platforms - Platforms for scalable storage of objects and files including
APIs and value added services such as resilient storage that is backed up in
multiple locations.
build dynamic web applications by executing code and integrating with databases,
environments for building mobile apps. They also include cloud platforms for
building mobile backends that provide services to mobile apps. This may include
specialized APIs that are useful for mobile app developers in areas such as
7. Web Platforms - Platforms that provide services that are useful to websites and
content, media and documents. These are often used internally in organizations
as an intranet site and document management system. They are also commonly
9. Media Platforms - Platforms for media publishing and analysis with tools such as
an API gateway that performs functions such as load balancing, latency reduction
11. Analytics Platform - Services for capturing, processing, analyzing and visualizing
data. This may include tools for ingesting, processing, querying and managing big
data.
12. Security Platform - Security services such as firewalls, identity & access
13. Robotics Platform - Robotics platforms may include an operating system for
robots with a framework for developing and deploying backend systems and
14. Internet of Things (IoT) - Internet of things platforms may include an operating
system for devices and a cloud platform with specialized APIs for internet of things
15. AI Platforms - Services that are based on AI such as a voice synthesis service
and tools for building your own AI such as a machine learning API. This may also
include environments for running your AI that are optimized for machine learning
16. Game Platform - Environments that are optimized for running game services such
as backends for mobile games or massively multiplayer online games. These may
technologies involve two distinctly different levels to their design with these different levels
defined according to their degree of abstraction. Abstraction is the quality of dealing with
generic forms rather than specific events, details or applications. In this respect,
abstraction means removing the application of the technology from the underlying
processes and functions that support that application. The platform is an abstraction,
meaning that in itself it does not have application. For example, you might rent a cloud
platform from a provider but in itself, this is absolutely no use to an end-user they cannot
do anything with it. Platforms are composed of generic processes that do not have specific
instantiation. The application is designed to bundle these underlying resources and turn
them into a real instance of an application that can be applied in the real world.
In the auto industry, for example, a car platform is a shared set of common design,
engineering, and production models from which many different specific models can be
created. In this way the car companies have abstracted away from any specific type of
car to create a two-tiered system; one level being generic the other specific to any
instance of that model. This is a central aspect of the platform model, the creation of a
generic form or set of services, on the underlying platform level, and then on the
application level these services are bundled into different configurations and customized
to the specific needs of the end-user. In such a way a finite amount of reusable abstract
This use of abstraction works to remove the complex for the application
developers. By moving core services down to the platform level application developers
can simply plug into these services and build their applications on top of it, thus working
to greatly simplify the complexity they encounter. We can think about a house as a
platform, once there are common protocols, IoT platforms for houses will be built where
any device, technology or item that enters into the house can then connect into the
platform and become an application, the house platform can then manage these
This core idea of abstraction is very powerful and can be applied to our entire
technology landscape, with smaller more specific technologies sitting on top of others that
work as the platform supporting them which, in turn, may also sit on top of others that
support them. For example, smart cities will become platforms with houses being
applications that draw upon the common physical and information resource made
available - such as parking, water, electricity etc - but also the house itself will be a
platform for all of the technologies within it delivering services to them. Each layer in the
hierarchy bundles the resources provided to it from that below and delivers those
LEVELS OF ABSTRACTION
Probably the clearest and best example of platform technologies are personal
computers. Let’s spend some time taking one of this computers to pieces to better
The platform, in this case, is the computer’s operating system. But before we can
get to the platform that’s doing all the great work, we need a foundation for it to sit on,
that is, a set of enabling technologies.
In this case, our foundation layer is our computer hardware and all the low-
level firmware that interfaces between it and the operating system. But within a
business, our foundation layer might be the economic system it is a part of, the
public services such as security, rule of law and maintenance of natural resources
that would enable our business to function. The same would be true of a city. It
The next layer up from the foundations or hardware is the platform itself,
platform takes the resources available to it from the infrastructure and creates the
Lego blocks that we will be used to build things with. These resources are
program interfaces.
the production line for creating the car’s parts. The employees can rearrange this
production line to create different vehicles. In the example of a city, this platform
level might be the urban utilities that contractors will interface with to build offices
and residential spaces, and there will be a standard set of procedures for them to
do this.
3. Application Layer
On top of the operating system lies the application layer. Developers draw
on the services provided by the operating system and bundle them in various
App Store, the cars coming off of our production line, the buildings in a city or the
financial products offered by a bank are examples of the application layer, endless
Lastly, the user interface layer. When the end-user switches on their
computer, they don’t want to see 0’s and 1’s or lines of code. They want to see
things they understand, pictures of files, and nice drop down menus. The majority
of people who interface with the systems we are architecting will do so, so as to
get the maximum functionality out with the minimum input of effort. In order for
them to do this, we need a layer that translates the internal logic of the system into
a language they understand. This interface might be the dashboard on our car or
the receptionist in our hospital telling people where to go. Whatever it is, it is all
about the end-user, the language they speak, what they need, and how to translate
the systems functionality into a solution that involves the participation of the end-
user.
In continuing with our analogy from the world of I.T. we might call this a solution
stack, the full set of subsystems and layers of abstraction to provide the platforms full
level of abstraction towards the end-user, we are simplifying the complexity and level of
engagement required. Those working on the platform level require a deep understanding
of the system and have to deal with its full complexity but are relatively unconstrained.
Those who engage with the system on the application and user level are
constrained by what the platform providers have designed, but being enabled by this
technology they will be able to do more with less input and engagement.
The net result is that we should get an amplification effect as we go up the solution
stack due to the increased ease of engagement. Thus, there will be many more
application developers than there are operation systems developers, and there will, in
turn, be many more end-users than there are application developers, and this should be
the case wherever we are using this platform model to systems architecture.
Why should we care about platform technologies? There are a number of reasons
this architecture should be of benefit to us. Firstly, by distributing the system across
multiple layers, we can abstract away the complexity that users or producers of the
service have to deal with. Everything gets its own space. Secondly, we can avoid
redundancies by having the platform provide the common services required by all
components. We can reduce the need for each component on the application layer to re-
invent the wheel. Thirdly, platforms are the ideal architecture for creating user-generated
systems. Thus, we can leverage the amplification effect we discussed earlier to do more
with less, helping to maintain an agile core system. And lastly, the platform architecture
is ideal for building flexible, adaptive, and evolutionary systems. Given its independence
from fixed instances, the system can stay innovating on the application level to continue
regenerating itself.
APPLICATION PROGRAMS
or software, which may be required to complete a task. The most important software
that must be installed to any type of computers is the operating system. The operating
Therefore the operating system is the resource manager which could manage the
The course aims to explore the importance of the operating system and its
function. The course also explores how application interacts with the operating system
and how the operating systems interact with the machine. Also, the course shed light
on some of the existing operating systems and how the topics taught in the course are
applied in these systems. This course also provide an overview of computer operating
systems being used by the majority of users nowadays. This unit includes topics about
examples of operating systems for personal computers and its application programs.
At the end of this module, student will be able to install, troubleshoot, repair and
Computer Softwares
companies that helps us perform tasks and increase our efficiency. From the Microsoft
Windows that greets us when we turn on the computer to the browser we use to surf
the web, and the application on our smartphone that guides us on how many calories
we burn today. Each one of these different types of software helps us perform our day
Computer Software is a general term for the various kinds of programs used to operate
enables the user to interact with a computer, its hardware, or to perform tasks. Related
terms such as software programs, applications, scripts, and instruction sets all fall
computer.
Software is an indispensable part of the machine you cannot see, but it allows
you to use the computer - just like how a mouse, monitor, hard drive and keyboard
help you use the computer. Some common examples of software include Microsoft
Word, Adobe Photoshop, Adobe Reader, Google Chrome, Gmail, PowerPoint, VLC,
and many other similar computer programs that we often use in our daily life.
Source: https://www.goodcore.co.uk/blog/wp-content/uploads/2019/08/types-of-software-
1024x439.png
the instructions that the computer follows. It enables the user to interact with a
computer and its hardware. Without software, most computers would be useless. For
example, without your Internet browser software, you could not surf the Internet.
Without an operating system, the browser could not run on your computer.
The word software was first used in the late 1960s to show the difference from
computer hardware, which are the parts of a machine that can be seen and touched.
computer data storage media like paper punch cards, magnetic discs or magnetic
tape.
If you compare computers to music and musical instruments you can think of
hardware as being the instruments and software being the musical notes.
1. Application Software
Application software is used to accomplish specific tasks other than just running
prepared in the computer lab can come under the category of application software.
Source: https://linuxrocks.online/system/media_attachments/files/000/998/104/original/
63b9d5860eaeea15.jpg
a small collection of programs (often called a software package) that work closely
larger collection (often called a software suite) of related but independent programs
and packages that have a common user interface or shared data format, such as
with the most. These types of computer software are productive end-user programs
that help you perform tasks. Following are some examples of application software that
2. System Software
System software helps the user, hardware, and application software to interact
platform for other software and applications to work in. This is why system software is
essential in managing the whole computer system.
the interface between the hardware and user applications. It is responsible for
computer system so that other software and the users of the system see it as a
functional unit without having to be concerned with the low-level details such as
The system softwares are designed to operate, control, and extend the
languages, which interact with the hardware at a very basic level. In layman terms,
system software simply serves as the interface between the hardware and the end
users.
fundamental utilities such as disk formatters, file managers, display managers, text
editors, user authentication (login) and management tools, and networking and device
package.)
Microsoft Office, OpenOffice, StarOffice,
LibreOffice
content.)
video files.)
view websites.)
video-based communication.)
Google Meet, Zoom, OBS, Cisco WebEx,
Skype
sort information.)
PC-cillin, McAfee
Source: https://major-world.com/0-img4/operating-systems.jpg
smartphone, and tablet, etc. Here is a list of examples of an operating system. Let’s
take a look and you might spot some familiar names of system software:
Linux
UNIX
Oracle Solaris
PC)
Apple’s iOS
Google’s Android
Windows Phone OS
Bada
Blackberry
FireFox
Amazon Fire
Other than operating systems, some people also classify driver software and
● Driver Software
Driver software is often classified as one of the types of system software. They
operate and control devices and peripherals plugged into a computer. Drivers are
important because they enable the devices to perform their designated tasks. They do
assigning duties. Therefore, each device connected with your computer requires at
Since there are thousands of types of devices, drivers make the job of your
language. Some examples of driver software that you may be familiar with are:
● Printer Driver
● Mouse Driver
Usually, the operating system comes built-in with drivers for mouse, keyboard,
and printers by default. They often do not require third-party installations. But for some
● Programming Software
not for you unless, of course, you are a programmer who writes code. Programming
software are programs that are used to write, develop, test, and debug other software,
including apps and system software. For someone who works at a software
development company, for example, this type of software would make their life easier
and efficient.
They are facilitator software used to translate programming languages (i.e., Java, C++,
Python, PHP, BASIC, etc) into machine language code. Translators can be compilers,
translate the whole source code into machine code and execute it. Interpreters run the
source code as the program is run line by line. And assemblers translate the basic
Source: https://miro.medium.com/max/1080/1*mzJZ1cxIt9rndKncuigc0A.jpeg
Do we really need to pay for everything that we use? Well, that’s not always
true, especially when we talk about software. This world gives us the opportunity to
get software free of charge that is available for everyone. It doesn’t mean less quality
or usability comparing it with those we pay. In this lesson, we will compare Free and
Open Source Software vs. Proprietary Software to know the advantages and
disadvantages, examples, and how you can use them in the best way.
Having the right type of software is essential for running a business as efficiently
business purposes, or even creating a website, you generally have one of two choices
when it comes to choosing a software platform. You can choose to use proprietary
software that is trademarked and likely requires you to obtain or purchase a license,
or you can use a free and open-source software (FOSS), which is free software that
you can download and pay no licensing fees to use. Wondering whether you should
use proprietary software like Adobe Photoshop and Microsoft Windows or open-
source platforms like GIMP and Linux? Deciding between the two isn't easy. Both
proprietary platforms and open platform systems have their strengths and
weaknesses.
In the early days of information technology (IT), computers were delivered with
operating systems and basic application software already installed, without additional
cost, and in editable (source code) form. But as software emerged as a stand-alone
product, the independent software vendors that were launched to take advantage of
competitors from gaining access to their trade secrets. The practice also had the result
that computer users became dependent on their software vendors for support and
upgrades.
application software, they also became "locked in" to their hardware, because of the
of distributing human-readable source code as well as the legal right to modify, share
and distribute that code, together with the usual, machine-readable object code,
operating system free from constraints on use of its source code. Particular incidents
that motivated this include a case where an annoying printer couldn't be fixed because
which could be copied by others and made changes too as they pleased. Open source
allows the source code (computer code) to be shared, viewed and modified by other
2. Freedom to study the source code of the program and change it to make a
/ recopy)
In a few words, it is a kind of software that is available for everyone in the world
to use, and it has the peculiarity that its code is open to developers. This makes
possible that developers can change the code until it works the best for a specific
project they are participating in. Engineers, customers, even developers love this kind
of software because they can save effort, work, and time using something that was
already developed. And as if this wasn’t enough, they can personalize this main code
The most well-known example of open source software is the Linux operating
system, but there are open source software products available for every conceivable
purpose.
almost all have two things in common: the software can be used without paying a
license fee, and anyone can modify the software to add capabilities not foreseen by
its originators.
Source: https://blog.topfreeware.com/wp-content/uploads/2018/02/software_tree.png
Although it seems to be the same, they aren’t. Open Source Software, how we
saw, it is a software you can modify and adapt it to your necessities. While free
software, commonly, cannot be transformed. You can use it for free but only with
Typically, free software refers to a software that you can use without incurring
any costs. Unlike open source software, free software offers minimal freedom to the
end user. Whereas it can be used free of charge, often modification, redistribution, or
other improvements cannot be done without getting permission from the author. As
such, free software is often shared without including its source code, which is atypical
Two of the most common types of free software are Skype and Adobe Acrobat
Reader. While both programs are free to use, their source codes are unavailable to
the public. Most developers usually market free software as freemium with the
program that is offered at no cost, but money (premium) is paid for extra, more capable
features.
● Proprietary Software
Proprietary software on the other hand in its mass distribution reserves all rights
to the author except a license to run the software on the purchaser's computer. Herein,
the software developers attempt to prevent outsiders from gaining access to their
source code, this in order to protect the sole right of the proprietor to add features or
correct defects. The licensor issues licenses to the users who are willing to use the
redistributing the software to other users. This strategy creates a 'lock in' effect where
the user is forced to purchase the upgrades solely from the proprietor or abandon the
product entirely.
Microsoft Office, Dropbox, AutoCAD and McAfee VirusScan are all examples
of proprietary software. Most business owners and entrepreneurs use these programs
subscription.
experience. These programs usually include regular upgrades, technical support and
a wide range of tools. They also tend to be easier to use and provide greater
Source: https://3.bp.blogspot.com/-mllCaS1S06I/Vq5hFx_1BoI/AAAAAAAAAA4/lEb0g-9qx44/s1600/
as.jpg
Their source code is not available to the public. They're constantly updated to detect
and remove bugs and vulnerabilities, but these updates often come at a price.
Developers are aware of the latest industry standards and incorporate these concepts
Unlike open source software, the internal structure of proprietary software is not
exposed and the restrictions are imposed upon the users by the End User License
Agreement (EULA), the conditions of which are to be legally followed by the end users
regarding the software. Let’s see below the major differences between free and open
Firefox)
Proprietary Software
Photoshop, Safari)
Purchased with its source code. Purchased without its source code.
charge.
software.
Users can modify the software. Users cannot modify the software.
computer.
No one is responsible for the software. Full support from the vendor if anything
others.
copyrights.
Knowing the different software license types is crucial for any business owner.
If you intend to create and distribute software, or if you plan to utilize software in your
business, being aware of the different forms of licensing uses can be a critical part of
A software license is a document that provides legally binding guidelines for the
use and distribution of software. Software licenses typically provide end users with the
right to one or more copies of the software without violating copyrights. The license
also defines the responsibilities of the parties entering into the license agreement and
may impose restrictions on how the software can be used.
a form of contract between a person in a company that creates a type of software and
the person who downloads or buys the software to use for his or her own purposes.
There are a variety of types of software licenses. Some are based on the number
machines on which the licensed program can run whereas others are based on the
number of users that can use the program. Most personal computer software licenses
allow you to run the program on only one machine and to make copies of the software
only for backup purposes. Some licenses also allow you to run the program on different
Software licensing exists to protect a copyright of software and can restrict the
way that the user can use it. In general, the restrictions consist of copying the software
Making any changes to the software or altering the code is also a violation of a
software license. Any software that has a copyright and is covered by a license is done
through different methods, meaning there are different types of licensing that can be
used.
● Perpetual. This lets the customer install and utilize the software for an
days.
● Subscription. This license lets the user utilize the software for a certain
amount of time. It will include technical support and allows the user to
period. At the end of the subscription, the user has some different
● Freeware. This license is provided by the creator that lets the user use
● Shareware. This allows for a trial period of software use. If the user likes
it, they can then pay a shareware fee or discontinue use of the software.
to remain bundled alongside the computer system and may not be sold
as a stand-alone product.
● Concurrent Use. This license will require you to buy a license for all of
the people who will be using the software at the same time.
3. Individual and Multi-users License
to get a reduced price. When you buy the licenses, there is one copy of
the software and instructions on what to do when you want to buy more.
● Server License. Provides for a license per each server. It requires you
to have one copy remaining on your file server. A certain number of client
access licenses are offered per server. There is a set number of devices
● Per Seat. Provides for a license per each machine. You will need to buy
● Per Processor. You will buy a license for every processor on the server
that is running the software. It will include access for an unlimited number
exchange server, you can also deploy a license through mailbox mode.
shortage of products to consider, and those with good programming skills often choose
software with open code so they can add their own features and functionality.
Generally, items with closed code are licensed through End User License
Agreements (EULA) while open code products use one of the many Free Software
License forms. These agreement types have vast differences between them because
The EULA (End User License Agreement) is a contract between the software
that the developer of the software is its de facto owner, and that a copy of the
respective software bought from a vendor (or downloaded from the Internet) only
licenses it to a user. It establishes the user’s right to use the software via a limited
The end user is only allowed to use it as long as certain terms are respected,
and is also prohibited from any alterations or uses of the software without the specific
consent of its rightful owner, the software company/developer. Users must agree to
A Free Software License is a notice that gives the software user rights to modify
the software that’s provided for free. Users don’t need to agree to anything, as this
type of license basically declares, “I grant you the permission to copy and modify this
1. Ownership
When a software distributor wishes to retain full ownership of the
software and only provide limited-use licenses, a EULA will be used. EULA’s
will include a clause that covers ownership, proprietary rights, copyright notices
Free Software Licenses are used when the software owner does not
ownership in the original source code, and the Free Software License will
require that modified versions of the software still refer to the original creator’s
copyright.
2. Rights Granted
A EULA will tell users what they cannot do, while a Free Software
unrestricted and full rights to modify, alter, sub-license and distribute the
Licenses. A EULA usually spells out obligations and duties of users in order to
use the license. These typically include payment of fees and subscriptions, as
well as agreeing to and adhering to all of the EULA terms or risking license
termination.
they’re minimal.
4. Acceptance of Terms
software and only provide limited-use licenses, a EULA will be used. Because
a EULA is a contract between the software distributor and the user, the user
must formally accept its terms and conditions. Because a Free Software
5. Liability
disclaimers and limitations of liability. This is because all software comes with
risks, and the main distributor will wish to limit his legal liability for them,
Distributor retains full ownership. Distributor does not retain full ownership.
cannot be done.
Are long, detailed and specific. Are very short and general.
product lines.
software.
Lesson 2: Operating Systems
During the early time, the definition of an operating system is simply “a software
that controls the hardware”. However, today we need a better definition for this. We
can see now an operating system as the programs that make the hardware usable. In
brief, an operating system is now considered as the set of programs that controls a
computer and allows other programs to run. It consists of system software, or the
fundamental files your computer needs to boot up and function. Every desktop
computer, tablet, and smartphone includes an operating system that provides basic
that coordinate all the activities among computer hardware resources. It acts as an
intermediary between the user of a computer and the computer hardware thus,
providing an environment in which users can execute programs. The primary goal of
an operating system is to make the computer system convenient to use and its
Operating systems perform basic tasks, such as recognizing input from the
keyboard, sending output to the display screen, keeping track of files and directories
on the disk, and controlling peripheral devices such as disk drives and printers.
The operating system is the most important program that runs on a computer.
which other programs, called application programs, can run. The application programs
must be written to run on top of a particular operating system. Your choice of operating
system, therefore, determines to a great extent the applications you can run.
The computer system can be divided into four components: the hardware,
software (the operating system & the application programs), dataware and the users.
Try to review the abstract at the figure below. As you can see, the operating system
controls and coordinates the use of the hardware among the various application
programs for the various users. User1, User2, User3 ... UserN may execute the
different application software such as the use of a compiler, the word processing
In computer system, the hardware – the central processing unit (CPU), the
memory, and the input/output (I/O) devices – provides the basic computing resources.
programs- define the ways in which resources are used to solve the computing
programs.
Most operating systems regardless of the size of the computer performs the
following functions:
type. Numerous operating systems have been developed over the years, but only a
However, its shares are much smaller for other types of applications, such as
Some of the oldest models may however use an embedded operating system
that may be contained on a compact disk or other data storage device. An embedded
device is a combination of computer hardware and software that is built into some
phone or disk drive. For other devices, an operating system creates the ability to serve
a variety of purposes, interact with users in more complicated ways and keep up with
Not all computers have operating systems. The computer that controls the
microwave oven in your kitchen, for example, doesn't need an operating system. It has
one set of tasks to perform, very straightforward input to expect (a numbered keypad
and a few preset buttons) and simple, never-changing hardware to control. For a
the development and manufacturing costs significantly and adding complexity where
none is required. Instead, the computer in a microwave oven simply runs a single hard-
provided to control how you enter data and instructions and how information displays
on the screen. There are different major types of user interfaces, they are as follows:
A type of user interface wherein the user enters the commands at the keyboard
and the program responds by operating in a specific manner. In the early days of
Example: MS – DOS (At DOS prompt you type C:\>ver, which means that you want
2. Menu-Based Interface
A type of user interface wherein the commands for the programs are typically
given via menu selections. The user is offered a simple menu from which to choose
an option. One menu often leads to a further menu. Part of the screen may have an
command words can be activated by typing a letter, pressing a direction key or pointing
with a mouse.
A graphical user interface (GUI) is a type of user interface through which users
interact with electronic devices via visual indicator representations wherein the
programs and commands are represented in graphical forms called icons. A good
example of this type of user interface is Microsoft Windows.
display, but uses a speech interface instead. Information is stored in an audio format,
Virtual assistants, such as Siri, Google Assistant, and Alexa, are examples of
VUIs. The primary advantage of a VUI is that it allows for a hands-free, eyes-free way
in which users can interact with a product while focusing their attention elsewhere.
There are two major types of voice user interface, they are the speech
recognition and the voice recognition program. Voice recognition and speech
recognition are terms that are interchangeably used. However, they both refer to
that recognizes one’s speech patterns and turns those patterns into something else,
Speech recognition programs are used for general dictation, transcribing, using
can say that this type of voice operated program is being used for accessibility.
recognizes the individual characteristics of one’s voice. Like on old operating systems
such as Mac OS 9 that had a feature where you could unlock your computer using
your voice.
The key difference between voice recognition and speech recognition is the
computer doesn’t know what you said, but it knows it’s you. It’s sort of an audible
It accepts input and provides output by generating web pages which are
transported via the internet and viewed by the user using a web browser program or
A web-based user interface allows the user to interact with content or software
running on a remote server through a web browser. The content is downloaded from
the web server and the user can interact with this content in a web browser, which
acts as a client.
6. Touch Interface
sense conductivity to register input – usually from the skin on your fingertip. Because
you don’t need to apply pressure, capacitive touchscreens are more responsive than
the other type of touchscreens. They are commonly being used in vertical market
appliances, self-service machines, tablet PCs, mobile devices, and other modern
electronic devices.
or any other object, such as stylus – to register an input. They are also being used in
8. Gesture Interface
A type of user interface that recognizes gestures sketch with the user’s hands,
stylus, remote control or a mouse. Gestures can originate from any bodily motion or
state but sometimes originate from the face or hand. It interfaces with computers and
other devices using gestures of the human body, typically hand movements. In gesture
recognition technology, a camera reads the movements of the human body and
communicates the data to a computer that uses the gestures as input to control
devices or applications.
relation to gesture control. It is the process of commanding the computer via body
motion and gestures without touching a keyboard, mouse, or screen. Good examples
of this interface are found on some modern mobile phones which has a feature called
“air gesture” which can open a program or application, access menus or even activate
a button.
becoming widely popular as they provide the abilities to interact with devices without
- (1) Single user and Single Task, (2) Single user and Multitasking, (3) Multi User, (4)
Multiprocessing, (5) Real time OS, and (6) Embedded Operating Systems.
computer so that one user can effectively do one thing at a time. It is for use by a
single user for a standalone single computer for performing a single task. Operating
systems for Personal Computers (PC) are single-user OS. For example, if the user is
Single user OS are simple operating systems designed to manage one task at a time.
Figure 3.18. A user performing a single task using the MS-DOS program
This is the type of operating system most people use on their desktop and
laptop computers today. It allows execution of more than one task or process
concurrently. For this, the processor time is divided amongst different tasks. This
division of time is also called time sharing. The processor switches rapidly between
processes. For example, the user can listen to music on the computer while writing
an article using word processor software. The user can switch between the
applications and also transfer data between them. Windows 10 and all other versions
same data and applications to be accessed by multiple users at the same time. The
users can also communicate with each other. Linux, UNIX, and server version of
processing units (CPUs) control the functions of the computer. Each CPU contains a
copy of the OS, and these copies communicate with one another to coordinate
operations. Processing takes place in parallel and is also called parallel processing.
Each processor works on different parts of the same task, or, on two or more different
tasks. The use of multiple processors allows the computer to perform calculations
three tasks to be performed, one taking five milliseconds, another taking eight
milliseconds, and the last taking seven milliseconds, the processor would perform
each task in order. The entire application would thus require twenty milliseconds. If a
multiprocessing OS were running the same application, the three tasks would be
assigned to separate processors. The first would complete the first task in five
milliseconds, the second would do the second task in eight milliseconds, and the third
would finish its task in seven milliseconds. Thus, the multiprocessing OS would
complete the entire task in eight milliseconds. From this example, it is clear that
instruments and industrial systems. An RTOS typically has very little user-interface
capability, and no end-user utilities, since the system will be a "sealed box" when
delivered for use. RTOS are designed to respond to an event within a predetermined
time. Processing is done within a time constraint. The OS monitors the events that
affect the execution of the process and responds accordingly. They are used to
respond to queries in areas like medical imaging systems, industrial control systems
designed to perform a specific task for a device that is not a computer. An embedded
operating system's main job is to run the code that allows the device to do its job. They
are specific to a device and are less resource intensive. We find embedded systems
everywhere around us in our daily life. They are used in appliances like microwaves,