Unit-3
Unit-3
● Definition: The Operating System (OS) is the most crucial software that runs on a
computer. It manages hardware and software resources and provides common services for
computer programs.
Operating System is a type of system software. It basically manages all the resources of the
computer. An operating system acts as an interface between the software and different parts of
the computer or the computer hardware. The operating system is designed in such a way that it
can manage the overall resources and operations of the computer.
Operating System is a fully integrated set of specialized programs that handle all the operations
of the computer. It controls and monitors the execution of all other programs that reside in the
computer, which also includes application programs and other system software of the computer.
Examples of Operating Systems are Windows, Linux, Mac OS, etc.
An Operating System (OS) is a collection of software that manages computer hardware resources
and provides common services for computer programs. In this article we will see basic of
operating systems in detail.
The operating system helps in improving the computer software as well as hardware. Without an
OS, it became very difficult for any application to be user-friendly. The Operating System
provides a user with an interface that makes any application attractive and user-friendly. The
operating System comes with a large number of device drivers that make OS services reachable
to the hardware environment. Each and every application present in the system requires the
Operating System. The operating system works as a communication channel between system
hardware and system software. The operating system helps an application with the hardware part
without knowing about the actual hardware configuration. It is one of the most important parts of
the system and hence it is present in every device, whether large or small device.
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 error messages, and
other debugging and error-detecting methods.
2. Application Software
A computer is a piece of electronic equipment. Because it is powered by electricity, it is referred
to as an electronic device. It accepts data, processes it, and outputs the appropriate results. The
output of a computer system is also known as the result of the computer system. The computer
system is commonly used nowadays. It is employed in a variety of fields due to its quick
processing, data storage, data or information accessibility, data transmission, communication
methods, and instant connectivity.
The basic structure of the computer system includes major devices like Input Devices (mouse,
keyboard, joystick, microphone, camera, etc.) CPU (Central Processing Unit) Output Devices
(Monitors and printers, etc.) help to run the computer system smoothly.
A programmed set of instructions used to perform a given task is referred to as software. Users
are unable to see the software. Users are only able to realize and validate their functions. The
hardware runs all of the software. The two main categories of software are system software and
application software. The most widely used computer software is the Operating System
(Windows, Linux, Ubuntu, etc.) and Microsoft Office (MS Word, Excel, PowerPoint, etc.)
The term “application software” refers to software that performs specific functions for a user.
When a user interacts directly with a piece of software, it is called application software. The sole
purpose of application software is to assist the user in doing specified tasks. Microsoft Word and
Excel, as well as popular web browsers like Firefox and Google Chrome, are examples of
application software. It also encompasses the category of mobile apps, which includes apps like
WhatsApp for communication and games like Candy Crush Saga. There are also app versions of
popular services, such as weather or transportation information, as well as apps that allow users
to connect with businesses. Global Positioning System (GPS), Graphics, multimedia,
presentation software, desktop publishing software, and so on are examples of such software.
Functions of Application Software
Application software programs are created to help with a wide range of tasks. Here are a few
examples:
● Information and data management
● Management of documents (document exchange systems)
● Development of visuals and video
● Emails, text messaging, audio, and video conferencing, and cooperation are all options.
● Management of accounting, finance, and payroll
● Management of resources (ERP and CRM systems)
● Management of a project
● Management of business processes
● Software for education (LMS and e-learning systems)
● Software for healthcare applications
● Definition: Application software is designed to help users perform specific tasks. These
programs are built to address user needs in various areas.
● Types:
○ Productivity Software: Examples include Microsoft Office, Google Docs.
○ Creative Software: Examples include Adobe Photoshop, Final Cut Pro.
○ Business Software: Examples include SAP, QuickBooks.
○ Educational Software: Examples include Duolingo, Khan Academy.
3. Antivirus
Antivirus software (antivirus program) is a security program designed to prevent, detect, search
and remove viruses and other types of malware from computers, networks and other devices.
Often included as part of a security package, antivirus software can also be purchased as a
standalone option.
Typically installed on a computer as a proactive approach to cybersecurity, an antivirus program
can help mitigate a variety of cyber threats, including keyloggers, browser hijackers, Trojan
horses, worms, rootkits, spyware, adware, botnets, phishing attempts and ransomware attacks.
Due to the constantly evolving nature of cybercrimes and new versions of malware being
released daily, including zero-day attacks, no antivirus program can offer detection and
protection against all threat vectors.
To scan systems comprehensively, antivirus software must generally be given privileged access
to the entire system. This makes antivirus software itself a common target for attackers, and
researchers have discovered remote code execution and other serious vulnerabilities in antivirus
software products in recent years.
● Virus and malware protection. The main benefit of antivirus software is to protect
against malicious viruses, such as malware and spyware. Most cyber threats today
present themselves as multipronged threat vectors that can attack system data, steal
confidential information, spy on system resources and degrade system performance
simultaneously. Therefore, having reliable antivirus software running at all times is
imperative.
● Protection against spam and pop-ups. One of the most common ways viruses
infiltrate and infect a system is through pop-up advertisements and spam-based
webpages. Antivirus software keeps the system secure by automatically blocking
pop-ups and spam coming from malicious websites.
● Web protection. Antivirus software helps protect against scam websites threat actors
use to gather credit card and bank information from unsuspecting users. By restricting
access to harmful websites, a reliable antivirus program can prevent users from
accessing unauthorized networks.
● Real-time protection. Antivirus software acts as a real-time shield that scans each
inbound file and program. Depending on the settings of the antivirus program, once
an infected file or program is detected, it's either automatically deleted or moved to a
quarantine folder for further analysis. A quarantined file is prevented from interacting
with the rest of the machine and its programs to mitigate damage.
● Boot-scan command. Sophisticated viruses can often duplicate themselves while the
system is active. However, an antivirus program can prevent a virus from
self-replicating by invoking a boot-scan command. This command shuts down the
operating system (OS), restarts the computer and scans the entire hard drive for
viruses and malware. During the scan, the virus is detected and doesn't get a chance
to self-replicate due to the deactivation of the OS.
● Dark web scanning. Data from most data breaches, such as ransomware attacks, is
often leaked on the dark web. Many antivirus tools can help organizations discover if
their sensitive data is leaked on the dark web. For example, if they find an associated
email address or account number on the dark web, they can notify the user and update
the password to a new and more complex one.
● Protection from external devices. Most people regularly plug in external devices,
such as hard drives and USB adapters, to their computers. Antivirus software scans
all attached devices and peripherals to thwart potential viruses from entering the
system through external sources.
While some OSes are targeted more frequently by virus developers, antivirus software is
available for most OSes:
● Windows antivirus software. Most antivirus software vendors offer several levels of
Windows products at different price points, starting with free versions offering only
basic protection. Users must perform scans and updates manually, and typically, free
versions of antivirus software won't protect against links to malicious websites or
malicious code and attachments in emails. Premium versions of antivirus software
often include suites of endpoint security tools that provide secure online storage, ad
blockers and file encryption. Since 2004, Microsoft has been offering free antivirus
software as part of the Windows OS, generally under the name Windows Defender,
though the software was mostly limited to detecting spyware before 2006. Microsoft
now offers Microsoft Defender Antivirus as part of its Microsoft 365 Defender portal,
which is available for Windows 10, Windows 11 and some versions of Windows
Server.
● MacOS antivirus software. Although Apple macOS viruses exist, they're less
common than Windows viruses, so antivirus products for Mac-based devices are less
standardized than those for Windows. There are several free and paid products
available, providing on-demand tools to protect against potential malware threats
through full-system malware scans and the ability to sift through specific email
threads, attachments and various web activities.
● Android antivirus software. Android is the world's most popular mobile OS and is
installed on more mobile devices than any other OS. Because most mobile malware
targets Android, experts recommend all Android device users install antivirus
software on their devices. Vendors offer a variety of basic free and paid premium
versions of their Android antivirus software, including antitheft and remote-locating
features. Some run automatic scans and actively try to stop malicious webpages and
files from being opened or downloaded. Play Protect is Google's built-in malware
protection for Android, which was first released with Android 8.0 Oreo, and now
comes with every Android device that has Google Play services version 11 or newer
installed on it.
Virus detection techniques
Antivirus software uses a variety of virus detection techniques. The following are six common
types:
4. File Compression
● Definition: File compression software reduces the size of files, making them easier to
store and transfer.
● Functions:
○ Compression: Reduces file size by eliminating redundant data.
○ Decompression: Restores compressed files to their original state.
○ File Management: Often includes tools for organizing compressed files.
● Examples: WinRAR, 7-Zip, WinZip.
Many files such as images, videos and even text documents can take up large amounts of
memory, meaning an increased need for storage space and slower transfer speeds do to file size,
this has led to the need for data compression. Data Compression is the process of making files
require less memory to store. When people talk about 'file size' they are usually referring to the
memory required to store the file and not the physical size of the document or file.
There are two main methods of file compression, lossy and lossless. Each type of file
compression has its benefits and disadvantages. To compress a file software such as Win Zip or
is used Archive Utility Zip are used, files zipped by one software brand should be able to be
uncompressed by other brands. Different file types use different methods of compression, for
example compression an image will use a different algorithm to compressing a text document.
✓ Compression makes the file size smaller so less space is needed to store the file
✓ Compression makes the file size smaller so files transfer faster over a network such as the
internet
✓ Compression makes the file size smaller which helps with file streaming
LOSSY COMPRESSION
The key element of Lossy compression is that the file will lose quality when it is compressed.
The lose of quality is not important for many files and in many cases we do not even notice the
reduction in quality. Some key points on Lossy compression are:
✓ Lossy compression reduces the file size by removing some of the data, because of this an
exact match of the original data cannot be recreated. Quality is lost.
✓ Lossy compression uses an algorithm that looks to remove detail that is barely noticeable, for
example if pixels next to each other in an image are almost the same colour then the Lossy
algorithm will give them the same value to reduce the bytes needed to store the detail.
✓ Lossy compression is often used on files such as images and sound files such as MP3s and
JPGs
✓ Lossy compression is often not a good option for files such as text documents
✓ Lossy compression can make files sizes smaller that is possible with Lossless compression
LOSSLESS COMPRESSION
The key element to lossless compression is the no quality is lost during the process of
compression. Lossless compression is used when it is important to maintain the original quality.
Some key points of Lossless compression are:
✓ Lossless compression will not remove any quality from the file, the compressed version will
be the same as the original when uncompressed.
✓ Lossless compression uses an algorithm that looks for repeat data, this can be groups and
categorised and a token be given for where each group will be used in the reconstruction
✓ Lossless compression is often used on files such as text files and images such as DOCXs,
GIFs and PNGs
✓ Lossless compression is often not a good option for audio files and high colour images
✓ Lossless compression is more limited than Lossy compression with how small the file size
can be made
1: Which type of compression does the reconstructed version remain the same as the original?
3: When lossy compression is used to compress an image, it cannot be reconstructed back to its
original form, why?
4: Which of the three file types below represents an uncompressed audio format?
A: WAV
B: AAC
C: MP3
5: Which of the three file types below uses a lossy compression technique?
A: MP3
B: WAV
C: AIFF
COMPRESSION METHODS
un Length Encoding is a method of compression that looks for repeating patterns and then
R
encodes them into one item of data of a specified length.
IMAGE 1 : 8 x 8 pixels
Take the top row of the image, it has 8 white pixels and then the second row 1 white pixel, 2 red
pixels, 2 white and so on. An uncompressed representation of the image would represent each
pixel individually for example the binary for the row, if this was an 8 bit image then the top row
has 8 pixels with 8 bits used to represent the colour of each pixel meaning it take 8pixels x 8bits
= 64bit to represent the 8 white pixels. With run length encoding we can simply encode this as 8
white pixels in a row 8W this would mean 8 bits would be used to represent the length of the
pattern and 8 bits to represent the colour meaning using run-length encoding the top row could
be compressed from 64 bits to just 16 bits.
Huffman Encoding
Huffman Encoding is often used in Lossless compression and it uses a greedy algorithm to create
an encoding system that uses a binary tree principle to allocate each item a unique code, ensuring
that the most frequently occurring item gets the smallest code.
Doing a frequency analysis on the quote above we can see that the most frequently occurring
letter is 'n' and also the 'space', which appear 4 times each followed be 'e' appearing 3 times.
Continuing this frequency analysis we can put each letter in a chart in order of frequency.
e can then use a tree to put to illustrate and allocate each letter a binary code, the letters that
W
occur the most frequent will go at the top of the tree and the code allocated for these letters will
require less Bits to encode than those occurring further down the tree.
Looking at the allocation of encoding in this method we can see that each letter in the quote was
allocated the following binary representations, this can then be used as the key to recovering the
compressed file with zero loss to the original quality.
5. Language Translator
● Definition: Language translation software translates text from one language to another.
● Functions:
○ Text Translation: Translates written text between languages.
○ Speech Translation: Converts spoken words into text and translates them.
○ Document Translation: Translates entire documents.
● Examples: Google Translate, DeepL, Microsoft Translator.
6. Database Applications
● Definition: Database applications are designed to create, manage, and interact with
databases.
● Functions:
○ Data Storage: Stores data in an organized manner.
○ Data Retrieval: Allows users to query and retrieve data efficiently.
○ Data Management: Provides tools for data entry, updating, and management.
○ Reporting and Analysis: Generates reports and analyzes data to support
decision-making.
● Examples: MySQL, Oracle Database, Microsoft SQL Server, MongoDB.
7. Mobile Applications
● Definition: Mobile applications (apps) are software designed to run on mobile devices
such as smartphones and tablets.
● Functions:
○ User Interaction: Provides functionalities through a user-friendly interface.
○ Connectivity: Often integrates with internet services for data synchronization and
real-time updates.
○ Notification: Uses push notifications to engage users and keep them informed.
● Examples: WhatsApp, Instagram, Spotify, Google Maps.
8. Programming Languages
● Definition: Programming languages are used to create software applications and control
hardware.
● Types:
○ High-Level Languages: More abstract and easier for humans to read and write.
Examples include Python, Java, C++, JavaScript.
○ Low-Level Languages: Closer to machine code and provide more control over
hardware. Examples include Assembly, machine code.
○ Markup Languages: Used for defining the structure and presentation of content.
Examples include HTML, XML.
○ Scripting Languages: Used for automating tasks and adding functionality to
applications. Examples include PHP, Ruby, Python.
1. I/O Devices
● Definition: Input/Output (I/O) devices are hardware components used to input data into
and output data from a computer.
● Examples:
○ Input Devices: Keyboard, mouse, scanner.
○ Output Devices: Monitor, printer, speakers.
3. Memory
● Definition: Disk and storage management involves the process of managing data storage
on hard drives, SSDs, and other external storage devices.
● Functions:
○ Disk Partitioning: Dividing a disk into separate sections to manage data
efficiently and improve performance.
○ File Systems: Organizing and managing files on storage devices. Common file
systems include NTFS (Windows), HFS+ (Mac), and ext4 (Linux).
○ Storage Allocation: Assigning storage space to various applications and files to
optimize performance and utilization.
○ Disk Cleanup: Removing unnecessary files and data to free up storage space and
improve system performance.
○ Backup and Recovery: Creating copies of data to protect against loss or damage
and providing tools to recover lost data.
● Tools: Disk Management in Windows, Disk Utility in macOS, GParted in Linux.