DTS Notes Digital Technologies and Solutions
DTS Notes Digital Technologies and Solutions
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
4. Transforming Healthcare
5. Innovating Industries
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.
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
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.
Digital Technology focuses on binary data (0s and 1s) to process and deliver
information through electronic devices.
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.
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).
Conclusion
Less interactive for the users. More interactive for the users.
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
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
In this system type, occasional missed deadlines may not result in catastrophic
failure but can degrade the performance or usability of the system.
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.
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).
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:
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.
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.
Features of an algorithm
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
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)
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