OSY CH1 Notes
OSY CH1 Notes
Processor
p1 P1,P2,P3,P4
p2
Primary memory(RAM)
Components of Operating System/Computer System
Abstract View of System Components
1. Hardware
Physical parts of machine which provides basic computing
resources
• CPU(Central Processing Unit)
• Memory (Primary or Secondary memory)
• Input devices e.g keyboard ,mouse,
Microphone,webcamera,scanner
• Output devices e.g.printer, Monitor,Plotter,speaker
• Network devices e .g. LAN card,Router,hub,switches,modem
• Other devices e.g. Mother board, power supply,DVD writer
2.Operating system
OS is a software program that enables computer
hardware to communicate and operate with the
computer software.
Example:-
Word processors,compilers, spreadsheets,Web
browsers,database systems, video games, business programs.
4.Users
There are different users like people, machines, other computers which solve
different problems.
On the basis of the role of user they can be categorized as
1.Programmers:-They are the designers or producers of softwares developed
for themselves and others
2.Operational Users:-They are the users responsible for
• Installation of the software
• Proper maintainance of software
• Taking regular backup,removing unnecessary files and directories.
• Checking disk space being used and free space
3.End users:- They are the actual users of the applications and performed
specific tasks as defined.
Views of OS
Operating System explored from two viewpoints
The System’s viewpoint: From computer’s point of view operating system is program that interact
with hardware
It emphasizes the need to control various peripherals and user programs. OS should be
i)Resource allocator
ii)Memory manager
iii)Must manage execution of user programs
Operating System Operations
• Memory Management
• Processor Management
• Device Management
• File Management
• Security
• Job accounting
• Error detecting aids
• Coordination between other software and users
Memory Management
• Memory management refers to management of Primary Memory ( Main
Memory) or secondary memory. Main memory is a large array of words or
bytes where each word or byte has its own address.
• Main memory provides a fast storage that can be accessed directly by the
CPU. For a program to be executed, it must in the main memory.
An Operating System does the following activities for memory management
−
i)Keeps tracks of primary memory, i.e., what part of it are in use by whom, what
part are not in use.
ii)In multiprogramming, the OS decides which process will get memory when and
how much.
iii)Allocates the memory when a process requests it to do so.
iv)De-allocates the memory when a process no longer needs it or has been
terminated.
Processor Management
• In multiprogramming environment, the OS decides which process
gets the processor when and for how much time. This function is
called process scheduling.
2)Efficiency:-
OS Allows the computer resources in efficient manner
3)Ability to evolve:-
OS must be constructed in such a way that it must permit further
development ,testing and introduction to new system functions.
Thank You..
Contents
• Overview of Operating System
• Evolution OR Types of Operating System
• Serial Processing
• Batch processing
• Multiprogramming Operating System
• Multitasking Operating System
• Time sharing Operating System
• Real Time Opearting System
An Operating System performs all the basic tasks like managing
file,process, and memory.
Operating system acts as manager of all the resources, i.e. resource
manager.
Operating system becomes an interface between user and machine.
Types of Operating System
• Sequential or Serial processing
• Batch Operating System
• Multiprogramming Operating System
• Multitasking Operating System
• Time sharing Operating System
• Real Time Opearting System
1) Serial Processing:
• Bank statements -At the end of month the bank makes statements for
each account holder. So these bank statements can be made easily by
batch systems at the end of month.
• Contents
Multiprogramming
Time sharing
Multitasking
Real Time operating System
3) Multi-Programming:
In the Batch Processing System there are multiple jobs Executed by the
System.
The System first prepare a batch and after that he will Execute all the
jobs those are Stored into the Batch.
But the Main Problem is that if a process or job requires an Input and
Output Operation, then it is not possible to process second job, the
CPU will remain idle at that Time and there will be the wastage of the
Time
In a soft real time, system, the time requirement is not very
crucial.
The system should perform the task or give the output within
the deadline but there can be a small tolerance occasionally.
If the system, did not perform the task within the deadline it is
not considered as a failure as long as it provides the required
output. But performance is considered to be degraded.
These systems are less restrictive.
Examples of soft real time systems are:
• DVD player
• Electronic games,
• Multimedia streaming
• Web browsing
• Online transaction systems
• Telephone switches
• Virtual reality
• Weather station
• Mobile communication etc.
Thank You
Difference between Hard real time and Soft real time system :
A hard real time system is very restrictive. A Soft real time system is less restrictive.
Definition –
Multiprocessor Operating System refers to the use of two or
more central processing units (CPU) within a single computer system.
These multiple CPUs are in a close communication sharing the computer
bus, memory and other peripheral devices.
These systems are referred as tightly coupled systems.
Main objective of using multiprocessor operating system is to consume
high computing power and increase the execution speed of system.
Types of Multiprocessors
There are mainly two types of multiprocessors i.e. symmetric and asymmetric multiprocessors.
Symmetric Multiprocessors
In these types of systems, each processor contains a similar copy of the operating system and they all
communicate with each other.
All the processors are in a peer to peer relationship i.e. no master - slave relationship exists between them.
In Symmetric multiprocessing there is no master –slave concept used. So many
processes can run simultaneously,so we must carefully control I/O to ensure that
the data reach the appropriate processor.
As CPU’S are separate,one may be sitting Idle while another is overloaded
,resulting in inefficiencies.
Asymmetric Multiprocessors
In asymmetric systems, each processor is given a predefined
task.
There is a master processor that gives instruction to all the
other processors
Asymmetric multiprocessor system contains a master slave
relationship.
A master processor controls the system and slave processors
follow the instructions of master or perform their predefined
task.
Advantages of Multiprocessor Systems
More reliable Systems
In a multiprocessor system, even if one processor fails, the system will
not halt.
Enhanced Throughput
If multiple processors are working in tandem, then the throughput of
the system increases i.e. number of processes getting executed per
unit of time increase.
Its speed can get degrade due to fail any one processor.
Distributed System(Loosely Coupled Systems)
A distributed system consist of autonomous computers connected
through a network and distribution middleware.
The middleware enables computers to coordinate their activities and to
share the resources of the system so that user perceives the system as a
single ,integrated computing facility.
The processors communicate with one another through various
communications lines such as high speed buses or telephone lines.
These systems are usually reffered as Loosely Coupled Systems.
Middleware is the bridge that connects distributed applications across
dissimilar physical locations with dissimilar hardware platforms,network
technologies ,operating systems and programming languages.
The middleware software is designed according to agreed standards
and protocols
It provides the standard services such as naming,prsistance, concurreny
control authorization to resources and security.
Types of Distributed Systems
The nodes in the distributed systems can be arranged in the form of
client/server systems or peer to peer systems. Details about these are
as follows −
Client/Server Systems
• In client server systems, the client requests a resource and the
server provides that resource. A server may serve multiple clients at
the same time while a client is in contact with only one server.
• Both the client and server usually communicate via a computer
network and so they are a part of distributed systems.
Peer to Peer Systems
• The peer to peer systems contains nodes that are equal participants
in data sharing. All the tasks are equally divided between all the
nodes. The nodes interact with each other as required as share
resources. This is done with the help of a network.
Advantages of Distributed Systems
Reliability:-
If one machine from system crashes, the rest of computers remain unaffected and
the system can survive as a whole.
Incremental Growth:
More nodes can easily be added to the distributed system i.e. it can be scaled as
required.
Sharing of resources:-
All the nodes in the distributed system are connected to each other. So nodes can
easily share data and resources with other nodes. Resources like printers can be
shared with multiple nodes rather than being restricted to just one.
Speed:-
A distributed computing system can have more computing power than a
mainframe.
Open system:-As it is open it can communicate with other system at anytime.
Performance:- Provides higher performance
Disadvantages of Distributed Systems
It is difficult to provide adequate security in distributed
systems.Some messages and data can be lost in the network
while moving from one node to another.
The database connected to the distributed systems is quite
complicated and difficult to handle as compared to a single user
system.
Overloading may occur in the network if all the nodes of the
distributed system try to send data at once.
Troubleshooting and diagnosing problems is difficult.
Distributed systems are more complex than centralized
systems
Clustered Systems(Parallel Systems)
Like parallel systems, clustered systems gather together
multiple CPUs to accomplish computational work.
A cluster is collection of computers in which any member of the
cluster is capable of supporting the processing functions of any
other member.
Cluster is defined as “ a group of interconnected,whole
computers linked with a computational network,operating as
single computer.
A cluster has a redundant n+k configuration ,where n
processing nodes are actively processing the applications and k
processing nodes are in standby state serving as spares
In the event of failure of an active node ,the application that
was running on the failed node is moved to one of the standby
node.
Clustered Systems
Clustering is usually performed to provide high availability.
A layer of cluster software runs on the cluster nodes. Each node can
monitor one or more of the others. If the monitored machine fails, the
monitoring machine can take ownership of its storage, and restart the
application(s) that were running on the failed machine. The failed machine
can remain down, but the users and clients of the application would only see
a brief interruption of service.
Types of clustering
Asymmetric Clustering - In this, one machine is in hot standby mode
while the other is running the applications. The hot standby host (machine)
does nothing but monitor the active server. If that server fails, the hot
standby host becomes the active server.
iOS
Mobile Operating System
It is an operating system for mobile phones,tablets,smartwatches.
Mobile operating systems combines features of a personal computer
operating system with other features useful for mobile or handheld use
and usually including a wireless inbuilt modem and SIM tray for telephony
and data connection.
For eg. A touchscreen, cellular, Bluetooth, WiFi, GPS mobile
navigation, camera, video camera, speech recognition, voice
recorder, music player
A mobile operating system (OS) is software that allows smartphones,
tablet PCs (personal computers) and other devices to run applications
and programs. A mobile OS typically starts up when a device powers on,
presenting a screen with icons or tiles that present information and provide
application access.
• Many mobile OSes offer a native web browser application, which
allows users to search the internet and visit webpages.
• Mobile operating systems also offer application stores, which allow
users to download and interface with mobile applications.
• Several mobile operating systems also have native GPS (global
positioning system) applications that allow users to search for
locations, follow step-by-step directions and, in some cases, share
location with different devices. The GPS feature, of course, relies on
the mobile device's hardware and can't run without that support.
Android − This Linux-based OS by Google is the most popular mobile OS
currently. Almost 85% of mobile devices use it.
Android is an open source and Linux-based Operating System for mobile devices such as smartphones
and tablet computers.
Sr.No. Feature & Description
1 Beautiful UI
Android OS basic screen provides a beautiful and intuitive user interface.
2 Connectivity
GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, NFC and WiMAX.
3 Storage
SQLite, a lightweight relational database, is used for data storage purposes.
4 Media support
H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE-AAC, AAC 5.1, MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, and BMP.
5 Messaging
SMS and MMS
6 Web browser
Based on the open-source WebKit layout engine, coupled with Chrome's V8 JavaScript engine supporting HTML5 and CSS3.
7 Multi-touch
Android has native support for multi-touch which was initially made available in handsets such as the HTC Hero.
8 Multi-tasking
User can jump from one task to another and same time various application can run simultaneously.
9 Resizable widgets
Widgets are resizable, so users can expand them to show more content or shrink them to save space.
10 Multi-Language
Supports single direction and bi-directional text.
Android Applications
• Android applications are usually developed in the Java
language using the Android Software Development Kit.
• Once developed, Android applications can be packaged easily
and sold out either through a store such as Google
Play, SlideME, Opera Mobile Store, Mobango, F-droid and
the Amazon Appstore.
• Android powers hundreds of millions of mobile devices in more
than 190 countries around the world.
1.Linux kernel:
• The android uses the powerful Linux kernel and it supports a wide
range of hardware drivers.
• The kernel is the heart of the operating system that manages input
and output requests from the software. This provides basic system
functionalities like process management, memory management,
device management like camera, keypad, display etc the kernel
handles all the things.
• The kernel itself does not interact directly with the user but rather
interacts with the shell and other programs as well as with the
hardware devices on the system.
2.Libraries:
• The on top of a Linux kennel there is a set of libraries including
open-source web browsers such as WebKit, library libc.
• These libraries are used to play and record audio and video.
• The SQLite is a database that is useful for the storage and sharing of
application data.
• The SSL libraries are responsible for internet security etc.
3.Android Runtime:
• The android runtime provides a key component called Dalvik Virtual
Machine which is a kind of java virtual machine. It is specially
designed and optimized for android.
• The Dalvik VM is the process virtual machine in the android
operating system. It is a software that runs apps on android devices.
• The Dalvik VM makes use of Linux core features like memory
management and multithreading which is in java language.
4.Application framework:
• The application framework layer provides many higher-level
services to applications such as windows manager, view system,
package manager, resource manager, etc. The application
developers are allowed to make use of these services in their
application.
5.Applications and Features:
• You will find all the android applications at the top layer and you
will write your application and install it on this layer.
• Examples of such applications are contacts, books, browsers,
services, etc. Each application performs a different role in the
Apple iOS Operating System
iOS is a mobile operating system developed and distributed by
Apple Inc.
It is programmed in C,C++,Objective-C.
Interaction User interacts with computer using User interacts with computer using
1
Graphics like images, icons. commands.
2 Navigation Navigation is easy. Navigation is difficult.
Peripherals Keyboard, mouse or any other pointing Only keyboard.
3
used device.
4 Precision GUI has low precision. CLI has high precision.
5 Speed GUI is of low speed. ClI is of high speed.
6 Usage Usage is easy. Usage is difficult, requires expertise.
Memory High memory requirement. Low memory requirement.
7 requirement