What is Platform? A platform is a group of technologies that are used as a base upon which application, process or technologies are developed.
TYPES OF PLATFORM TECHNOLOGIES 1. Operating Systems - Operating systems provide the basic services required to 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 firmware and embedded systems. 2. Computing Platforms - Platforms built on top of operating systems that provide computing functionality in areas such as cloud computing and virtualization. For ad Download to read ad-free 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 of database such as relational, No SQL and in-memory databases. 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. 5. Application Platforms - Application platforms are environments and toolkits for developing and deploying applications, a class of software that is primarily designed to be used by people. For example, a platform that allows developers to build dynamic web applications by executing code and integrating with data bases , systems and APIs
6. Mobile Platforms - Mobile platforms include mobile operating systems and environments for building mobile apps. They also include cloud platforms for building mobile back ends that provide services to mobile apps. This may include specialized APIs that are useful for mobile app developers in areas such as location services and voice recognition. 7. Web Platforms - Platforms that provide services that are useful to websites and web-based software as a service such as web servers, web application servers content delivery networks and edge computing. 8. Content Management Systems (CMS) - Platforms for publishing and managing content , media and documents. These are often used internally in organizations as an intranet site and document management system. They are also commonly used to publish web content such as a newspaper, blog or corporate website. 9. Media Platforms - Platforms for media publishing and analysis with tools such as video trans coding , streaming and recognition.
10. API Platforms - Cloud platforms for deploying APIs that are typically built around an API gateway that performs functions such as load balancing, latency reduction and rate limiting. 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 management , directory services, certificates, compliance reporting, encryption , key management and threat detection. 13. Robotics Platform - Robotics platforms may include an operating system for robots with a framework for developing and deploying backend systems and services for robots on cloud infrastructure. 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 thing sin areas such as device management, IoT security and analytics. 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 such as a machine learning database. 16. Game Platform - Environments that are optimized for running game services such as back ends for mobile games or massively multiplayer online games. These may include services such as 3D game engines, AR and VR APIs
What is Operating System ? Is a system software that manages computer hardware, software resources, an provides common services for computer programs. Ex. Windows, Mac Os, IOS, Linux, Unix. Android etc.
LIST OF OPERATING SYSTEMS WITH THE LATEST MARSHARE OS Name Share Windows 40.34% Androids 37.95% IOS 15.44% Ma Os 4.34% Linux 0.95% Chrome OS 0.14% Windows Phone Os 0.06%
TYPES OF OPERATING SYSTEMS * Batch – Operating System - The user of batch operating system never directly interacts with the computer. In this type of Os every user prepares his or her job on an offline. * Single Tasking - System can only run one program at a time . * Multi- Tasking - Operating system allows more than one program to be running in concurrency . * Real time Os - A real time operating system time interval to process and respond to inputs is very small. Ex. Military Software System, Space Software System.
* Network Operating System - Network Operating System runs on a server. It provides the capability to serve to manage data user, group, security, applications, and other networking functions . * Mobile OS - Mobile operating systems are those Os which is especially that are designed to power smart phones, tablets, and wearable devices.
HISTORY OF OPERATING SYSTEM * Operating systems were first developed in the late 1950s to manage tape storage * The General Motors Research Lab implemented the first OS in the early 1950s for their IBM 70I * In the mid- 1960s, operating systems started to use disks. * In the late 1960s, the first version of the Unix OS was developed. * The first OS built by Microsoft was DOS. It was built in 1981 by purchasing the 86-DOS software from a Seattle company. * The present- day popular OS Windows first came to existence in 1985 when a GUI was created and paired with MS-DOS.
FUNCTIONS OF AN OPERATING SYSTEM * Process Management- Process management helps OS to create and delete processes. It also provides mechanisms for synchronization and communication among processes. * Memory Management- Memory management module performs the task of allocation and de allocation of memory space to programs in need of this resources. *File Management It manages all the file- related activities such as organization storage, retrieval, naming, sharing, and protection of files. * Device Management- Device management keeps tracks of all devices. This module also responsible for this task is known as the I/O controller. It also performs the task of allocation and de- allocation of the devices. * I/O Management- One of the main objects of any OS is to hide the peculiarities of that hardware devices from the user. * Secondary- Storage Management- Systems have several levels of storage which includes primary storage, and cache storage. Instructions and data must be stored in primary storage or cache so that running program can reference it. * Security- Security module protects the data and information of a computer system against malware threat and authorized access * Command Interpretation – This module is interpreting commands given by the and acting system resources to process that commands. * Networking- A distributed system is a group of processesors which do not share memory, hardware devices, or a clock. The processors communicate with one another through the network. * Communication Management- Coordination and assignment of compilers, interpreters, and another software resource of the various users of the computer systems.
Lesson 2: Foundation of Platform Technologies
ABSTRACTION The key to the platform technology architecture is abstraction, as all platform 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.
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 understand the different level of abstraction into a platform technology .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
1 . Foundation Layer (Hardware) 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 rests upon and is enabled by a national infrastructure system . 2. Platform Layer (Operating System) The next layer up from the foundations or hardware is the platform itself , the computer’s operating system in this case. It essentially manages the computer’s resources and services that will be required by applications. The 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 presented to producers on the application level through APIs, or application program inter faces.In an automotive factory, the platform would be the physical technologies in 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 different combinations to deliver a finished application to the end-user. Apps in the 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 configurations , and reconfigurations in response to the perceived needs and feedback of the end-user . 4. User Interface Layer 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 in to a language they understand. This interface might be the dashboard on our car ort he 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 functionality without dependencies. An important thing to note is that as we go up each 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.
IMPORTANCE OF PLATFORM TECHNOLOGIES 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.