HARDWARE
FUNDAMENTALS
Lesson 4: Utility and general purpose software
The “software” Word appeared in 1957 as a way to take advantage
of the hardware present in computers
Nowadays, with cloud computing and virtualization, this word is
even more important, because everything is used in an abstract way
Operative System (OS) is a software that allows that other programs
work with the hardware existent. Is like a middle layer between those
two parts
OS Types
Desktop OS, like Windows, Linux or MacOS
Mobile OS, like iOS or Android
1. OPERATIVE ENVIRONMENTS
It’s a software specially created for a specific hardware
Firmware should not be confused with an OS, because the other
is more complex and can be installed in more than one type of
device (it isn’t hardware-dependent)
A firmware can be updated, and it’s present in devices like
smartphones, tablets, home appliances, etc…
2. FIRMWARE
An application is a type of software made to solve an specific
task.
Types
Web applications: Stored in a server and executed in a web
browser. The code can be ran in client or server side.
Mobile applications: Are executed in a mobile OS directly (native
apps) or using a Webview app that renders all the content
displayed.
Widgets: Little apps that support extra functionality
Add-ons or plugins: Like widgets, can be installed over other
software and add extra features.
3. APPLICATIONS
It’s a contract between developer and user and define all rules
about the use and abuse
Proprietary license: The software can’t be shared, copied or
modified without permission
Public domain: The software and its source code is released for
everyone
Open source: Some actions are allowed, depends on the type of
license
4. LICENSES
ACTIVITY: KNOWING CREATIVE
COMMONS
System software: It is what allows us to work with the hardware
and with other programs.
Operative systems
Drivers
Diagnostic and repair software
Programming software: The applications with which a
programmer can create other applications or games
Application software: Any other type of program (game, word
processor, Internet browser, etc...)
4. SOFTWARE TYPES
Direct copy: The user just copy all files in hard drive, no installation
needed
Using an installator sofware: Traditionally used on Windows OS. A
program uncompress and move all files into hard drive, and do
some actions on OS main registry
Using a package manager: Traditionally used on Linux OS. There
is a program that installs/uninstalls specific software just giving its
name
Using a "market": Used on mobile phone OS. The user can browse
the repository and installs the needed software
5. SOFTWARE INSTALLATION
ACTIVITY: LOOKING FOR APPS
The purpose of a file compressor is reduce the size of a file
This can be performed in both directions (compress, uncompress)
Those programs use two different algorithms:
Lossless compression: When the file is uncompressed again, all
original information must be recovered
ZIP, RAR, ARC, 7ZIP
Lossy compression: Some redundant information can be lost without
affecting the main information
JPG, MP3, AVI
6. FILES COMPRESSION
Example of lossless compression
We want to compress following text file (27 characters)
aaaaeebbiommmmmpppvvvvvvvvv
The first thing you notice is that there are repeated letters that are
joined
aaaaeebbiommmmmpppvvvvvvvvv
Using reserved symbols, we can code all the letters repeated
4aeebbio5m3p9v
Now, we have 14 characters (49% compressed)
6. FILES COMPRESSION
Example of lossy compression:
From pixel (45,70) to pixel (145,170) this color
From pixel (275,290) to pixel (300,325) this color
From pixel (45,70) to pixel (145,170) this color
6. FILES COMPRESSION
ACTIVITY: THE BEST COMPRESSOR
Used to fix logical problems on computer
Boot repair software: A program that helps the user when a OS
can't be started
File
recovery software: A program that recovers files that have
been deleted or damaged
Antivirus software: Programs that protect the computer from the
entry of viruses
7. REPAIR SOFTWARE
Virus: Their goals are to damage equipment and replicate to
other locations
Trojan: Infiltrates the victim's computer and allows an external
attacker to control it
Botnet: Set of computers that are centrally controlled and that
coordinate to carry out massive attacks
Keylogger: Device or software that records each and every
keystroke of the victim, and then sends a report to the attacker
Spyware: Monitors the activity of the victim to extract sensitive
information or for advertising purposes
8. MALWARE (I)
Adware: Invasively displays advertisements or installs applications
without the victim's knowledge
Ransomware: Hijacks the victim's computer (usually by locking or
encrypting their HD) and then asks for money in exchange for
disappearing
Exploit: It is a program that takes advantage of a weakness in the
OS to execute the attack
Hoax: Tries to scare or trick the user into taking specific actions
Scrumware: Programs that are installed without the user's consent
(usually to display advertising) but are then very difficult to
uninstall
8. MALWARE (II)
Spam: They are email messages that are persistently sent and fill
the victim's inbox
Honeypot: It is a computer security tool that acts as a decoy to
direct external attacks to a safe place, which helps protect other
parts of the network and also serves to generate useful
information
8. MALWARE (III)
Returns information about how long your system has
uptime
been running
top Shows the Linux processes
ps Lists the currently running processes and their PID
Informs about the total, occupied and free space in
df [options] [path]
our system
du [options] [path] Expresses the disk usage of a set of files
Gives information about used and unused memory
free [options]
and swap memory
9. LINUX SYSTEM MONITORING USING
COMMANDS