Digital Technology Notes
Digital Technology
What is Digital Technology?
- Digital technology encompasses electronic tools, devices, systems, and resources used by organizations.
- It facilitates data processing, storage, and various functions, enhancing employee productivity and efficiency.
- Examples include digital cameras, personal computers, and devices utilizing fast data transmission speeds.
- These technologies store or process data using digital signals.
- Cloud platforms like Microsoft 365 or Google Docs exemplify business use of digital tools on mobile phones.
- Digital technology accelerates processes, enabling staff to focus on higher-level tasks beyond technological capabilities.
Different Types of Digital Technology
- Business technology: Enhances business operations through technology and science, including IT, digital marketing, data management, and e-commerce tech.
- IT – Information technology: Utilizes hardware, software, and telecommunications to efficiently store, send, and retrieve data.
- Communication technology (CT): Integrates information and communication via digital networks, including virtual assistants, social media, Wi-Fi, and Bluetooth.
- OT – Operational technology: Combines hardware and software to secure industrial networks.
- Adaptive AI/ Superintelligence: Employs AI and computer systems to advance human life, with examples like chatbots, virtual agents, and self-driving cars.
- Educational technology (EdTech): Revolutionizes learning through computer-based instruction, interactive tools, audio-visual systems, and online resources.
- Blockchain technology: Provides a secure, web-based financial system with encrypted data, extending from digital assets to online stock exchanges and social media platforms.
Stronger Communication
- Technological advances revolutionize global interactions with team members, clients, investors, or potential customers.
- Digital tools like Skype and Zoom facilitate virtual meetings across distances, while Slack or Asana enhance internal communications.
- Communication tools aid in tracking projects, ensuring task accuracy, and meeting deadlines for hybrid, office-based, or remote teams.
- Email newsletters, social media accounts, and other resources maintain connectivity.
Optimized Efficiency
- Technology enhances the efficiency of systems, products, and services.
- It streamlines operations by managing processes, data flow, contact lists, and employee records, decreasing costs and reducing waste.
- Streamlined processes position companies for rapid growth.
- Technology boosts productivity and cost-efficiency without sacrificing quality.
- Software programs automate manual tasks, reducing labor costs and allowing staff to focus on critical areas.
Continuous Innovation
- Innovation thrives in a culture that embraces diverse experiences and creative thinking.
- Technology facilitates this by:
- Innovative culture: Providing staff with stipends for technology to support side projects.
- Diverse teams: Using AI to hide personal information, reducing bias in recruitment.
- Creative thinking: Automating repetitive tasks to free staff for creative activities.
Tighter Security
- With rising cybercrime and data breaches, strong security is crucial.
- Businesses store assets in the cloud or endpoints, necessitating stringent measures to protect information and customer data.
Competitive Edge
- Businesses must maintain increasing profits to avoid losing ground to competitors.
- Technology provides a competitive edge for companies to stay ahead.
- Automated metrics track organizational performance, informing new strategies.
- AI predicts market trends, allowing proactive preparation for emerging technologies.
Effective Employee Wellbeing
- Supporting staff well-being is vital for employee retention, productivity, and adaptation to digital transformation.
- Modern technology offers personalized health and wellness solutions, such as meditation apps for stress and activity trackers for fitness.
The Future Of Digital Technology
- Neuromorphic Computing:
- Neuromorphic computing systems simplify new product development.
- AI systems learn about the natural world and react rapidly and accurately.
- Examples include pattern recognition, event detection, and learning from limited data.
- Numerous products will be developed using this technology.
- Human-centered AI (HCAI):
- HCAI involves gaining new knowledge, making decisions, or having new experiences.
- Also known as “augmented intelligence,” “centaur intelligence,” or “human in the loop.”
- Ensures ethical operation of machines through human oversight.
- Helps vendors use AI devices ethically and responsibly, maintaining human touch and common sense.
- Self-led Learning:
- Self-supervised models enable AI to infer connections between data, like typical event sequences or related words.
- Emerging from academia, with some NLP and computer vision companies integrating it into their products.
Basics of Computer and its Operations
- Introduction:
- A computer is an electronic device for receiving, storing, processing, and outputting data.
- It performs tasks from simple calculations to complex simulations and AI.
- Hardware: CPU, memory, storage, input/output devices, peripherals.
- Software: Operating system and applications.
- Functions:
- Accept data
- Store data
- Process data as desired
- Retrieve stored data when required
- Print the result in desired format.
Classification of Computers
- Based on technology and design for performing tasks.
- Digital Computers:
- Process information in discrete form.
- Data (letters, symbols, numbers) is represented in binary form (0s and 1s).
- Used in industrial, business, and scientific applications.
- Suitable for large volume data processing.
- Analog Computers:
- Process data from ongoing physical processes.
- Example: Thermometer measuring mercury level change.
- Well-suited to simulating systems.
- Used for simulations in aircrafts, nuclear power plants, hydraulic and electronic networks.
- Hybrid Computers:
- Combine analog and digital technology.
- Offer speed of analog and accuracy of digital computers.
- Require conversion of data between digital and analog forms.
- Cost-effective for complex simulations.
- Supercomputers:
- Most powerful and expensive.
- Used for complex scientific calculations, simulations, and research.
- Applications: weather forecasting, cryptography, nuclear research.
- Mainframe Computers:
- Large and powerful.
- Used by large organizations (banks, airlines, government agencies) for processing massive data and handling multiple users.
- Mini Computers:
- Smaller and less powerful than mainframes.
- Handle multiple users and large data volumes.
- Used by small to medium-sized businesses for accounting, inventory management, etc.
- Personal Computers:
- Small and affordable for individual users.
- Used for personal productivity, entertainment, and communication.
- Workstations:
- High-performance computers for professionals (architects, engineers, designers).
- Run complex software for 3D modeling, animation, scientific visualization.
- Embedded Systems:
- Specialized computers built into other devices (cars, appliances, medical equipment).
- Control operations and perform specific functions.
- Mobile Devices:
- Small and portable computers for on-the-go use.
- Examples: smartphones, tablets, laptops.
Functional Components of a Computer
- A computer requires input, processes that input, and produces the desired output.
- This is the Input-Process-Output Cycle.
- A computer is a combination of hardware and software resources that integrate to provide functionalities to the user.
- Hardware: physical components (processor, memory devices, monitor, keyboard, etc.).
- Software: programs or instructions required by hardware resources to function.
- Digital Computer:
- A programmable machine that reads binary data as instructions, processes it, and displays a calculated digital output.
Details of Functional Components of a Digital Computer
Input Unit:
- Consists of input devices attached to the computer.
- Devices take input and convert it into binary language.
- Examples: keyboard, mouse, joystick, scanner.
Central Processing Unit (CPU):
- Processes information entered by the input device.
- The brain of the computer – the control center.
- Fetches instructions from memory, interprets them, and executes computations.
- Components: Arithmetic Logic Unit (ALU), Control Unit (CU), Memory registers.
Arithmetic and Logic Unit (ALU):
- Performs mathematical calculations (addition, subtraction, multiplication, division) and logical decisions.
- Logical decisions involve comparison of two data items.
Control Unit:
- Coordinates and controls data flow in and out of CPU.
- Controls all operations of ALU, memory registers, and input/output units.
- Responsible for carrying out instructions stored in the program.
- Decodes the fetched instruction, interprets it, and sends control signals.
Memory Registers:
- Temporary memory units in the CPU.
- Store data directly used by the processor.
- Registers vary in size (16 bit, 32 bit, 64 bit, etc.).
- Each register has a specific function (storing data, instructions, memory address).
- Accumulator (ACC) is the main register in the ALU and contains one operand.
Memory:
- Attached to the CPU for storage of data and instructions (internal memory).
- Divided into storage locations with addresses.
- When a program is executed, its data is copied to internal memory until execution ends.
- Also called Primary memory or Main memory (RAM – Random Access Memory).
- Access time of data is independent of its location.
Output Unit:
- Consists of output devices attached to the computer.
- Converts binary data from CPU to human-understandable form.
- Examples: monitor, printer, plotter.
Interconnection between Functional Components
The input unit takes input, the CPU processes it, and the output unit produces output.
All devices communicate through a common bus.
Bus: a transmission path made of conducting wires that passes data between components.
- Three types: Address bus, Data bus, Control Bus.
Address bus: carries the address location of the data or instruction.
Data bus: carries data from one component to another.
Control bus: carries the control signals.
The system bus is the common communication path for signals to/from CPU, main memory, and input/output devices.
Input/output devices communicate with the system bus through a controller circuit.
Software and its Types
- Software is a set of instructions/commands that tell a computer what to do.
- It's a computer program that provides instructions to execute user commands.
- Examples: MS-Word, MS-Excel, PowerPoint.
- It is a collection of data given to the computer to complete a task.
Types of Software
- System Software:
- Essential for a PC/laptop to run.
- Examples: Linux, Unix, Windows.
- Application Software:
- Not necessary for a PC/laptop to run.
- Examples: Facebook, WhatsApp, Games.
1. System Software
Directly operates the computer hardware and provides basic functionality.
Controls a computer’s internal functioning and hardware devices.
Types of System Software
- Operating System:
- Main program of a computer system.
- Loads into the computer’s memory at startup.
- Manages computer memory, CPU, printer, hard disk, etc.
- Provides a user interface.
- Examples: Linux, Apple macOS, Microsoft Windows.
- Language Processor:
- Converts human-readable language into machine language.
- Converts source code (Java, C, C++, Python) into object code or machine code.
- Device Driver:
- Controls a device and helps it perform its functions.
- Needed for every device (printer, mouse, modem) to connect with the system.
- Must be installed for the operating system to manage the device.
- Operating System:
Features of System Software
- Closer to the computer system.
- Written in a low-level language.
- Difficult to design and understand.
- Fast in speed (working speed).
- Less interactive for users compared to application software.
2. Application Software
Performs special functions beyond the basic operation of the computer.
Designed to perform specific tasks for end-users.
Fulfills end-users’ requirements.
Examples: Word processors, spreadsheets, database management, inventory, payroll programs.
Types of Application Software
- General Purpose Software:
- Used for a variety of tasks, not limited to a specific function.
- Examples: MS-Word, MS-Excel, PowerPoint.
- Customized Software:
- Designed for specific tasks or organizations.
- Examples: railway reservation system, airline reservation system, invoice management system.
- Utility Software:
- Supports the computer infrastructure.
- Analyzes, configures, optimizes, and maintains the system.
- Examples: antivirus, disk fragmenter, memory tester, disk repair, disk cleaners, registry cleaners, disk space analyzer.
- General Purpose Software:
Features of Application Software
- Performs specialized tasks like word processing, spreadsheets, email, etc.
- The size of the software is generally large, requiring more storage space.
- More interactive for users; easy to use and design.
- Written in a high-level language.
Difference Between System Software and Application Software
| System Software | Application Software |
|---|---|
| Designed to manage computer system resources (memory, process management, etc.) | Designed to fulfill user requirements for performing specific tasks. |
| Written in a low-level language. | Written in a high-level language. |
| Less interactive for users. | More interactive for users. |
| Vital for the effective functioning of a system. | Not so important for the functioning of the system, as it is task-specific. |
| Independent of application software to run. | Needs system software to run. |
What is an Operating System?
- An operating system (OS) lies in the category of system software.
- Manages all the resources of the computer.
- Acts as an interface between the software and different parts of the computer or the computer hardware.
- Designed to manage the overall resources and operations of the computer.
Functions of the Operating System
- Resource Management:
- The operating system manages and allocates memory, CPU time, and other hardware resources among the various programs and processes running on the computer.
- Process Management:
- The operating system is responsible for starting, stopping, and managing processes and programs. It also controls the scheduling of processes and allocates resources to them.
- Memory Management:
- The operating system manages the computer’s primary memory and provides mechanisms for optimizing memory usage.
- Security:
- The operating system provides a secure environment for the user, applications, and data by implementing security policies and mechanisms such as access controls and encryption.
- Job Accounting:
- It keeps track of time and resources used by various jobs or users.
- File Management:
- The operating system is responsible for organizing and managing the file system, including the creation, deletion, and manipulation of files and directories.
- Device Management:
- The operating system manages input/output devices such as printers, keyboards, mice, and displays. It provides the necessary drivers and interfaces to enable communication between the devices and the computer.
- Networking:
- The operating system provides networking capabilities such as establishing and managing network connections, handling network protocols, and sharing resources such as printers and files over a network.
- User Interface:
- The operating system provides a user interface that enables users to interact with the computer system. This can be a Graphical User Interface (GUI), a Command-Line Interface (CLI), or a combination of both.
- Backup and Recovery:
- The operating system provides mechanisms for backing up data and recovering it in case of system failures, errors, or disasters.
- Virtualization:
- The operating system provides virtualization capabilities that allow multiple operating systems or applications to run on a single physical machine. This can enable efficient use of resources and flexibility in managing workloads.
- Performance Monitoring:
- The operating system provides tools for monitoring and optimizing system performance, including identifying bottlenecks, optimizing resource usage, and analyzing system logs and metrics.
- Time-Sharing:
- The operating system enables multiple users to share a computer system and its resources simultaneously by providing time-sharing mechanisms that allocate resources fairly and efficiently.
- System Calls:
- The operating system provides a set of system calls that enable applications to interact with the operating system and access its resources. System calls provide a standardized interface between applications and the operating system, enabling portability and compatibility across different hardware and software platforms.
- Error-detecting Aids:
- These contain methods that include the production of dumps, traces, error messages, and other debugging and error-detecting methods.
Types of Operating Systems
An Operating System performs all the basic tasks like managing files, processes, and memory. Thus operating system acts as the manager of all the resources, i.e. resource manager. Thus, the operating system becomes an interface between the user and the machine. It is one of the most required software that is present in the device. Operating System is a type of software that works as an interface between the system program and the hardware..
Types of Operating Systems
- Batch Operating System
- Multi-Programming System
- Multi-Processing System
- Multi-Tasking Operating System
- Time-Sharing Operating System
- Distributed Operating System
- Network Operating System
- Real-Time Operating System
1. Batch Operating System
This type of operating system does not interact with the computer directly. There is an operator which takes similar jobs having the same requirement and groups them into batches. It is the responsibility of the operator to sort jobs with similar needs.
Advantages of Batch Operating System
- It is very difficult to guess or know the time required for any job to complete. Processors of the batch systems know how long the job would be when it is in the queue.
- Multiple users can share the batch systems.
- The idle time for the batch system is very less.
- It is easy to manage large work repeatedly in batch systems.
Examples of Batch Operating Systems:
- Payroll Systems, Bank Statements, etc.
2. Multi-Programming Operating System
Multiprogramming Operating Systems can be simply illustrated as more than one program is present in the main memory and any one of them can be kept in execution. This is basically used for better execution of resources.
Advantages of Multi-Programming Operating System
- Multi Programming increases the Throughput of the System.
- It helps in reducing the response time.
3. Multi-Processing Operating System
Multi-Processing Operating System is a type of Operating System in which more than one CPU is used for the execution of resources. It betters the throughput of the System.
Advantages of Multi-Processing Operating System
- It increases the throughput of the system.
- As it has several processors, so, if one processor fails, we can proceed with another processor.
4. Multi-Tasking Operating System
Multitasking Operating System is simply a multiprogramming Operating System with having facility of a Round-Robin Scheduling Algorithm. It can run multiple programs simultaneously. There are two types of Multi-Tasking Systems which are listed below.
- Preemptive Multi-Tasking
- Cooperative Multi-Tasking
Advantages of Multi-Tasking Operating System
- Multiple Programs can be executed simultaneously in Multi-Tasking Operating System.
- It comes with proper memory management.
5. Time-Sharing Operating Systems
Each task is given some time to execute so that all the tasks work smoothly. Each user gets the time of the CPU as they use a single system. These systems are also known as Multitasking Systems. The task can be from a single user or different users also. The time that each task gets to execute is called quantum. After this time interval is over OS switches over to the next task.
Advantages of Time-Sharing OS
- Each task gets an equal opportunity.
- Fewer chances of duplication of software.
- CPU idle time can be reduced.
Resource Sharing:
- Time-sharing systems allow multiple users to share hardware resources such as the CPU, memory, and peripherals, reducing the cost of hardware and increasing efficiency.
Improved Productivity:
- Time-sharing allows users to work concurrently, thereby reducing the waiting time for their turn to use the computer. This increased productivity translates to more work getting done in less time.
6. Distributed Operating System
These types of operating system is a recent advancement in the world of computer technology and are being widely accepted all over the world and, that too, at a great pace. Various autonomous interconnected computers communicate with each other using a shared communication network. Independent systems possess their own memory unit and CPU. These are referred to as loosely coupled systems or distributed systems. These systems’ processors differ in size and function. The major benefit of working with these types of the operating system is that it is always possible that one user can access the files or software which are not actually present on his system but some other system connected within this network i.e., remote access network.
Advantages of Distributed Operating System
- Failure of one will not affect the other network communication, as all systems are independent of each other.
- Electronic mail increases the data exchange speed.
- Since resources are being shared, computation is highly fast and durable.
- Load on host computer reduces.
- These systems are easily scalable as many systems can be easily added to the network.
- Delay in data processing reduces.
Examples of Distributed Operating Systems are LOCUS, etc.
7. Network Operating System
These systems run on a server and provide the capability to manage data, users, groups, security, applications, and other networking functions. These types of operating systems allow shared access to files, printers, security, applications, and other networking functions over a small private network. One more important aspect of Network Operating Systems is that all the users are well aware of the underlying configuration, of all other users within the network, their individual connections, etc. and that’s why these computers are popularly known as tightly coupled systems.
Advantages of Network Operating System
- Highly stable centralized servers.
- Security concerns are handled through servers.
- New technologies and hardware up-gradation are easily integrated into the system.
- Server access is possible remotely from different locations and types of systems.
Examples of Network Operating Systems are Microsoft Windows Server 2003, Microsoft Windows Server 2008, UNIX, Linux, Mac OS X, Novell NetWare, BSD, etc.
8. Real-Time Operating System
These types of OSs serve real-time systems. The time interval required to process and respond to inputs is very small. This time interval is called response time. Real-time systems are used when there are time requirements that are very strict like missile systems, air traffic control systems, robots,
Advantages of RTOS
- Maximum Consumption: Maximum utilization of devices and systems, thus more output from all the resources.
- Task Shifting: The time assigned for shifting tasks in these systems is very less. For example, in older systems, it takes about 10 microseconds in shifting from one task to another, and in the latest systems, it takes 3 microseconds.
- Focus on Application: Focus on running applications and less importance on applications that are in the queue.
- Real-time operating system in the embedded system: Since the size of programs is small, RTOS can also be used in embedded systems like in transport and others.
- Error Free: These types of systems are error-free.
- Memory Allocation: Memory allocation is best managed in these types of systems.
Examples of Real-Time Operating Systems are Scientific experiments, medical imaging systems, industrial control systems, weapon systems, robots, air traffic control systems, etc.
What is an Algorithm?
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.
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”.
Algorithm properties
Algorithm is a step – by – step procedure which is helpful in solving a problem. If, it is written in English like sentences then, it is called as ‘PSEUDO CODE’.
An algorithm must possess the following five properties:
- Input
- Output
- Finiteness
- Definiteness
- Effectiveness
Example Algorithm for finding the average of three numbers is as follows:
- Start
- Read 3 numbers a,b,c
- Compute sum = a+b+c
- Compute average = sum/3
- Print average value
- Stop
Flowchart
- Diagrammatic representation of an algorithm is called flow chart