Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 48

Unit 1 : Introduction

Rachana Mehta
Introduction : Operating System
What is Operating System ?
Introduction : Operating System
What is Operating System ?
Lots of hardware !!
● One or more processors
● Main memory
● Disks
● Printers
● Various input/output devices

Managing all these components requires a layer of software – the operating system
Where exactly operating system fits ?
OS : As an Extended version of Machine
OS : As Resource Manager
● Allow multiple programs to run at the same time
● Manage and protect memory, I/O devices, and other resources
● Multiplexes (shares) resources in two different ways:

○ In time

○ In space
History of OS
Generations:

● (1945–55) Vacuum Tubes


● (1955–65) Transistors and Batch Systems
● (1965–1980) ICs and Multiprogramming
● (1980–Present) Personal Computers, Tablets, Phones
Mobile Operating System
● An operating system in our computers manages the applications, same way there is
also an operating system for managing applications in our mobile. This operating
system is known as the mobile operating system. (Layman terms).

● A mobile operating system is built exclusively for mobile devices such as


smartphones, personal digital assistants (PDA), or tablets as limitations of power,
memory, screen size, etc.
Mobile Operating System : Features
Some features of mobile operating are:
● They manage the mobile device's resources and memory while performing multiple
tasks.
● They are relatively simple and light compared to the standard OS (Windows, Linux
and Mac).
● They are responsible for identifying and defining mobile devices features and
functions, including keypads, application synchronization, email and text messaging.
● They also manage mobile multimedia functions and internet connectivity.
Mobile Operating System : Types
Types of mobile operating are:
● Open-source operating system
● Manufacturer built proprietary operating system
● Third-party proprietary operating system
Mobile Operating System : Types
Types of mobile operating are:
● Open-source operating system :
● An open-source operating system is one in which the source code of the operating
system and its other components are accessible to anyone who wants it.
● Anyone can download that source code, edit and update it, and develop their
operating system. Mobile companies mostly use these operating systems.
● Example : Android
Mobile Operating System : Types
Types of mobile operating are:
● Manufacturer built proprietary operating system
● A manufacturer built proprietary operating system is a mobile operating system
developed only for some particular mobile devices. Unlike open-source, their source
code is not accessible to anyone.
● The examples of manufacturer built proprietary operating systems are iOS,
BlackBerry OS, Bada, Harmony OS, Palm OS and HP WebOS.
Mobile Operating System : Types
Types of mobile operating are:
● Third-party proprietary operating system
● The third-party proprietary operating system is designed by those firms which do not
manufacture devices. However, they license their software to the mobile companies
to run that operating system on their mobile devices.
● An example of a third party proprietary operating system is Windows Mobile OS.
Mobile Vendor Market Share Worldwide | Statcounter Global Stats
OS Zoo
● Mainframe operating systems

○ Thousands of Disk

○ Processing multiple jobs at a time

○ Services : Batch, Transaction Processing and Time Sharing Tasks

○ Linux operated mainframes


OS Zoo
● Server OS

○ A level below mainframes

○ They run on servers, which are either very large personal computers, workstations, or even
mainframes.

○ They serve multiple users at once over a network and allow the users to share hardware and software
resources.

○ Servers can provide print service, file service, or Web service.

○ Windows, Linux, Solaris, etc.


OS Zoo
● Multiprocessor OS

○ Uses multiple cores

○ Connects multiple CPUs into a single system. Depending on precisely how they are connected and
what is shared, these systems are called parallel computers, multi computers, or multiprocessors.

● Personal Computer OS

○ Support multiprogramming, often with dozens of programs started up at boot time.

○ Their job is to provide good support to a single user.

○ Linux, Mac, Windows


OS Zoo
● Handheld Computer OS

○ Tablets, Smartphones and Handheld Computers

○ Eg : Google’s Android and Apple’s iOS

○ These devices boast multicore CPUs, GPS, cameras and other sensors, copious
amounts of memory, and sophisticated operating systems.
○ They have more third-party applications (‘‘apps’’)
OS Zoo
● Embedded operating systems-TV sets, cars, DVDs, MP3s

○ Embedded systems run on the computers that control devices that are not generally thought of as
computers and which do not accept user-installed software.

○ No untrusted software will ever run on it, No new downloaded applications.

○ All software's are present in ROM


OS Zoo
● Sensor Node OS

○ Networks of tiny sensor nodes are being deployed for numerous purposes. These nodes are tiny
computers that communicate with each other and with a base station using wireless communication.

○ The sensors are small battery-powered computers with built-in radios.

○ They have limited power and must work for long periods of time unattended outdoors, frequently in
environmentally harsh conditions

○ Eg: TinyOS
OS Zoo
● Real Time OS
○ Hard real-time system.

○ Found in industrial process control, avionics, military, and similar application areas. These systems must provide absolute
guarantees that a certain action will occur by a certain time.

○ Soft real-time system

○ Missing an occasional deadline, but not desirable, is acceptable and does not cause any permanent damage.
● Smart Card OS

○ The smallest operating systems run on smart cards, which are credit-card-sized devices containing a
CPU chip.

○ ROM on the smart card holds an interpreter for the Java Virtual Machine (JVM).
Server OS
● It is an operating system specifically designed to run on servers,
● Servers are specialized computers that operate within a client/server architecture to
serve the requests of client computers on the network.
● It is the software layer on top of which other software programs, or applications, can
run on the server hardware.
● Eg :

○ Red Hat Enterprise Linux

○ Windows Server

○ Mac OS X Server
Server OS
● Features of a Server OS :

○ GUI/CLI Support

○ Command Execution through OS Commands

○ Advanced level H/W, S/W and Network Configuration Services

○ Support to install/ deploy web, business applications

○ Provision of central interface to manage users, implement security and other administrative processes

○ Manages clients or multiple OS


Server OS
● Factors :

○ Administration

○ Security

○ Features/Supports

○ Performance

○ Hardware Requirements

○ Scalability
Windows Server OS
● Windows Server is the platform for building an infrastructure of connected
applications, networks and web services.
○ Windows Server on Cloud – Azure

○ Windows Server Standard – For Business Critical Works

○ Windows Server & Azure Arc – DataCenter Support with Azure


Windows Server OS
● Windows File Server : Windows Server File Servers host billions of files across
million of customers for storage and retrieval of files with built-in scale.
● Security, quotas, backup, replication and recovery are all built into the operating
system.
Windows Server or Desktop : Which you should use ?
Windows Server vs Desktop
● Memory
● Efficiency
● Connections
● Management of tasks
Android Platform Architecture
● Android is an open source, Linux-based
software stack created for a wide array of
devices and form factors.

● The major components of the Android


platform is shown in the diagram.
Android Platform Architecture
● Linux Kernel : Foundation of the
Android platform
● Supplies management of security,
memory process, network, and drivers
● Acts as an abstraction layer between the
hardware and the rest of the Android
software stack
● Linux kernel allows Android to take
advantage of key security features and
allows device manufacturers to develop
hardware drivers for a well-known kernel.
Android Platform Architecture
● Hardware Abstraction Layer :
● It provides standard interfaces that expose
device hardware capabilities to the
higher-level Java API framework.
● It consists of multiple library modules,
each of which implements an interface for
a specific type of hardware component
like camera or audio.
● Library of the specific hardware is loaded
when a call from framework API is
received.
Android Platform Architecture
● Android Runtime (ART) :
● Android runtime (ART) is the managed
runtime used by applications and some
system services on Android in order to
carry out their execution and work.
● ART as the runtime executes the Dalvik
Executable format and Dex bytecode
specification.
● Dalvik based runtime is predecessor of
ART.
Android Platform Architecture
● ART Features :
● Ahead of Time Compilation :
● During the App Installation, ART
compiles them using the dex2oat tool.
● Dex2oat : takes dex files as input and
provides the compiled app executable for
the target device.
● Improving the app performance
● Tighter install-time verification
Android Platform Architecture
● ART Features :
● Improved Garbage Collection :
● It not done properly then may lead to poor
UI, choppy display and several other
problems.
● Concurrent design
● Single GC Pause
● Less memory usage
● Timely GC
● Independent GC Pause
Android Platform Architecture
● ART Features :
● Development and debugging
Improvement :
● Support for sampling profile to provide
accurate view of app execution
● Monitoring and GC related supports
● Diagnostic and Crash Report
● Watch points for monitoring, Breakpoints,
method exits, stack traces and others.
Android Platform Architecture
● Native C/C++ Libraries :
● Java Framework API are used for using
these native libraries
Android Platform Architecture
● Java API Framework
● The entire feature-set of the Android OS
is available to you through APIs written in
the Java language.
● These APIs form the building blocks you
need to create Android apps by
simplifying the reuse of core, modular
system components and services
Android Platform Architecture
● Java API Framework
● View System : For UI
● Resource Manager : To access non-code
resource like string, graphics, layout
● Notification Manager : Alerts
● Activity Manager : To manage lifecycle
of app
● Content Providers : To access shared data
Android Platform Architecture
● System Apps:
● Set of core apps for email, SMS
messaging, calendars, internet browsing,
contacts, and more are pre-installed.
● The system apps function both as apps for
users and to provide key capabilities that
developers can access from their own app.
Mac Platform Architecture
● The OS X operating system combines a
stable core with advanced technologies to
help you deliver world-class products on
the Mac platform.
● OS X has layered architecture as shown in
figure
● Lower layer provides fundamental service
on which all softwares are dependent

About Developing for Mac (apple.com)


Mac Platform Architecture
● The Kernel and Device Drivers layer
consists of the Mach kernel environment,
device drivers, BSD library functions
(libSystem), and other low-level
components.
● The layer includes support for file
systems, networking, security,
interprocess communication,
programming languages, device drivers,
and extensions to the kernel.

About Developing for Mac (apple.com)


Mac Platform Architecture
● Core OS layer defines programming
interfaces that are related to hardware and
networking, including interfaces for
running high-performance computation
tasks on a computer’s CPU and GPU.
● Core Services layer contains many
fundamental services and technologies
that range from Automatic Reference
Counting and low-level network
communication to string manipulation
and data formatting.
About Developing for Mac (apple.com)
Mac Platform Architecture
● Cocoa (Application) layer includes
technologies for building an app’s user
interface, for responding to user events,
and for managing app behavior.
● The Media layer encompasses specialized
technologies for playing, recording, and
editing audiovisual media and for
rendering and animating 2D and 3D
graphics.

About Developing for Mac (apple.com)


Framework Kit
● Foundation
● The Foundation framework provides a base layer of functionality for apps and
frameworks, including data storage and persistence, text processing, date and time
calculations, sorting and filtering, and networking.

● The classes, protocols, and data types defined by Foundation are used throughout all
Apple OS.
Framework Kit
● Core Audio Types

○ Use specialized data types to interact with audio streams, complex buffers, and audiovisual
timestamps.
● Accessibility

○ Make your apps accessible to everyone who uses Apple devices.


Framework Kit
● WidgetKit
● WebKit
● WeatherKit
● VisionKit – Text from live Camera
● Video Toolbox – H/W accelerated encode/decode
● User Notification UI
● UIKit - Construct and manage a graphical, event-driven user interface
● System Configuration – Active Wifi or not
● SwiftUI – UI behavior of app on every platform
● Storekit - Support in-app purchases and interactions with the App Store.
● SpriteKit – HP 2D Content
Framework Kit
● Speech – For Speech Recognition
● Sound Analysis – For Classification of audio
● Social – For SN using standard system interfaces
● ShazamKit
● Service Management- Manage startup items, launch agents, and launch daemons
from within an app.
● SensorKit - Retrieve data and derived metrics from an iPhone’s sensors
● ARKit - Integrate iOS device camera and motion features to produce augmented
reality experiences in your app or game.
Framework Kit
● Contacts UI - Display information about users’ contacts in a graphical interface.
● Core Graphics – Quartz Library
● Core Haptics
● Technologies | Apple Developer Documentation

You might also like