Vous êtes sur la page 1sur 40

PT21 - PLATFORM

TECHNOLOGY
2:00-5:00PM DAILY
WHAT IS PLATFORM TECHNOLOGY?
• A platform is a group of technologies that are used as a base upon
which other applications, processes or technologies are developed.
• In personal computing, a platform is the basic hardware (computer)
and software (operating system) on which software applications can
be run.
• 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.
Techopedia explains Platform
• A computer platform generally refers to the operating system and
computer hardware only.
• The platform conforms to a set of standards that enable software
developers to develop software applications for the platform.
• These same standards allow owners and managers to purchase
appropriate applications and hardware.
Hardware platforms can be:
• Entire systems
• Individual components
• Interfaces
• Versus hardware platforms, software platforms are more extensive,
yet easier to relate to by users. It makes sense, given that we interact
more commonly with software/apps, even though hardware (e.g.
mice, keyboards, monitors, touchscreens) helps bridge the gap.
Software platforms fall under the general categories of:
• System software
• Application software
9 Types of Software Platforms
• Technology Platforms
• Computing Platforms
• Utility Platforms
• Interaction Networks
• Marketplaces
• On-demand Service Platforms
• Content Crowdsourcing Platforms
• Data Harvesting Platforms
• Content Distribution Platforms
TECHNOLOGY PLATFORMS
• Amazon Web Services, Microsoft Azure, and Twilio are examples of
Technology Platforms.
• Technology Platforms provide building blocks or services that are
reused in a large number of products.
• Through permission-less innovation 3rd party developers embed
these building blocks and services in their products, driving more
adoption of the platform.
COMPUTING PLATFORMS
• Enable interactions between platform users and 3rd party developers.
In Technology Platforms the developer “owns” the user.
• In Computing Platforms, the platform “owns” the user. Computing
Platforms, like Apple iOS, Google Android or Microsoft Windows,
allow developers extend the platform with new use cases, making the
platform more valuable to users.
UTILITY PLATFORMS
• Google Search, Kayak and Zenefits are examples of Utility Platforms.
• Utility Platforms attract users by providing a useful, typically free
service. Once there is critical mass of users using the service, the
platform opens to the second type of participants, advertisers in the
case of Google Search, airlines in the case of Kayak or insurance
companies in the case of Zenefits.
INTERACTION PLATFORMS
• Facebook, WeChat and Bitcoin are examples of Interaction Networks.
• The common element is that this type of platform facilitates
interactions between specific participants (people and/or businesses).
The digital interactions can take form of a message, voice call, image,
or money transfer.
MARKETPLACES
• Marketplaces like eBay, Amazon Marketplace, AirBnB,
Kickstarter or UpWork are two-sided platforms connecting
supply with demand.
• Marketplaces enable transactions between demand-side
participants (buyers) and supply-side participants (sellers).
• Prices of goods and services offered on the platform are set
by the supply-side participants.
• Not less important, there is high sensitivity for variety of
services/products — generally, the more variety offered on
the platform, the better.
On-demand Service Platforms
• Uber, Munchery and Heal are examples of On-demand Service
Platforms.
• This type of platform is designed to deliver end-to-end services
fulfilled by a network of independent service providers/contractors.
Its tradeoffs are very different from those of Marketplaces.
• On-demand Service Platforms integrate discovery, order, payment,
fulfilment, certification and confirmation of the service under one
roof. Price, quality standards and the fulfillment processes are all set
by the platform. The user/buyer typically has very little freedom, if at
all, in selecting how the service will be delivered and by whom.
Content Crowdsourcing Platforms
• YouTube, Yelp and TripAdvisor are examples of Content
Crowdsourcing Platforms. This platform type is about collecting
content from a subset of users (video, blog posts, reviews, ratings,
etc.) and sharing this content with a wide user base of the platform.
• As opposed to Interaction Networks, where interaction is anchored
on specific accounts, in Content Crowdsourcing Platforms users
interact with the platform and the interaction is anchored on the
content.
Data Harvesting Platforms
• Waze, OpenSignal and InsideSales.com are examples of Data
Harvesting Platforms.
• Such platforms offer a useful service to the users and generate data
through usage of the platform service.
• In fact, the agreement to contribute data is a requirement to join the
platform. The data collected from all users of the platform is fed back
to the service making it more useful for users.
Content Distribution Platforms
• Google AdSense, Outbrain, Smaato and Millennial Media are
examples of Content Distribution Platforms.
• Such platforms connect owners of user touch-points (web sites,
mobile apps, devices) with content owners wishing to deliver the
content (or ads) to the users.
OPERATING SYSTEMS
Four Components of a Computer System
• Computer system has four components:

• hardware provides basic computing resources

• e.g., CPU, memory, I/O devices

• operating system controls and coordinates use of hardware among users

• application programs use system resources to solve computing problems

• e.g., word processors, compilers, web browsers….

• users

• e.g., people, machines, other computers


Hardware Components
• CPUs & device controllers connect through buses to share memory

• Concurrent execution of CPUs & devices compete for memory cycles


Devices
• Each device controller is in charge of a particular device
type
• disk controller, USB controller… Each

device controller has a local buffer
• I/O: between the device and local buffer of the controller

• CPU moves data between main memory and controller buffers

• I/O devices and the CPU can execute concurrently

• DMA (direct memory access)

• device controller informs CPU that it has finished its operation by causing an
interrupt
Interrupts and Traps
• Interrupt transfers control to the interrupt service routine

• interrupt vector: a table containing addresses of all the service routines

• incoming interrupts are disabled while serving another interrupt to prevent a lost interrupt

• interrupt handler must save the (interrupted) execution states

• A trap is a software-generated interrupt, caused either by an error or a user request

• an interrupt is asynchronous; a trap is synchronous

• e.g., system call, divided-by-zero exception, general protection exception…

• Operating systems are usually interrupt-driven


I/O: from System Call to Devices, and Back
• A program uses a system call to access system resources

• e.g., files, network


• Operating system converts it to device access and issues I/O requests

• I/O requests are sent to the device driver, then to the controller

• e.g., read disk blocks, send/receive packets…

• OS puts the program to wait (synchronous I/O) or returns to it without waiting


(asynchronous I/O)

• OS may switches to another program when the requester is waiting

• I/O completes and the controller interrupts the OS

• OS processes the I/O, and then wakes up the program (synchronous I/O) or send its a
signal (asynchronous I/O)
Direct Memory Access
• DMA is used for high-speed I/O devices able to transmit information at close to
memory speeds

• e.g., Ethernet, hard disk, cd rom…

• Device driver sends an I/O descriptor the controller

• I/O descriptor: operation type (e.g., send/receive), memory address…

• The controller transfers blocks of data between its local buffer and main memory
without CPU intervention

• only one interrupt is generated when whole I/O request completes


Storage Structure
• Main memory: the only large storage that CPU can directly access

• random access, and typically volatile

• Secondary storage: large nonvolatile storage capacity

• Magnetic disks are most common second-storage devices

• rigid metal or glass platters covered with magnetic recording material

• disk surface is logically divided into tracks and sectors

• disk controller determines the interaction between OS and the device


Storage

• Storage systems can be organized in hierarchy

• speed

• cost

• volatility

• Caching: copying information into faster storage system

• main memory can be viewed as a cache for secondary storage


Types of Operating Systems
1. Batch Operating System – This type of operating system do not
interact with the computer directly.
There is an operator which takes similar jobs having same
requirement and group them into batches.

It is the responsibility of operator to sort the jobs with similar


needs.

Examples of Batch based Operating System: Payroll System, Bank


Statements etc
2. Time-Sharing Operating Systems
• Each task has given some time to execute, so that all the tasks work
smoothly.
• Each user gets time of CPU as they use single system. These systems
are also known as Multitasking Systems.
• The task can be from single user or from different users also. The time
that each task gets to execute is called quantum. After this time
interval is over OS switches over to next task.

• Examples of Time-Sharing OSs are: Multics, Unix etc.


3. Distributed Operating System
• These types of operating system is a recent advancement in the world
of computer technology and are being widely accepted all-over the
world and, that too, with a great pace.
• Various autonomous interconnected computers communicate each
other using a shared communication network. Independent systems
possess their own memory unit and CPU.

• Examples of Distributed Operating System are- LOCUS (a


discontinued distributed operating system developed at UCLA during
the 1980s. It was notable for providing an early implementation of
the single-system image idea, where a cluster of machines appeared
to be one larger machine.)
4. Network Operating System
• These systems runs on a server and provides the capability to manage
data, users, groups, security, applications, and other networking
functions.
• These type of operating systems allows shared access of files,
printers, security, applications, and other networking functions over a
small private network.
• One more important aspect of Network Operating Systems is that all
the users are well aware of the underlying configuration, of all other
users within the network, their individual connections etc. and that’s
why these computers are popularly known as tightly coupled
systems.
5. Real-Time Operating System
• These types of OSs serves the real-time systems. The time interval
required to process and respond to inputs is very small. This time
interval is called response time.
• Real-time systems are used when there are time requirements are
very strict like missile systems, air traffic control systems, robots etc.
Two types of Real-Time Operating System
which are as follows:
• Hard Real-Time Systems:
These OSs are meant for the applications where time constraints are
very strict and even the shortest possible delay is not acceptable.
• These systems are built for saving life like automatic parachutes or air
bags which are required to be readily available in case of any
accident. Virtual memory is almost never found in these systems.

• Soft Real-Time Systems:


These OSs are for applications where for time-constraint is less strict.
• Examples of Real-Time Operating Systems are: Scientific
experiments, medical imaging systems, industrial control systems,
weapon systems, robots, air traffic control systems, etc.
Revolution OS
• Hobbyists - a person who pursues a particular hobby
• Intellectual Property rights - A right that is had by a person or by a
company to have exclusive rights to use its own plans, ideas, or other
intangible assets without the worry of competition, at least for a
specific period of time. These rights can include copyrights, patents,
trademarks, and trade secrets.
Revolution OS
• Open Source - Open-source software is a type of computer software
in which source code is released under a license in which the
copyright holder grants users the rights to study, change, and
distribute the software to anyone and for any purpose. Open-source
software may be developed in a collaborative public manner.
• Proprietary Software- that is owned by an individual or a company
(usually the one that developed it). There are almost always major
restrictions on its use, and its source code is almost always kept
secret.
Revolution OS is a documentary which traces the history of GNU, Linux,
and the open source and free software movements.
It features several interviews with prominent hackers and
entrepreneurs (and hackers-cum-entrepreneurs), including Richard
Stallman, Michael Tiemann, Linus Torvalds, Larry Augustin, Eric S.
Raymond, Bruce Perens, Frank Hecker and Brian Behlendorf.
ASSIGNMENT #1
WRITTEN, 1 WHOLE PAPER
1. Difference between Windows and Linux?
2. Pros and Cons of a proprietary software. (3 pros & cons)
3. Brief description of each scheduling algorithms:
a. First Come First Serve (FCFS)
b. Shortest Job First(SJF)
c. Shortest Remaining Time First(SRTF):
d. Round Robin Scheduling
e. Priority Based scheduling (Non Preemptive):
Sources
• https://medium.com/platform-hunt/the-8-types-of-software-
platforms-473c74f4536a

Vous aimerez peut-être aussi