0% found this document useful (0 votes)
2K views37 pages

DTS Notes Digital Technologies and Solutions

Digital technologies and solutions

Uploaded by

Yash potwar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2K views37 pages

DTS Notes Digital Technologies and Solutions

Digital technologies and solutions

Uploaded by

Yash potwar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 37

Lokmanya Tilak Jankalyan Shikshan Sanstha’s

PRIYADARSHINI J. L. COLLEGE OF ENGINEERING, NAGPUR


An Autonomous Institute Affiliated to RTM, Nagpur University, Nagpur
Accredited with Grade “A” by NAAC
846, New Nandanvan Layout, Nagpur – 440 009
Tel: +91-712-2712490, 2711505; Fax: 91-712-2711505

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING


IV sem (All Branch )
Subject:- Digital Technological Solutions

Unit 1 :- Advance Internet Skill


 Introduction and Evolution of Digital Systems
 Introduction
Digital systems are electronic systems that use discrete, discontinuous values to
represent information. These systems have evolved significantly over time, leading
to the development of modern computing and communication technologies.
The concept of digital systems dates back to the mid-20th century with the invention
of the transistor and the subsequent development of integrated circuits. Digital
systems use binary digits (0 and 1) to represent and process data, enabling precise
and reliable manipulation of information.
 Evolution
1. Transistors and Integrated Circuits: The invention of transistors and integrated
circuits in the 1950s and 1960s laid the foundation for digital systems by enabling
the miniaturization and mass production of electronic components.
2. Microprocessors and Personal Computers: The 1970s saw the emergence of
microprocessors, leading to the development of personal computers, which
revolutionized the way individuals and businesses processed and stored information.
3. Digital Communication: The late 20th century witnessed the rapid expansion of
digital communication technologies, including the internet, mobile phones, and
wireless networks, transforming the way people connect and share information
globally.
4. Embedded Systems and IoT: In recent decades, digital systems have become
pervasive in everyday devices through embedded systems and the Internet of Things
(IoT), enabling interconnected smart devices and automation in various domains.
5. Advancements in Computing: Advancements in digital systems have led to the
development of high-performance computing, cloud computing, artificial
intelligence, and quantum computing, driving innovation across industries.
Overall, the introduction and evolution of digital systems have profoundly impacted
various aspects of modern life, from personal communication to industrial
automation and scientific research.

 Role and Significance of Digital Technology

Digital technology has become an integral part of modern life, transforming how we
live, work, and interact. Its significance spans across numerous fields, reshaping
industries and enabling unprecedented levels of innovation and connectivity. Here's
a comprehensive overview of its role and significance:

1 Enhancing Communication

 Role: Digital technology has revolutionized communication through tools like


email, social media, video conferencing, and instant messaging.
 Significance: It enables real-time, global interaction, fostering personal and
professional connections without geographical constraints.

2. Driving Economic Growth

 Role: Digital platforms support e-commerce, digital payments, and online


marketplaces, boosting economic activities.
 Significance: It creates jobs, supports entrepreneurship, and drives GDP
growth, particularly in emerging markets.
3. Revolutionizing Education

 Role: Digital tools like e-learning platforms, virtual classrooms, and


educational apps make learning accessible to all.
 Significance: It democratizes education, enabling lifelong learning
opportunities regardless of location or socioeconomic status.

4. Transforming Healthcare

 Role: Telemedicine, wearable health devices, and AI-powered diagnostics


improve healthcare delivery and outcomes.
 Significance: Digital technology enhances patient care, reduces costs, and
increases access to medical services.

5. Innovating Industries

 Role: Digital transformation in industries like manufacturing (Industry 4.0),


agriculture (precision farming), and energy (smart grids) optimizes processes
and reduces waste.
 Significance: It boosts efficiency, sustainability, and competitiveness.

6. Facilitating Data-Driven Decision Making

 Role: Big data analytics, AI, and IoT devices enable organizations to collect
and analyze vast amounts of information.
 Significance: Data-driven insights enhance decision-making, improve
customer experiences, and drive innovation.

7. Supporting Social and Cultural Connectivity

 Role: Platforms like social media, digital streaming, and gaming connect
people across cultures.
 Significance: It fosters cultural exchange, community building, and global
awareness.
8. Empowering Governance and Public Services

 Role: Digital technology enables e-governance, smart cities, and digital


identity systems.
 Significance: It enhances transparency, efficiency, and citizen engagement in
public administration.

9. Promoting Environmental Sustainability

 Role: Technologies like renewable energy solutions, smart sensors, and AI


for resource management address environmental challenges.
 Significance: It supports efforts to combat climate change and reduce
ecological footprints.

10. Challenges and Considerations

While digital technology offers immense benefits, it also poses challenges, such as:

 Cybersecurity threats
 Digital divides and inequality
 Privacy concerns
 Over-reliance on automation

Addressing these issues is crucial for maximizing the positive impact of digital
technology.

Conclusion

Digital technology is not just a tool but a transformative force shaping the future of
humanity. Its role in enabling innovation, improving quality of life, and addressing
global challenges underscores its critical significance in the modern era. Ensuring
equitable access and responsible se will be key to harnessing its full potential.

Information and Technology in the Context of Digital Technology


Digital technology is a subset of information technology (IT) that focuses on the use
of digital tools, systems, and platforms to create, store, process, and exchange
information. Together, they form the backbone of modern communication,
innovation, and decision-making systems. Below is a detailed exploration of their
relationship and impact:

1. Understanding Information and Technology in Digital Technology

 Information: Refers to processed, organized, and meaningful data used for


decision-making.
 Technology: Encompasses the tools and systems that facilitate the creation,
management, and dissemination of information.

Digital Technology focuses on binary data (0s and 1s) to process and deliver
information through electronic devices.

2. Key Components of Digital Technology in IT

1. Digital Communication Systems:


o Email, video conferencing, and instant messaging tools.
o Social media platforms and collaborative tools.
2. Digital Storage Solutions:
o Cloud computing services like Google Drive, AWS, and Microsoft
Azure.
o Local and network-based storage systems.
3. Digital Processing Technologies:
o Artificial Intelligence (AI) and Machine Learning (ML) for predictive
analytics.
o Data mining and big data analytics for insights.
4. Networking and Connectivity:
o Internet of Things (IoT) devices.
o High-speed internet, 5G, and wireless communication.
3. Applications of Digital Technology in IT

 Business Operations:
o Enterprise Resource Planning (ERP), Customer Relationship
Management (CRM).
 Healthcare:
o Digital health records, telemedicine, and AI in diagnostics.
 Education:
o E-learning platforms, digital classrooms, and virtual labs.
 Governance:
o E-governance platforms, online public services, and digital identity
systems.

4. Significance of Digital Technology in IT

1. Enhanced Efficiency:
o Automation of repetitive tasks and streamlining workflows.
o Real-time data processing for better decision-making.
2. Global Connectivity:
o Facilitates instant communication and collaboration across borders.
3. Scalability:
o Cloud solutions allow businesses to scale their operations seamlessly.
4. Accessibility:
o Information is more accessible to a broader audience via digital
platforms.
5. Sustainability:
o Reduces reliance on physical resources (e.g., paperless offices).

5. Challenges in Digital Technology and IT

 Cybersecurity: Threats like data breaches, malware, and hacking.


 Digital Divide: Unequal access to technology among different socioeconomic
groups.
 Data Privacy: Ensuring user data is protected from misuse.
 Rapid Obsolescence: Technology evolves quickly, requiring continuous
upgrades.
6. Emerging Trends in Digital Technology and IT

1. Artificial Intelligence and Machine Learning:


o Personalized user experiences and predictive analytics.
2. Blockchain:
o Securing transactions and data in decentralized networks.
3. Edge Computing:
o Processing data closer to its source for faster responses.
4. Quantum Computing:
o Transforming complex computations and encryption.
5. Green IT:
o Reducing the environmental footprint of digital infrastructure.

Conclusion

Information and digital technology work in tandem to empower individuals,


businesses, and governments. As the world becomes increasingly reliant on digital
systems, the role of technology in managing and leveraging information continues
to expand. This symbiosis is the cornerstone of innovation, connectivity, and
sustainability in the digital age.

 Computer System & its Working :-

A computer system works by combining input, storage, processing, and output:


 Input: A keyboard or mouse is an input device that provides data to the computer.
 Storage: The computer's memory stores the input data.
 Processing: The central processing unit (CPU) processes the data.
 Output: The computer produces results through output devices.
A computer system also includes an operating system (OS), which is software that
controls the computer's hardware and software resources. The OS manages memory
and storage, and how the computer communicates with input/output devices.
Some types of computers include:
 Supercomputers: The largest and most powerful computers, used for complex
computing
 Mainframe computers: A type of computer
 Minicomputers: A type of computer
 Personal computers (PCs) or microcomputers: A type of computer
Information technology (IT) professionals focus on how technologies work, such as
hardware, software, and computer network systems.

 Software and its types :-

Software is a collection of instructions, data, or computer programs that are used


to run machines and carry out particular activities. It is the antithesis of hardware,
which refers to a computer’s external components. A device’s running programs,
scripts, and applications are collectively referred to as “software” in this context.
What is a Software?
In a computer system, the software is basically a set of instructions or commands
that tell a computer what to do. In other words, the software is a computer program
that provides a set of instructions to execute a user’s commands and tell the
computer what to do. For example like MS-Word, MS-Excel, PowerPoint, etc.
Types of Software
It is a collection of data that is given to the computer to complete a particular task.
The chart below describes the types of software:
Above is the diagram of types of software. Now we will briefly describe each type
and its subtypes:
1. System Software
 Operating System
 Language Processor
 Device Driver
2. Application Software
 General Purpose Software
 Customize Software
 Utility Software
System Software
System software is software that directly operates the computer hardware and
provides the basic functionality to the users as well as to the other software to
operate smoothly. Or in other words, system software basically controls a
computer’s internal functioning and also controls hardware devices such as
monitors, printers, and storage devices, etc. It is like an interface between hardware
and user applications, it helps them to communicate with each other because
hardware understands machine language(i.e. 1 or 0) whereas user applications are
work in human-readable languages like English, Hindi, German, etc. so system
software converts the human-readable language into machine language and vice
versa.
 Types of System Software
It has two subtypes which are:
1. Operating System: It is the main program of a computer system. When the
computer system ON it is the first software that loads into the computer’s
memory. Basically, it manages all the resources such as computer
memory, CPU, printer, hard disk, etc., and provides an interface to the user,
which helps the user to interact with the computer system. It also provides
various services to other computer software. Examples of operating systems
are Linux, Apple macOS, Microsoft Windows, etc.
2. Language Processor: As we know that system software converts the human-
readable language into a machine language and vice versa. So, the conversion
is done by the language processor. It converts programs written in high-
level programming languages like Java, C, C++, Python, etc(known as source
code), into sets of instructions that are easily readable by machines(known as
object code or machine code).
3. Device Driver: A device driver is a program or software that controls a device
and helps that device to perform its functions. Every device like a printer,
mouse, modem, etc. needs a driver to connect with the computer system
eternally. So, when you connect a new device with your computer system, first
you need to install the driver of that device so that your operating system knows
how to control or manage that device.
Features of System Software
Let us discuss some of the features of System Software:
 System Software is closer to the computer system.
 System Software is written in a low-level language in general.
 System software is difficult to design and understand.
 System software is fast in speed(working speed).
 System software is less interactive for the users in comparison to application
software.
 Application Software
Software that performs special functions or provides functions that are much more
than the basic operation of the computer is known as application software. Or in
other words, application software is designed to perform a specific task for end-
users. It is a product or a program that is designed only to fulfill end-users’
requirements. It includes word processors, spreadsheets, database management,
inventory, payroll programs, etc.
Types of Application Software
There are different types of application software and those are:
1. General Purpose Software: This type of application software is used for a
variety of tasks and it is not limited to performing a specific task only. For
example, MS-Word, MS-Excel, PowerPoint, etc.
2. Customized Software: This type of application software is used or designed to
perform specific tasks or functions or designed for specific organizations. For
example, railway reservation system, airline reservation system, invoice
management system, etc.
3. Utility Software: This type of application software is used to support the
computer infrastructure. It is designed to analyze, configure, optimize and
maintains the system, and take care of its requirements as well. For
example, antivirus, disk fragmenter, memory tester, disk repair, disk cleaners,
registry cleaners, disk space analyzer, etc.
Features of Application Software
Let us discuss some of the features of Application Software:
 An important feature of application software is it performs more specialized
tasks like word processing, spreadsheets, email, etc.
 Mostly, the size of the software is big, so it requires more storage space.
 Application software is more interactive for the users, so it is easy to use and
design.
 The application software is easy to design and understand.
 Application software is written in a high-level language in general.

 Difference Between System Software and Application Software


Now, let us discuss some difference between system software and application
software:

System Software Application Software

It is designed to manage the resources of It is designed to fulfill the


the computer system, like memory and requirements of the user for
process management, etc. performing specific tasks.
System Software Application Software

Written in a low-level language. Written in a high-level language.

Less interactive for the users. More interactive for the users.

Application software is not so


System software plays vital role for the
important for the functioning of the
effective functioning of a system.
system, as it is task specific.

It is independent of the application


It needs system software to run.
software to run.

 Operating System:-

Define os :- An operating system (OS) is a collection of programs that manages a


computer's hardware and software resources, and allows users to interact with the
device:

Type of operating System:-


Operating Systems can be categorized according to different criteria like whether
an operating system is for mobile devices (examples Android and iOS) or desktop
(examples Windows and Linux). In this article, we are going to classify based on
functionalities an operating system provides.=

. Batch Operating System

In the 1970s, Batch processing was viral. In this technique, similar types of jobs were
batched together and executed in time. People were used to having a single
computer, which was called a mainframe.
In the Batch operating system, access is given to more than one person; they submit
their respective jobs to the system for execution.

The system puts all of the jobs in a queue on the basis of first come, first serve and
then executes the jobs one by one. The users collect their respective output when all
the jobs get executed.

The purpose of this operating system was mainly to transfer control from one job to
another as soon as the job was completed. It contained a small set of programs called
the resident monitor that always resided in one part of the main memory. The
remaining part is used for servicing jobs.
Advantages of Batch OS

o It has increased efficiency, like a resident monitor that eliminates CPU idle
time between jobs to enable it to smoothen the switching of tasks.
o The automatic handling of the processing of jobs means that users should not
take control to intervene in whatever is going on while running or executing
tasks.
o The resources, such as the CPU and the memory, are utilized and not left idle.
o It goes well with the payroll as well because it keeps processing jobs in
batches without any time wastage and hard work.
o It can also perform even very huge complex jobs without any intermission
because it simply streams without any intermission, even when the task is
excessively intensive.
o Group jobs as 'batches' remove most of the manual setup that had to be done
in between individual tasks, thereby saving time.
o It logs and deals with errors at the time when the batch is over. This allows
the system to run even without intermissions.
Disadvantages of Batch OS

1. Starvation

Batch processing suffers from starvation.

For Example:

There are five jobs J1, J2, J3, J4, and J5, present in the batch. If the execution time
of J1 is very high, then the other four jobs will never be executed, or they will have
to wait for a very long time. Hence the other processes get starved.

2. Not Interactive

Advertisement
Batch Processing is not suitable for jobs that are dependent on the user's input. If a
job requires the input of two numbers from the console, then it will never get it in
the batch processing scenario since the user is not present at the time of execution.

3. Delayed Output

Since the jobs are submitted in batches, the output is not produced in time. Such a
condition can be rather inconvenient for time-critical jobs.

4. Difficult to Debug
An error is found only after the entire batch has been processed, which makes it even
harder to locate and fix an issue in real-time.

5. It Requires Knowledge of Job Scheduling

The users or the system administrator should know well about the behavior of the
system as well as dependencies among tasks.
Advertisement
6. Large Jobs Cause Delays

If a batch contains a large job, then problems may occur because the processing of
all the subsequent jobs is delayed. This, therefore, slows down the overall system
performance.

2. Multiprogramming Operating System

Multiprogramming is an extension to batch processing where the CPU is always kept


busy. Each process needs two types of system time: CPU time and IO time.

Advertisement
In a multiprogramming environment, when a process does its I/O, The CPU can start
the execution of other processes. Therefore, multiprogramming improves the
efficiency of the system.
Advantages of Multiprogramming OS

o Throughout the system, it increased as the CPU always had one program to
execute.
o Response time can also be reduced.
o Multiprogramming maximizes the utilization of resources like memory, I/O
devices, and processing power since more than one program can be kept alive
at any time.
o Since several jobs are being processed in parallel, significantly more tasks
could be completed within a certain amount of time, thus enhancing the
overall throughput of the system.
o During times when a program is waiting for I/O operations, the processor does
not go idle since it jumps on to another task to continue processing.
o The system can support both short and long tasks to be executed in parallel,
which makes for a more dynamic and productive processing environment.

Disadvantages of Multiprogramming OS

o Multiprogramming systems provide an environment in which various systems


resources are used efficiently, but they do not provide any user interaction
with the computer system.
o Multiple programs increase system complexity, as the operating system needs
to manage multiple processes, memory management, and scheduling.
o It requires more memory compared to less sophisticated operating systems
because multiple programs run in memory simultaneously.
o The operating system has to switch between the running processes
continuously, and this leads to scheduling overhead and reduces performance.
o As several concurrent operations access shared resources simultaneously, the
system is likely to experience deadlocks: two or more processes waiting for
each other for further actions.
o Resource contention due to competition for scarce resources could degrade
performance.

3. Multiprocessing Operating System

In Multiprocessing, Parallel computing is achieved. There are more than one


processors present in the system which can execute more than one process at the
same time. This will increase the throughput of the system.

o In multiprocessing, several processors execute procedures in collaboration.


You can even split a procedure into parts that run in parallel.
o Since several processors work concurrently, more tasks are completed faster.
o Multiprocessing enhances the speed at which the system executes since tasks
scatter the processors, minimizing the waiting period for procedures.
o If one processor is faulty, the others will continue running, hence enhancing
system reliability.
Advertisement
Such an operating system is suited for highly computationally intensive
environments needing high processing power, for example, scientific simulations,
real-time data processing, and server environments
Working

In a Multiprocessing OS, concurrent execution of processes by multiple processors


is done. The processes are divided and allotted to different processors for parallel
computing. Thus, system performance is enhanced due to high throughput, good
resource allocation, smooth distribution of workload on the processors, and fault
tolerance. If one of its processors fails, then the system can continue and reallocate
its tasks to other processors, and thus, the operation can be done smoothly.

There are two types of Multiprocessing Operating Systems:

i. Symmetric Multiprocessing:
o In SMP, every processor has the same copy of the operating system; they share
memory and I/O devices. Each processor can do any task; it would ensure that
the workload is balanced among all of them.
o Each processor can continue any work; if one fails or stops functioning, others
can continue without affecting the system's performance.
ii. Asymmetric Multiprocessing:

o In AMP, one processor controls the system. It manages what tasks are to be
given to the other processors.
o The master processor provides service to the operating system, whereas other
processors are slaves and may perform specific work for the system.
o This configuration of the system keeps it very simple but sometimes causes
bottlenecks if the master processor gets too loaded.

Advantages of Multiprocessing Operating System:

o Increased Reliability: Because multiple processors are present, if one fails,


others may take over it, thus stabilizing the system.
o Increased Throughput: More jobs can be processed at the same time by these
multiple processors than by a single processor, thereby increasing the speed
of execution.
o Efficient Resource Utilization: It acts more productively upon the utilization
of resources like CPU, memory, and I/O devices.
o Parallelism: Many processes can run parallel, which increases the speed of
execution to a large extent.
o Scalability: As the workload increases, more processors can be added to
enhance performance.

Disadvantages of Multiprocessing Operating System:

o Complexity: There is a rise in the complexity of the system while dealing


with a number of processors and proper distribution of tasks.
o Increased Cost: Hardware equipment added in multiprocessing systems
increases their cost
o ommunication Overhead: Generally, communication among processors
results in overhead and provides a slight reduction in efficiency.
o Software Compatibility Problems: Generally, most software is not designed
to operate properly with multiprocessing systems.
4. Multitasking Operating System

Multiprogramming extended the multitasking operating system concept, which


enabled various programs to run simultaneously. It provided a user with the ability
to do more than one task on the same system at a given time by sharing various
system resources like CPU time among different processes. This assures efficient
use of the CPU because it shifts between tasks quickly; hence, it seems that they are
running parallel.

There are multitasking systems in almost all personal computers where, for example,
a user might run a web browser, a music player, and a document editor all at once.
i. Cooperative Operating System:

In a co-operating system, the tasks voluntarily relinquish control of the CPU so other
tasks can execute. A process runs until it completes or explicitly relinquishes control.
An operating system has a relatively small amount of control over when a process
will context switch. The operating system must rely on the processes to co-operate
with each other. Such a system may lead to problems if a process does not yield
control and causes others to be blocked.

ii. Preemptive Operating System:

n this system, the operating system has full control over how it allocates the CPU.
In this system, it can interrupt the process in the middle of its execution and switch
to another based on previously defined criteria for scheduling such as priority, time
slices, or deadlines. This means that within such a system, better multitasking and
responsiveness are ensured, and there is no event of allowing any single process to
monopolize the CPU.

Advantages of the Multitasking Operating System:

o This system can handle multiple users or tasks at once; therefore, it is best
utilized in multi-user environments.
o The memory is allocated dynamically and efficiently to various tasks so that
there is optimal usage of system resources.
o More applications can be run at the same time, which increases productivity
because tasks are executed concurrently.
o It provides for rapid shifts between tasks, therefore, shortening the response
time for the user.
o Because the system keeps running by switching between tasks, CPU time and
other system resources are consumed more effectively.

Disadvantages of Multitasking Operating System:

o The multitasking environment makes a number of processors busier at the


same time; that is, the CPU generates more heat.
o The managing of different tasks all together requires a more sophisticated
algorithm, which becomes complex to administer.
o Running too many applications at the same time can stress the system to a
point where performance degrades.
o In this scenario, multiple tasks will be competing for the same resources,
thereby delaying them.
o Multitasking systems usually require more powerful hardware, especially in
terms of memory and processing power, to run without a hitch.

5. Network Operating System


A NOS, which is an abbreviation for network operating system, is an operating
system that exists to allow computers to communicate and share resources over a
network, almost like the backbone of networking, ensuring that different devices
(like computers, printers, and even servers) can always connect and interact
seamlessly.

It's very illustrative to imagine a situation in which the students share the same
whiteboard-a shared resource like a printer or file and can't all go at once. The
network operating system is then like the teacher, keeping everything organized so
that every student gets their turn without chaos. Other things could be controlling
data sharing, security, and communication among devices.

NOS allows devices not only to communicate but also to share software applications,
files, and hardware so everyone in the network can have what they need without a
complicated setup. Examples of network operating systems are Microsoft Windows
Server, Linux, and Novell NetWare.

The enterprise saves money since resources like printers or storage drives do not
have to be duplicated for every user as they are shared, making the system in its
whole aspect easier and cheaper to operate. It is the tool that keeps the network
running smoothly, making it possible for connected devices to work together in
collaboration and productivity.

Advantages of Network Operating Systems

o Since network applications are split between the clients and the servers, this
minimizes the total number of communications on the network, thus
increasing performance.
o Configuring as well as maintaining an NOS is less expensive than other
elaborate systems since shared resources reduce duplication needed.
o A NOS grants centralized control over data, security, and resource
management. That means that administrations may easily manage a large
network.
o Scaling of the systems can be made easily in terms of organization growth.
Easly, new clients or servers can be added without reconfiguring the system.
o It shares resources like printers, files, and applications, which reduces
hardware and software redundancy.

Disadvantage of Network Operating System

o If one node or server fails, it affects the whole system, and network functions
will be interrupted. Hence, reliability is important.
o Security needs to be robust so that unauthorized access is restricted. Complex
security measures demand constant monitoring and updating.
o The skilled network administrators involved will handle system performance,
security configurations, and troubleshooting.
o When the network size is too large, and traffic is heavy, it degrades with time
if it's not monitored and maintained, which is constantly demanding attention.
o This is because an attacker, once able to gain access to one server, comes close
to achieving his goal for multiple resources contained in the entire network.

6. Real Time Operating System

A Real-Time Operating System is conceived as a design for tasks that need to be


completed under very strict time constraints. In such systems, each task has a clear
deadline; failing to achieve completion by that deadline can, in turn, bring about
significant consequences. Completion by the deadline may result in either a critical
failure or something no longer of relevance, again depending on the application, thus
leading to inefficiencies or even dangers in its application.

Real-time systems are widely used in areas where timing is the issue, for example,
the manufacturing of medical equipment, automotive controls, or even industrial
automation. For instance, in an anti-lock braking system (ABS) in a car, the response
must come in milliseconds in order to assure safety.
The application of a Real-Time system exists in the case of military applications. If
you want to drop a missile, then the missile is supposed to be dropped with a certain
precision.

i. Hard Real-Time Systems


In hard real-time systems, it is absolutely impossible to fail to meet a deadline. The
consequence of missing a deadline may be disastrous, even failing the system or loss
of life.

Examples: Flight navigation and control aircraft, Medical devices, like pacemakers.

It is required that strict guarantees be established so that the jobs will definitely be
executed on time. Failure can be very disastrous.

ii. Soft Real-Time Systems

In this system type, occasional missed deadlines may not result in catastrophic
failure but can degrade the performance or usability of the system.

Examples: Video streaming (occasional delays or buffering are acceptable) and


online transaction systems (like bank ATMs, where slight delays are tolerable).

The system may still be functionally operational and workable even if some deadline
misses do occur, though the performance would be adversely affected. This has
focused on efficiency and the removal of delays rather than absolute precision.

iii. Firm Real-Time Systems

In between hard and soft real-time systems, there are firm real-time systems. In that
case, there is no crash, but the result of the task is worthless when it doesn't meet the
deadline. There's a minimum kind of penalty, but the value of the completion of the
task goes significantly down if it is not made in time.

Examples: Automated stock trading systems (late transactions lose relevance) and
some e-commerce systems (for example, offers run out).

Advantages of Real-Time Operating System:

o Real-time applications are quite easy to design, develop, and implement under
a real-time operating system.
o Maximum utilization of devices and systems in a Real-Time Operating
System.
o Fast response to events.
o High reliability in the performance of time-critical operations.
o Strict scheduling ensures the predictable execution of tasks.
Disadvantages of Real-Time Operating System:

o Real-time operating systems are very expensive to design.


o Real-time operating systems are very resource-intensive and consume critical
CPU cycles.
o Less multitasking support.
o Lacks adaptability to new functions.
o At times, it demands specific hardware.

7. Time-Sharing Operating System

A Time-Sharing Operating System allows multiple users to access the system


concurrently, and this occurs by allocating a small time slice or quantum to each
task. The CPU switches between the tasks so rapidly that the users feel their
programs have been running concurrently. This kind of operating system is most
effective in systems where multiple users require access to the central system in real-
time or near real-time.

Here's how it works:

o Scheduling: Operating systems use scheduling algorithms in order to allow a


particular block of CPU time, referred to as a time slice, for each user or
process. After each time slice, the CPU shifts to the following process in the
queue.
o Multiprogramming: The TSOS uses multiprogramming, where several
programs are resident in the memory at any given time. This allows several
programs to be executed simultaneously.
o Context Switching: Whenever the CPU needs to switch to another task, the
operating system saves the state of the current process and loads the state of
the next process. It is a process referred to as context switching. That lets a
task be resumed exactly where it left off.
A time-sharing operating system allows many users to be served simultaneously, so
sophisticated CPU scheduling schemes and Input/output management are required.

Time-sharing operating systems are very difficult and expensive to build.

Advantages of Time-Sharing Operating System

o The time-sharing operating system facilitates effective utilization and sharing


of resources.
o This system helps decrease CPU idle and response time.
o It allows various users to access and interact with their programs at the same
time, and it leads to greater productivity.
o Time-sharing assures better memory management because it swaps programs
into and out of main memory efficiently.
o An interactive computing environment provides users with real-time access
to their programs and files.

Disadvantages of Time-Sharing Operating System

o Data transmission rates compared to others are very high


o The integrity and security of the user programs loaded in memory and data
have to be ensured since many users access the system concurrently.
o Implementation as well as management of time-sharing systems is more
complicated than others since there is a tendency for task scheduling and
memory management.
o Since more and more users get hooked to the system, it degrades due to
resource contention.
o However, with time, context switches between tasks will incur overheads,
thereby impacting the overall efficiency of the system.

8. Distributed Operating System

The Distributed Operating system is not installed on a single machine; it is divided


into parts, and these parts are loaded on different machines. A part of the distributed
Operating system is installed on each machine to make their communication
possible. Distributed Operating systems are much more complex, large, and
sophisticated than Network operating systems because they also have to take care of
varying networking
protocols.

Advantages of Distributed Operating System

o The distributed operating system offers resource sharing.


o This is a fault-tolerant system.
o Scalability is achieved and easily new nodes can be added to the system.
o Distributed task execution improves its performance.
o Parallel processing helps in increasing the speed of job execution and
enhances efficiency in getting results.

Disadvantages of Distributed Operating System

o Protocol overhead might control computation costs.


o The managing of the system is complex as it works in distributed.
o Security may prove difficult on multiple nodes.
o The system highly depends on network stability for it to run without hassles.

 Key Functions of an Operating System

1. Resource Management: Manages CPU, memory, storage, and I/O devices.


2. User Interface: Provides interfaces such as command-line or graphical user
interfaces (GUI).
3. Process Management: Handles the execution of multiple processes, enabling
multitasking.
4. File Management: Manages file storage, retrieval, and organization.
5. Security and Access Control: Protects data and system integrity through
authentication and authorization.
6. Device Management: Facilitates communication with hardware via device
drivers.

 Problem Solving : Algorithm and flowchart

Today, we use computers in every field for various purposes. But, we know that they
cannot solve the problems all by themselves. Furthermore, we have to give step by step
instructions to the computer for solving the problem. We can define problem-solving
as a process of understanding the problem, finding solutions for the problem, and
finally implementing the solution to it. We can design the solution before coding in the
form of algorithms and flowcharts. Moreover, the identification of arithmetic and
logical operations is very important in developing the program.

Therefore, we can say that a successful problem-solving process depends on the


following factors:

 understanding the problem and defining it precisely.


 designing proper algorithms and flowcharts of the solution.
 implementing the algorithm successfully.
When the problems are easy we can easily search out a solution. Whereas, complex
problems require step by step process to solve. Hence, this means that we have to apply
problem-solving techniques to solve the problem. Furthermore, this starts with finding
a precise definition of the problem and ends with a successful solution. Moreover, the
identification of arithmetic and logical operations plays a vital role while designing the
algorithm. Here, we will study the algorithms and flowcharts.

 Designing the solution

After understanding the relationship between input and output and the functionalities
required we have to design an algorithm or flowchart. Furthermore, the algorithm
should contain all the necessary functions to solve the problem. Moreover, it should
produce a proper output for every input.

Hence, we can say that before writing the exact code for the problem it is necessary to
define a solution. We can do this by starting with an initial plan and improvising it till
it gives perfect results. Moreover, there can be more than one possible solution for a
problem. Therefore, it is the responsibility of the programmer to choose the best
solution.

While designing a problem we can represent it in algorithms and flowcharts. Hence,


before writing the program code we can design the solution either in the form of an
algorithm or a flowchart.
 Introduction to Algorithms

An algorithm is basically a procedure of steps that we exactly follow to solve a


particular task or problem. We can say that it is a set of rules that we need to follow
while developing a program code during problem-solving. Furthermore, if we write an
algorithm before actually writing a code, it becomes easy to perform the coding part.
Moreover, the algorithm is in simple English language hence, others can also easily
understand it and develop the code.

Features of an algorithm

The features of an algorithm are as follows:

Clarity
The algorithm should be very clear and unambiguous in its meaning. It should be
simple so that one can understand it easily.

Well-defined inputs
A program may require to take input from the user. Therefore, the algorithm should
clearly define the inputs.

Well-defined outputs
The algorithm should clearly specify the output that the program will produce.

Finiteness
The algorithm should have a termination point. This means that the algorithm should
not be such that it runs infinite times or end up in loops.

Feasibility
The algorithm should be such that we can implement it easily. Hence, it should be
simple and practical to implement.
Language independent
It should be in simple English language. Since the code implementation should result
in the same output no matter which programming language we use while writing the
code.

 Introduction to Flowcharts

It is basically a diagrammatic representation of an algorithm. Furthermore, it uses


various symbols and arrows to describe the beginning, ending, and flow of the
program. Moreover, the programmers use it to depicting the flow of data and
instructions while problem-solving. Flowcharting is the process of drawing a
flowchart for an algorithm.

Symbols in a flowchart

The flowchart uses various symbols in the representation. These basic symbols are as
follows:

Terminal
It represents the start, stop, or halt in a program’s flow. The flowchart always starts
and ends with this symbol. Besides, we represent it using an oval shape.

Input/Output
We represent it using a parallelogram. It indicates any input from the user or output
of the program.

Processing
We represent it using a rectangle. It indicates any arithmetic operation’s processing
such as addition, subtraction, multiplication, division, etc.

Decision
We represent it using the diamond symbol. It represents any type of decision in a
program that results in true or false. For example. if-conditions.
 Difference Between Algorithm and Flowchart
What is an Algorithm?
The word Algorithm means “a process or set of rules to be followed in
calculations or other problem-solving operations”. Therefore Algorithm refers to
a set of rules/instructions that step-by-step define how a work is to be executed in
order to get the expected results. Let’s take a look at an example for a better
understanding. As a programmer, we are all aware of the Linear Search program.
(Linear Search)

Algorithm of linear search:


 Start from the leftmost element of arr[] and one by one compare x with each
element of arr[].
 If x matches with an element, return the index.
 If x doesn’t match with any of elements, return -1.

What is a Flowchart?
A flowchart is a graphical representation of an algorithm. Programmers often use
it as a program-planning tool to solve a problem. It makes use of symbols that are
connected among them to indicate the flow of information and processing. The
process of drawing a flowchart for an algorithm is known as “flowcharting”.
Example: Draw a flowchart to input two numbers from the user and display the l.
 Difference between algorithm and flow chart:

S.
No Algorithm Flowchart

An algorithm is a step-by- A flowchart is a diagram created with


step procedure to solve a different shapes to show the flow of
1. problem. data.

The algorithm is complex to


2. understand. A flowchart is easy to understand.

In the algorithm, plain text is In the flowchart, symbols/shapes are


3. used. used.

The algorithm is easy to


4. debug. A flowchart is hard to debug.

The algorithm is difficult to


5. construct. A flowchart is simple to construct.

The algorithm does not The flowchart follows rules to be


6. follow any rules. constructed.

The algorithm is the pseudo- A flowchart is just a graphical


7. code for the program. representation of that logic.

You might also like