Introduction To Computer Note PDF
Document Details
Uploaded by ExpansiveJudgment3780
De Potter College of Health Technology
Tags
Summary
This document provides an introduction to computers, exploring their functions, characteristics, and different types. It covers topics like processing, storage, communication, and the evolution of computer generations. It also touches on computer security threats and the benefits of computers within society.
Full Transcript
**INTRODUCTION TO COMPUTER** **What is computer?** A computer is an electronic device/ Machine for calculating, Analysis and presenting of data that solves problem by applying prescribed instruction on data presented on it. A computer is an electronic device that can store, process, and communica...
**INTRODUCTION TO COMPUTER** **What is computer?** A computer is an electronic device/ Machine for calculating, Analysis and presenting of data that solves problem by applying prescribed instruction on data presented on it. A computer is an electronic device that can store, process, and communicate information. It\'s made up of hardware (physical components) and software (programs and operating systems). Computers can perform a wide range of tasks, such as: - Processing data and calculations \- Storing and retrieving information \- Communicating with other devices \- Running applications and programs \- Accessing the internet Computers come in various forms, including: \- Desktops \- Laptops \- Tablets \- Smartphones \- Servers \- Supercomputers Computer has numerous function and are unlimited indeed To the present generation computer has different group/s or people, the use to which it is been used also differ and determine the output attach to it. It is common for different groups or people to see it differently because of the differences in usage of the computer. Scientifically and military application were first area to which the computer was put to use to aids problems solving most especially calculating during wars. 1. It helps to save data 2. It is used in calculating 3. It is used in analyzing 4. It is used in storing data and information 5. File management usage 6. It is used for output and retrieving data 7. It is used for controlling devices The primary functions of a computer are: 1\. Input: Receiving data or instructions from users or other devices. 2\. Processing: Performing calculations, operations, and data manipulation using the central processing unit (CPU). 3\. Storage: Holding data, programs, and results in memory (RAM) or storage devices (hard drives, solid-state drives). 4\. Output: Presenting results to users through displays, printers, speakers, or other output devices. 5\. Communication: Exchanging data with other devices or networks through internet connectivity, Wi-Fi, Bluetooth, etc. Additionally, computers can: \- Run applications and programs \- Manage and organize data \- Provide entertainment (games, multimedia) \- Facilitate communication (email, video conferencing) \- Support learning and education \- Enable remote work and collaboration The use of computer machine are increasing at a very fast rate with the passing of time, the increase in demand is due to the following important and characteristics which are the major advantages of computer. 1. **Speed:** computer process information and data very fast and accurately and the speed of processing measure are in NANO speed seconds and PICO speed seconds 2. **Access**: computer are used mainly for information processing but more importantly access and restored processed information is of more important. They offer the advantage of fast and easy access to stored information and recovery of information 3. **Extra ordinary task:** computer have the ability to perform extra ordinary task and would otherwise not visible or accessible for unprofessional or better still cost effective using the conventional means 4. **Security :** computer are provided with inbuilt security codes that makes it impossible for outsider to manipulate the data or records in the computer files. The security also help to check unauthorized access by other insider except the user only. 5. **Storage space:** every piece of information that is stored within the computer memory is at same unique combination of 0 and 1 6. **Automation:** Computers can automate repetitive tasks. 7. **Communication**: Computers enable fast and easy communication. 8. **Versatility**: Computers can perform various tasks and run multiple programs. 9. **User-Friendliness**: Computers are designed to be user-friendly and accessible. 10. **Security:** Computers have built-in security features to protect data. 11. **Scalability:** Computers can be upgraded and expanded as needed. 12. **Cost-Effectiveness:** Computers reduce labor costs and increase productivity. 13. **Data Processing:** Computers can handle large amounts of data quickly. 1. **First generation of computer:** JP ECKER and John. W. Machy usher in the first generation of modern day computer with ENIAC( Electronic, Numerical, Integrator and computer)from 1940 -1945 but was first in used 1946. It works the first all purpose or electrical digital computer unlike earlier machines that uses Vaccum tube instead of relay as its active logical element. 2. **Second generation:** This came into existence between the late 1950 and earlier 1960 invention of the semi conduct device known as transistor radio, in electronic engineering led to the development of this generation of computer. 3. **Third generation:** During the late 1960 and 1970's are important technological innovation resulting in dramatically advancement in computer hardware, the breakthrough in the fabrication of integrated circuit (I.C) a solid state device consisting of hundred of transistor devices, resistor on a tiny silicon chips. 4. **Fourth generation :**This generation of computer were produced in 1980's were referred to as fourth generation and there is no much differ between them and the third generation but the main different and distinguished characteristics is the availability of the very large large scale integration (VLSI) as compared to (LSI) in third generation. 5. **Fifth generation:** These are the types of computer that were been used now and been used with little improvement. The architieture of this generation is a bit different from human model of the previous generations. Below are the classification of computer for the purpose of this course while different scholars has different ways for the classification purpose. 1. **Super computer** 2. **Mainframe computer** 3. **Personal/ Micro computer** 4. **Mini computer** 1. **Super Computer :** This could be categorized as the forth generation of computer because of the features its comparises, and there major attribute are not limited to the below stated. a. They have enough space b. They are fast and reliable c. They are portable 2. **Main frame computer :** they are mainly referred to as an easier computer and they have the following characteristics a. They are mostly large b. They are functional unit being physically separated c. They are general purpose processor d. They support a wide range of pheripheral equipment e. They are normally housed in air conditioned room 3. **Micro /Personal computer :** The technological advancement that led to the production of LSI made it possible to develop micro computer. And below are the attribute to the micro and personal computer a. They have keyboard for entry of data and instruction. b. A screen for display purpose c. Interface for connecting pheripherals such as disk drive, light pen, joy stick, mouse and many more d. It has fine basic component RAM, ROM, input, output and interface component. 4. **Mini computer :** This set of computer was used for aerospace application a. They are easier to install b. They have smaller memory size c. They are best suituated for dedicated purpose d. No complex management structure Computers can be classified in various ways based on their size, processing power, purpose, and usage. Here are some common classifications: For the purpose of this stage we shall limit ourselves to just three (3) basic types of computer for easy assimilation and basis of data handling capabilities Below are the three Basic types 1. Analogue computer 2. Digital computer 3. Hybrid computer 1. **Analogue computer :** The word ANALOGUE should mean a lot of thing to us as the name implies , it can be define as one that operate on the principle of similarities in proportional relation to a process model when values are kept constant over a specific range while similar to voltmeter in the way they measure values. These types of computer uses various types of amplifiers to perform arithmetics operation as summation and multiplication. 2. **Digital computer :** A digital computer are computer or device capable of solving problems by processes information or data in discrete form i.e number expressed directly the two digit 0 and 1 of the binary number. It also operate on data, including magnitudes, letters and symbols, that are expressed in binary number eg micro and mini computer 3. **Hybrid computer :** These is almost same as the digital computer while the different is the memory which is differential. They are also computers that exhibit features of Analog and Digital computer. The digital component normally servers as the controller and provides logical and numerical operations while analog component often serves as a solver of differential equation and other mathematically complex problems. Eg ultra sound machine, monitoring machine, gasoline machine, forensic and research and production industries 1\. Desktop Computer: A stationary computer designed for personal or professional use. 2\. Laptop Computer: A portable, compact computer for mobile use. 3\. Tablet Computer: A touch-screen, portable device for internet browsing, entertainment, and basic tasks. 4\. Server Computer: A powerful computer managing network resources, data storage, and applications. 5\. Workstation Computer: A high-performance computer for demanding tasks like video editing, 3D modeling, and scientific simulations. 6\. Mainframe Computer: A large, centralized computer for massive data processing, often used by organizations. 7\. Supercomputer: An extremely powerful computer for complex simulations, weather forecasting, and scientific research. 8\. Embedded Computer: A specialized computer integrated into devices like traffic lights, appliances, or vehicles. 9\. Gaming Computer: A high-performance computer optimized for gaming, with advanced graphics and processing capabilities. 10\. All-in-One (AIO) Computer: A desktop computer with the monitor and CPU integrated into a single unit. 11\. Netbook Computer: A small, lightweight laptop for basic tasks like browsing and email. 12\. Smartphone: A mobile phone with advanced computing capabilities, internet access, and app support. We have five (5) elements of computer for the purpose of this course and below are the element stated: a. Hardware b. Software c. Procedure/memory d. People e. Data and connectivity 1. **Hard ware :** this represent the physical structure and tangible component of the computer i.e the component that can been seen and touched. a. Input device : keyboard, mouse, joystick, microphone, lightpen etc. b. Output device: printer, monitor, visual display unit (VDU),speakers etc. c. Permanent storage device : hard disk, CD, DVD and many more. d. Internal component: CPU, motherboard and RAM **2. Software :** This is a collection of programmes while program are the instruction that tells the computer how to process data into the form you want. In most cases, the word software and programme are normally used interchangeable, there are two major types or kind of software. a. **System software:** The system software are kind the computer program that is designed to run a computer's hardware and application programme, the system software is the interface between the hardware and user applications. The operating system is the best-known example of system software. e.g operating system, device drivers, middleware and utility software b. **Application software :** This is the type of computer program that performs specific function. These functions performed by application software can be personal, business as well as education. Thus, application software is also known as end user software or productivity software. e.g web browsers, presentation software, word processors, database software, multimedia software, educational software 4. **Procedure:** This is a step by step series of instruction to perform a specific function and achieve desired goal and output. I. Hardware oriented procedure ii\. Soft ware oriented procedure iii\. internal procedure 5. **Data/connectivity :** The fact and figures that are fed into computer for further processing are called data. Data is raw until the computer system interprets it using machine language, stores it in the memory, classifies it for processing and produces results in conformance with the instruction given to it. Processed and useful data is called information which is used for decision making. While connectivity is when two or more computers are connected to each other, they can share information and resources such as sharing of files (data, music etc) sharing of printer, facilities like internet etc while the use of cable, wires, Bluetooth and other method are been used. The basic elements of a computer are: 1\. Hardware: Physical components that make up the computer system. \- Input Devices (keyboard, mouse, scanner) \- Central Processing Unit (CPU) \- Memory (RAM, ROM) \- Storage Devices (hard drive, solid-state drive) \- Output Devices (monitor, printer, speakers) 2\. Software: Programs and operating systems that run on the computer. \- Operating System (Windows, macOS, Linux) \- Application Software (Microsoft Office, Google Chrome) \- Utility Software (antivirus, disk formatting tools) 3\. Firmware: Permanent software stored in read-only memory (ROM). \- Basic Input/Output System (BIOS) \- Unified Extensible Firmware Interface (UEFI) 4\. Data: Information processed, stored, and transmitted by the computer. \- Text, images, audio, video, and other digital content 5\. Connectivity: Components that enable communication between devices and networks. \- Network Interface Card (NIC) \- Wi-Fi adapter \- Bluetooth adapter \- Cables (USB, HDMI, Ethernet) **OPERATING SYSTEM** The low-level software that supports a computer\'s basic functions, such as scheduling tasks and controlling peripherals. An operating system (OS) is **the program that, after being initially loaded into the computer by a boot program, manages all of the other application programs in a computer**. The application programs make use of the operating system by making requests for services through a defined application program interface (API). Operating systems contain and manage all the programs and applications that a computer or mobile device is able to run, which means managing the device's software and hardware functions. The [[functions of an OS]](https://en.wikipedia.org/wiki/Operating_system) include: - Booting: Booting is the process of turning on the computer and powering up the system. - Memory management: This feature controls and coordinates the computer applications while allocating space for programs. - Loading and execution: Your OS will load, or start up, a program and then execute the program so that it opens and runs. - Data security: A good OS includes features that keep your data safe and computer programs secure. Security features are set up to keep unwanted cyberattackers at bay. - Disk management: This manages all the drives installed in a computer, including hard drives, optical disk drives, and flash drives. Disk management can also be used to divide disks, format drives, and more. - Process management: Your OS is designed to allocate resources to different computer processes, enable the processes to share information, protect them, and synchronize them. - Device controlling: Your OS will allow you to open or block access to devices like removable devices, CD/DVDs, data transfer devices, USBs, and more. - Printing controlling: As an extension of device controlling, your OS takes control of the printers that are connected to the computer, and the materials that need to be printed. - User interface: Also referred to as a UI, this is the part of the OS that allows a user to enter and receive information. This can be done with typed commands, code, and other formats. A broad view of a computer operating system (OS) encompasses its key components, functions, and types. Here\'s an overview: Key Components: 1\. Kernel: Manages hardware resources and provides services to applications. 2\. Device Drivers: Interact with hardware devices. 3\. System Libraries: Provide programming interfaces for applications. 4\. System Utilities: Perform tasks like file management and disk formatting. 5\. User Interface: Enables user interaction (e.g., command-line, graphical). Functions: 1\. Process Management: Creates, runs, and manages processes (programs). 2\. Memory Management: Allocates and deallocates memory for programs. 3\. File System Management: Provides access to files and directories. 4\. Input/Output (I/O) Management: Handles data transfer between devices. 5\. Security: Controls access to system resources. 6\. Networking: Manages communication between computers. 7\. Interrupt Handling: Responds to hardware interrupts. Types of Operating Systems: 1\. Single-User, Single-Tasking: One user, one program at a time (e.g., MS-DOS). 2\. Single-User, Multi-Tasking: One user, multiple programs simultaneously (e.g., Windows, macOS). 3\. Multi-User: Multiple users, multiple programs (e.g., Unix, Linux). 4\. Real-Time: Prioritizes tasks based on deadlines (e.g., embedded systems). 5\. Mobile: Designed for mobile devices (e.g., Android, iOS). 6\. Server: Optimized for serving resources over a network (e.g., Windows Server, Linux). This broad view covers the fundamental aspects of computer operating systems, providing a foundation for understanding their complexities and variations. **The Five Most Popular Operating Systems** There are five main types of operating systems. These five OS types are likely what run your phone, computer, or other mobile devices like a tablet. Whether you're just a normal computer and phone user or someone hoping to get involved in [[an IT career]](https://www.wgu.edu/online-it-degrees/cloud-computing-bachelors-program.html), knowledge of applications and systems types will help you maintain security and user access, perform routine operations, and much more. **Microsoft Windows.** The Windows OS has been around since the 1980s and has had several versions and updates (including Windows 95, Windows Vista, Windows 7/8/10, etc.) [[Microsoft Windows]](https://www.microsoft.com/en-us/windows) is one of the popular operating system types and is preloaded on most new PC hardware. With each new Windows update or release, Microsoft continues to work on improving their users' experience, hardware, and software, making Windows more accessible and easier to use. Microsoft Windows contains a control panel, a desktop and desktop assistant, disk cleanup, event viewer, and more. Many users prefer Microsoft Windows because they say it's compatible with many other kinds of software. Many kinds of computer programs run best on Microsoft Windows because they're developed by Microsoft. **Apple macOS.** Head-to-head in the competition with Microsoft Windows is Apple's macOS. macOS and Windows are both examples of proprietary operating systems, meaning that the company conceptualized, designed, developed, and now sells their own OS. They're designed and sold by the companies and aren't meant to be tampered with or tweaked by users. Apple and Macintosh computers run on the proprietary macOS and OS X system, the first of which launched 20 years ago. There are also previous versions or updates which include: Kodiak (OS X 10 Beta) Lion (OS X 10.7) **Google\'s Android OS.** The OS that companies including Google use to run its [[Android]](https://www.android.com/) mobile smartphones and tablets is based on Linux distribution and other open source software. Android OS is the primary OS for Google mobile devices like smartphones and tablets. Android has gained increasing popularity since its release as an alternative to Apple's iOS for smartphone users and is continuing to increase in popularity with new updates and exciting features. **Apple iOS.** [[Apple\'s iOS]](https://www.apple.com/ios/ios-14/) is another mobile operating system used exclusively for iPhones, some of the most popular mobile devices on the market. iOS integrations have regular updates, new expansions to software, and continually are offering new features for users even if they have older devices. Many users appreciate the unique user interface with touch gestures, and the ease of use that iOS offers. This operating system also allows other Apple devices to connect, giving users easy connections to other devices or people. **Linux Operating System.** [[Linux]](https://www.linux.com/what-is-linux/) is different from Windows and Apple in that it's not a proprietary software, but rather a family of open source systems. In other words, anyone can modify and distribute it. Linux may be the least known on this list, but it's free and available in many different open source versions. Linux is popular because of its ease of customization and offers a variety of options to those who understand how to use it. If you know how to customize and work with operating systems, Linux is an ideal choice. And if this kind of coding and back-end work is interesting to you, it may be a good idea to purchase a Linux system and get started on manipulating it. A storage unit is a part of the computer system which is employed to store the information and instructions to be processed. A storage device is an integral part of the computer hardware which stores information/data to process the result of any computational work. Without a storage device, a computer would not be able to run or even boot up. Or in other words, we can say that a storage device is hardware that is used for storing, porting, or extracting data files. It can also store information/data both temporarily and permanently. Computer storage is of two types: - - **Storage Devices** Now we will discuss different types of storage devices available in the market. These storage devices have their own specification and use. Some of the commonly used storage devices are: **1. Primary storage devices** **(i) RAM: **It stands for Random Access Memory. It is used to store information that is used immediately or we can say that it is a temporary memory. Computers bring the software installed on a hard disk to RAM to process it and to be used by the user. Once, the computer is turned off, the data is deleted. With the help of RAM, computers can perform multiple tasks like loading applications, browsing the web, editing a spreadsheet, experiencing the newest game, etc. It allows you to modify quickly among these tasks, remembering where you're in one task once you switch to a different task. It is also used to load and run applications, like your spreadsheet program, answer commands, like all edits you made within the spreadsheet, or toggle between multiple programs, like once you left the spreadsheet to see the email. Memory is nearly always being actively employed by your computer. It ranges from 1GB -- 32GB/64GB depending upon the specifications. There are different types of RAM, although they all serve the same purpose, the most common ones are : - - - **(ii) ROM: **It stands for Read-Only Memory. The data written or stored in these devices are non-volatile, i.e, once the data is stored in the memory cannot be modified or deleted. The memory from which will only read but cannot write it. This type of memory is non-volatile. The information is stored permanently during manufacture only once. ROM stores instructions that are used to start a computer. This operation is referred to as bootstrap. It is also used in other electronic items like washers and microwaves. ROM chips can only store few megabytes (MB) of data, which ranges between 4 and 8 MB per ROM chip. There are two types of ROM: - - **2. Magnetic Storage Devices** **(i) Floppy Disk: **It is also known as a floppy diskette. It is generally used on a personal computer to store data externally. A Floppy disk is made up of a plastic cartridge and secures with a protective case. Nowadays floppy disk is replaced by new and effective storage devices like USB, etc. **(ii) Hard Disk:** It is a storage device (HDD) that stores and retrieves data using magnetic storage. It is a non-volatile storage device that can be modified or deleted n number of times without any problem. Most of the computers and laptops have HDDs as their secondary storage device. It is actually a set of stacked disks, just like phonograph records. In every hard disk, the data is recorded electromagnetically in the concentric circles or we can say track present on the hard disk, and with the help of a head just like a phonograph arm(but fixed in a position) to read the information present on the track. The read-write speed of HDDs is not so fast but decent. It ranges from a few GBs to a few and more TB. **(iii) Magnetic Card: **It is a card in which data is stored by modifying or rearranging the magnetism of tiny iron-based magnetic particles present on the band of the card. It is also known as a swipe card. It is used like a passcode(to enter into house or hotel room), credit card, identity card, etc. **(iv) Tape Cassette: **It is also known as a music cassette. It is a rectangular flat container in which the data is stored in an analog magnetic tape. It is generally used to store audio recordings. **(v) SuperDisk:** It is also called LS-240 and LS-120. It is introduced by Imation corporation and it is popular with OEM computers. It can store data up to 240 MB. **3. Flash memory Devices** It is a cheaper and portable storage device. It is the most commonly used device to store data because is more reliable and efficient as compare to other storage devices. Some of the commonly used flash memory devices are: **(i) Pen Drive:** It is also known as a USB flash drive that includes flash memory with an integrated USB interface. We can directly connect these devices to our computers and laptops and read/write data into them in a much faster and efficient way. These devices are very portable. It ranges from 1GB to 256GB generally. **(ii) SSD: **It stands for Solid State Drive, a mass storage device like HDDs. It is more durable because it does not contain optical disks inside like hard disks. It needs less power as compared to hard disks, is lightweight, and has 10x faster read and write speed as compared to hard disks. But, these are costly as well. While SSDs serve an equivalent function as hard drives, their internal components are much different. Unlike hard drives, SSDs don't have any moving parts and thus they're called solid-state drives. Instead of storing data on magnetic platters, SSDs store data using non-volatile storage. Since SSDs haven't any moving parts, they do not need to "spin up". It ranges from 150GB to a few and more TB. **(iii) SD Card: **It is known as a Secure Digital Card. It is generally used with electronic devices like phones, digital cameras, etc. to store larger data. It is portable and the size of the SD card is also small so that it can easily fit into electronic devices. It is available in different sizes like 2GB, 4GB, 8GB, etc. **(iv) Memory Card: **It is generally used in digital cameras. printers, game consoles, etc. It is also used to store large amounts of data and is available in different sizes. To run a memory card on a computer you require a separate memory card reader. **(v) Multimedia Card:** It is also known as MMC. It is an integrated circuit that is generally used in-car radios, digital cameras, etc. It is an external device to store data/information. **4. Optical Storage Devices** Optical Storage Devices is also a secondary storage device. It is a removable storage device. Following are some optical storage devices: **(i) CD: **It is known as** **Compact Disc. It contains tracks and sectors on its surface to store data. It is made up of polycarbonate plastic and is circular in shape. CD can store data up to 700MB. It is of two types: - - **(ii) DVD:** It is known as Digital Versatile Disc. DVDs are circular flat optical discs used to store data. It comes in two different sizes one is 4.7GB single-layer discs and another one is 8.5GB double-layer discs. DVDs look like CDs but the storage capacity of DVDs is more than as compared to CDs. It is of two types: - - **(iii) Blu-ray Disc: **It is just like CD and DVD but the storage capacity of blu ray is up to 25GB. To run a Blu-ray disc you need a separate Blu-ray reader. This Blu-ray technology is used to read a disc from a blue-violet laser due to which the information is stored in greater density with a longer wavelength. **5. Cloud and Virtual Storage** Nowadays, secondary memory has been upgraded to virtual or cloud storage devices. We can store our files and other stuff in the cloud and the data is stored for as long as we pay for the cloud storage. There are many companies that provide cloud services largely Google, Amazon, Microsoft, etc. We can pay the rent for the amount of space we need and we get multiple benefits out of it. Though it is actually being stored in a physical device located in the data centers of the service provider, the user doesn't interact with the physical device and its maintenance. For example, Amazon Web Services offers AWS S3 as a type of storage where users can store data virtually instead of being stored in physical hard drive devices. These sorts of innovations represent the frontier of where storage media goes. Computer storage refers to the components and technologies used to store digital data and programs within a computer system. It is a critical component of a computer, allowing it to: 1\. Retain data: Store information even when the power is off. 2\. Access data: Retrieve stored information quickly and efficiently. 3\. Run programs: Store and execute software instructions. Types of Computer Storage: 1\. Primary Storage (Main Memory): \- RAM (Random Access Memory): Temporarily stores data and programs. \- Cache Memory: Small, fast memory for frequently accessed data. 2\. Secondary Storage: \- Hard Disk Drive (HDD): Magnetic storage for large amounts of data. \- Solid-State Drive (SSD): Flash memory for faster access times. \- Optical Drives (CD, DVD, Blu-ray): Storage for reading and writing data. 3\. Tertiary Storage: \- External Hard Drives: Portable storage for large files. \- Cloud Storage: Online storage accessed via the internet. Characteristics of Computer Storage: 1\. Capacity: Amount of data that can be stored. 2\. Speed: Time taken to access and transfer data. 3\. Volatility: Whether data is retained when power is off. 4\. Portability: Ability to move storage devices between systems. Computer security refers to the measures taken to protect computer systems, networks, and data from unauthorized access, use, disclosure, disruption, modification, or destruction. This includes: 1\. Confidentiality: Protecting sensitive information from unauthorized access. 2\. Integrity: Ensuring data accuracy and completeness. 3\. Availability: Ensuring authorized access to resources when needed. [Computer security threats](https://www.webroot.com/us/en/cybersecurity-threat-center) are relentlessly inventive. Masters of disguise and manipulation, these threats constantly evolve to find new ways to annoy, steal and harm. Arm yourself with information and resources to safeguard against complex and growing computer security threats and stay safe online. ### [Computer Viruses](https://www.webroot.com/us/en/resources/tips-articles/computer-security-threats-computer-viruses) Perhaps the most well-known computer security threat, a computer virus is a program written to alter the way a computer operates, without the permission or knowledge of the user. A virus replicates and executes itself, usually doing damage to your computer in the process. Carefully evaluating free software, downloads from peer-to-peer file sharing sites, and emails from unknown senders are crucial to avoiding viruses. Most web browsers today have security settings which can be ramped up for optimum defense against online threats. But, as we\'ll say again and again in this post, the single most-effective way of fending off viruses is [up-to-date antivirus software](https://www.webroot.com/us/en/home/products/av) from a reputable provider. Learn more about how to combat [computer virus threats](https://www.webroot.com/us/en/resources/tips-articles/computer-security-threats-computer-viruses) and stay safe online. ### [Spyware Threats](https://www.webroot.com/us/en/resources/tips-articles/what-is-spyware-and-how-to-detect-it) A serious computer security threat, spyware is any program that monitors your online activities or installs programs without your consent for profit or to capture personal information. We've amassed a wealth of knowledge that will help you combat spyware threats and stay safe online. While many users won\'t want to hear it, reading terms and conditions is a good way to build an understanding of how your activity is tracked online. And of course, if a company you don\'t recognize is advertising for a deal that seems too good to be true, be sure you have an [internet security solution](https://www.webroot.com/us/en/home/products/isp) in place and click with caution. We've amassed a wealth of knowledge that will help you [combat spyware threats](https://www.webroot.com/us/en/resources/tips-articles/what-is-spyware-and-how-to-detect-it)- learn more about the dangers of spyware and stay safer online ### [Hackers and Predators](https://www.webroot.com/us/en/resources/tips-articles/computer-security-threats-hackers) People, not computers, create computer security threats and malware. Hackers and predators are programmers who victimize others for their own gain by breaking into computer systems to steal, change, or destroy information as a form of cyber-terrorism. These online predators can compromise credit card information, lock you out of your data, and steal your identity. As you may have guessed, [online security tools with identity theft protection](https://www.webroot.com/us/en/home/products/isp) are one of the most effective ways to protect yourself from this brand of cybercriminal. What scams are hackers using lately? Learn more about the [dangers of hacking](https://www.webroot.com/us/en/resources/tips-articles/computer-security-threats-hackers) how to combat protect yourself against dangerous malware attacks online. ### [Phishing](https://www.webroot.com/us/en/resources/tips-articles/computer-security-threats-phishing) Masquerading as a trustworthy person or business, phishers attempt to steal sensitive financial or personal information through fraudulent email or instant messages. Phishing attacks are some of the most successful methods for cybercriminals looking to pull off a data breach. [Antivirus solutions with identity theft protection](https://www.webroot.com/us/en/home/products/av) can be \"taught\" to recognize phishing threats in fractions of a second. COMPUTER THREATS ---------------- 4.1 Spoofing Spoofing is when someone hides their identity to evade detection for their wrong acts and pretends to be someone else in an attempt to gain trust and get sensitive system information. The common spoofing done by changing the hardware or MAC address is called MAC cloning, changing the IP address or the unique identity on the network is called IP spoofing, and impersonating as someone else in their digital communication is called email spoofing. 4.2 Information-gathering attacks Information gathering is the practice of attacker gaining priceless details about probable targets. This is not an attack but only a pre-phase of an attack and is totally passive as there is no explicit attack. Systems including computers, servers, and network infrastructure, including communication links and inter networking devices, are sniffed, scanned, and probed for information like whether the target system is up and running, what all ports are open, details regarding the operating system and its version, etc. Some of the information-gathering attacks are sniffing, mapping, vulnerability scanning, phishing, etc. ### 4.3 Password attacks The simplest way to achieve control of a system, or any user account, is through a password attack. If the personal and behavioral details of the victim are known, the attacker starts with guessing password. Frequently, the attacker uses some form of social engineering to trace and find the password. Dictionary attack is the next step in password attacks and is automated. ### 4.4 Malware After gaining access to a system, the attacker takes the support of malware or malicious software that clandestinely acts against the interests of the computer user. ### 4.5 Virus Computer viruses are the most communal threat to the computer users. Computer viruses are malicious software designed to blow out from one computer to another through file transfer, piggybacks on genuine programs and OS, or e-mails. The email attachments or downloads from particular websites contaminate the computer and also other computers on its list of contacts by using the communication network. Viruses influence the system security by changing the settings, accessing confidential data, displaying unwanted advertisements, sending spam to contacts, and taking control of the web browser \[(https://www.intechopen.com/chapters/72730#B2)\]. The viruses are identified as executable viruses, boot sector viruses, or e-mail viruses. ### 4.6 Worms Computer worms are fragments of malicious software that reproduce swiftly and blow out from one computer to another through its contacts, again spreading to the contacts of these other computers and so on and reaching out to a large number of systems in no time. Captivatingly, worms are prepared for spreading by exploiting software vulnerabilities. Worms display unwanted advertisements. It uses up tremendous CPU time and network bandwidth in this process thereby denying access to the systems or network of the victim, creating chaos and trust issues on a communication network. ### 4.7 Trojans Trojans are programs that appear as perfectly genuine but, in reality, have a malicious part embedded in it. Trojans are spread usually through email attachment from the trustworthy contacts and also on clicking on fake advertisements. The payload of Trojans is an executable file that will install a server program on the victim's system by opening a port and always listening to that port whereas the server is run on the attacker's system. Hence, whenever the attacker wants to login to the victim machine, they can do so by means of the backdoor entry making it hidden from the user. ### 4.8 Spyware and adware Spyware and adware are software with a common property of collecting personal information of users without their knowledge. Adware is intended to track data of the user's surfing behaviors, and, based on that, pop-ups and advertisements are displayed. The adware clause in the agreement during the installation process is often skipped with least seriousness. Spyware on the other hand gets installed on a computer and gathers information about the user's online activities without their knowledge. Spyware contains keyloggers that record everything typed on the keyboard, making it unsafe due to the high threat of identity mugging. ### 4.9 Scareware Scareware is yet another malware that tricks victims by displaying fake alerts and forcing the victim to buy protective software that is fraudulent. The alerts or the pop-up messages sound like warning messages along with proper protective measures, which if followed creates security issues. ### 4.10 Rootkit Rootkit is a pool of software tools that gets mounted in stealth along with some genuine software. Rootkit allows remote access and administrative control on a system. With these privileges, the rootkit performs malicious activities like disabling of antivirus, password sniffing, keylogging, etc. Computer Security Measures: 1\. Firewalls: Network traffic control and filtering. 2\. Encryption: Protecting data with algorithms and keys. 3\. Authentication: Verifying user identities. 4\. Access Control: Limiting access to resources based on user roles. 5\. Antivirus Software: Detecting and removing malware. 6\. Regular Updates and Patches: Fixing vulnerabilities and bugs. 7\. Backup and Recovery: Ensuring data availability in case of loss or corruption. 8\. Security Awareness Training: Educating users about security best practices. What Are the Benefits of Computers in Society? ============================================== Here are the benefits of computers in society: 1\. Improved Communication: Computers enable rapid communication through email, social media, and video conferencing. 2\. Access to Information: The internet provides vast amounts of information, knowledge, and educational resources. 3\. Increased Productivity: Computers automate tasks, streamline processes, and enhance efficiency in various industries. 4\. Economic Growth: Computers contribute to economic development by creating new job opportunities, improving business operations, and enhancing trade. 5\. Healthcare Advancements: Computers aid in medical research, diagnosis, treatment, and patient care. 6\. Education and Learning: Computers provide interactive learning tools, online courses, and access to educational resources. 7\. Entertainment and Leisure: Computers offer various forms of entertainment, such as games, videos, and social media. 8\. Scientific Research: Computers facilitate complex calculations, simulations, and data analysis, driving scientific progress. 9\. Environmental Monitoring: Computers help track and analyze environmental data, enabling better conservation and sustainability efforts. 10\. Accessibility and Inclusion: Computers assist people with disabilities, enabling equal access to information and opportunities. 11\. Government Services: Computers improve public services, such as online portals for governance, taxation, and public records. 12\. Banking and Finance: Computers secure online transactions, enable mobile banking, and facilitate global trade. 13\. Transportation and Logistics: Computers optimize routes, manage supply chains, and enhance transportation efficiency. 14\. Security and Surveillance: Computers aid in crime prevention, investigation, and emergency response. 15\. Improved Quality of Life: Computers simplify tasks, save time, and enhance overall well-being. **THE SOCIAL IMPLICATION ON SOCIETY, IN PARTICULAR, PRIVACIES AND QUALITY OF LIFE** **Positive implications:** 1. Global connectivity: Computers have enabled global communication, collaboration, and access to information. ============================================================================================================== 2. Improved education: Computers have transformed the way we learn, with online resources, virtual classrooms, and personalized learning. ========================================================================================================================================= 3. Economic growth: Computers have increased productivity, efficiency, and innovation, driving economic growth and development. =============================================================================================================================== 4. Healthcare advancements: Computers have improved medical research, diagnosis, treatment, and patient care. ============================================================================================================= 5. Social inclusion: Computers have enabled people with disabilities to access information, communicate, and participate in society. ==================================================================================================================================== Negative implications: ====================== 1. Social isolation: Over-reliance on computers can lead to social isolation, decreased face-to-face interaction, and loneliness. ================================================================================================================================= 2. Job displacement: Automation and AI-powered computers may displace certain jobs, exacerbating unemployment and economic inequality. ====================================================================================================================================== 3. Cyberbullying and harassment: Computers have enabled online harassment, cyberbullying, and hate speech. ========================================================================================================== 4. Digital divide: Unequal access to computers and internet perpetuates existing social and economic inequalities. ================================================================================================================== 5. Dependence and addiction: Overuse of computers can lead to addiction, decreased attention span, and decreased physical activity. =================================================================================================================================== 6. Privacy concerns: Computers have raised concerns about data privacy, surveillance, and security. =================================================================================================== 7. Environmental impact: Computer production, disposal, and energy consumption contribute to environmental degradation. ======================================================================================================================= To maximize the benefits and minimize the negative implications, it\'s essential to: ==================================================================================== 1. Promote responsible computer use and digital literacy. ========================================================= 2. Implement policies addressing digital divide, privacy, and security. ======================================================================= 3. Encourage balanced computer use and physical activity. ========================================================= 4. Develop AI and automation that complements human skills and creates new job opportunities. ============================================================================================= 5. Foster online inclusivity, respect, and empathy. =================================================== Computer Languages ================== Over the years, computer languages have been evolved from Low-Level to High-Level Languages. In the earliest days of computers, only Binary Language was used to write programs. The computer languages are classified as follows: Machine Language (low level language) ------------------------------------- Low-Level language is the only language which can be understood by the computer. Low-level language is also known as **Machine Language**. The machine language contains only two symbols **1 & 0**. All the instructions of machine language are written in the form of binary numbers 1\'s & 0\'s. A computer can directly understand the machine language. Assembly Language (middle level language) ----------------------------------------- Middle-level language is a computer language in which the instructions are created using symbols such as letters, digits and special characters. **Assembly language** is an example of middle-level language. In assembly language, we use predefined words called mnemonics. Binary code instructions in low-level language are replaced with mnemonics and operands in middle-level language. But the computer cannot understand mnemonics, so we use a translator called **Assembler** to translate mnemonics into machine language. Assembler is a translator which takes assembly code as input and produces machine code as output. That means, the computer cannot understand middle-level language, so it needs to be translated into a low-level language to make it understandable by the computer. Assembler is used to translate middle-level language into low-level language. g++ -S main.cpp -o main.s High Level Language ------------------- High-level language is a computer language which can be understood by the users. The high-level language is very similar to human languages and has a set of grammar rules that are used to make instructions more easily. Every high-level language has a set of predefined words known as Keywords and a set of rules known as Syntax to create instructions. The high-level language is easier to understand for the users but the computer can not understand it. High-level language needs to be converted into the low-level language to make it understandable by the computer. We use **Compiler** or **interpreter** to convert high-level language to low-level language. Languages like FORTRAN,C, C++, JAVA, Python, etc., are examples of high-level languages. All these programming languages use human-understandable language like English to write program instructions. These instructions are converted to low-level language by the compiler or interperter so that it can be understood by the computer. g++ main.cpp. Computer languages are used to communicate with computers and create programs that can perform specific tasks. Here are some common types of computer languages: 1\. Programming languages: Used to write software, apps, and websites. Examples include: \- Python \- Java \- C++ \- JavaScript \- Ruby 2\. Markup languages: Used to create and format documents, web pages, and user interfaces. Examples include: \- HTML (Hypertext Markup Language) \- XML (Extensible Markup Language) \- CSS (Cascading Style Sheets) 3\. Scripting languages: Used to automate tasks, create scripts, and interact with systems. Examples include: \- Bash \- Perl \- PHP \- Ruby \- Python 4\. Database languages: Used to manage, query, and manipulate data in databases. Examples include: \- SQL (Structured Query Language) \- MySQL \- Oracle 5\. Functional programming languages: Used to write concise, expressive code that emphasizes functions and immutability. Examples include: \- Haskell \- Lisp \- Scheme 6\. Assembly languages: Low-level languages that use symbolic codes to represent machine-specific instructions. Examples include: \- x86 Assembly \- ARM Assembly 7\. Natural languages: Used for human-computer interaction, such as voice assistants and chatbots. Examples include: \- English \- Spanish \- French These categories are not exhaustive, and some languages blend features from multiple categories. Additionally, new languages are being developed to address emerging needs and technologies. **DIFFERENT BETWEEN SOURCE CODE AND OBJECT PROGRAMS** Source Code 1\. Written in a high-level programming language (e.g., C, Java, Python). 2\. Human-readable and understandable. 3\. Contains comments, variables, loops, and functions. 4\. Requires compilation or interpretation to run. 5\. Can be edited, modified, and debugged. Object Code 1\. Machine-specific, binary code generated from source code. 2\. Not human-readable (except in assembly language). 3\. Consists of 0s and 1s that the computer\'s processor understands. 4\. Ready to be executed directly by the computer\'s processor. 5\. Cannot be edited or modified directly (must be recompiled from source code). Key differences: \- Readability: Source code is human-readable, while object code is machine-readable. \- Purpose: Source code is for programming and development, while object code is for execution. \- Modifiability: Source code can be edited, while object code cannot. To illustrate the process: 1\. Write source code in a high-level language (e.g., C). 2\. Compile the source code into object code (machine-specific binary). 3\. Link object code with libraries and other modules to create an executable file. 4\. Run the executable file on the computer. In computer science, \"transport\" refers to the process of moving data or information from one location to another within a computer system or network. This can include: 1\. Data transfer: Moving data between devices, such as between a hard drive and RAM. 2. Network transport: Transmitting data over a network, such as sending an email or transferring a file over the internet. ========================================================================================================================== 3. Input/Output (I/O) operations: Moving data between peripherals (e.g., keyboard, mouse, display) and the computer\'s central processing unit (CPU). ===================================================================================================================================================== Transport can occur through various means, including: ===================================================== 1. Buses: Communication pathways within a computer, such as the system bus or peripheral bus. ============================================================================================= 2. Network protocols: Standards governing data transmission over networks, such as TCP/IP or HTTP. ================================================================================================== 3. Interfaces: Hardware or software components enabling communication between devices, like USB or SATA. ======================================================================================================== Effective transport ensures efficient and reliable data movement, enabling computers to perform tasks, communicate with other devices, and provide services. ============================================================================================================================================================ What are compilers, translators, interpreters, and assemblers? ============================================================== Translators, compilers, interpreters and assemblers are all software programming tools that convert code into another type of code, but each term has specific meaning. All of the above work in some way towards getting a high-level programming language translated into machine code that the central processing unit (CPU) can understand. Examples of CPUs include those made by Intel (e.g., x86), AMD (e.g., Athlon APU), NXP (e.g., PowerPC), and many others. It's important to note that all translators, compilers, interpreters and assemblers are programs themselves. https://www.microcontrollertips.com/wp-content/uploads/2017/02/Figure1a-300x268.jpg**Translators\ **The most general term for a software code converting tool is "translator." A translator, in software programming terms, is a generic term that could refer to a compiler, assembler, or interpreter; anything that converts higher level code into another high-level code (e.g., Basic, C++, Fortran, Java) or lower-level (i.e., a language that the processor can understand), such as assembly language or machine code. If you don't know what the tool actually does other than that it accomplishes some level of code conversion to a specific target language, then you can safely call it a translator. **Compilers\ **Compilers convert high-level language code to machine (object) code in one session. Compilers can take a while, because they have to translate high-level code to lower-level machine language all at once and then save the executable object code to memory. A compiler creates machine code that runs on a processor with a specific Instruction Set Architecture (ISA), which is processor-dependent. For example, you cannot compile code for an x86 and run it on a MIPS architecture without a special compiler. Compilers are also platform-dependent. That is, a compiler can convert C++, for example, to machine code that's targeted at a platform that is running the Linux OS. A cross-compiler, however, can generate code for a platform other than the one it runs on itself. A cross-compiler running on a Windows machine, for instance, could generate code that runs on a specific Windows operating system or a Linux (operating system) platform. Source-to-source compilers translate one program, or code, to another of a different language (e.g., from Java to C). Choosing a compiler then, means that first you need to know the ISA, operating system, and the programming language that you plan to use. Compilers often come as a package with other tools, and each processor manufacturer will have at least one compiler or a package of software development tools (that includes a compiler). Often the software tools (including compiler) are free; after all, a CPU is completely useless without software to run on it. Compilers will report errors after compiling has finished. **Interpreters\ **Another way to get code to run on your processor is to use an interpreter, which is not the same as a compiler. An interpreter translates code like a compiler but reads the code and immediately executes on that code, and therefore is initially faster than a compiler. Thus, interpreters are often used in software development tools as debugging tools, as they can execute a single in of code at a time. Compilers translate code all at once and the processor then executes upon the machine language that the compiler produced. If changes are made to the code after compilation, the changed code will need to be compiled and added to the compiled code (or perhaps the entire program will need to be re-compiled.) But an interpreter, although skipping the step of compilation of the entire program to start, is much slower to execute than the same program that's been completely compiled. Interpreters, however, have usefulness in areas where speed doesn't matter (e.g., debugging and training) and it is possible to take the entire interpreter and use it on another ISA, which makes it more portable than a compiler when working between hardware architectures. There are several types of interpreters: the syntax-directed interpreter (i.e., the Abstract Syntax Tree (AST) interpreter), bytecode interpreter, and threaded interpreter (not to be confused with concurrent processing threads), Just-in-Time (a kind of hybrid interpreter/compiler), and a few others. Instructions on how to build an interpreter can be found on the web.[\[i\]](https://www.microcontrollertips.com/compilers-translators-interpreters-assemblers-faq/#_edn1) Some examples of programming languages that use interpreters are Python, Ruby, Perl, and PHP. **Assemblers\ **An assembler translates a program written in assembly language into machine language and is effectively a compiler for the assembly language, but can also be used interactively like an interpreter. Assembly language is a low-level programming language. Low-level programming languages are less like human language in that they are more difficult to understand at a glance; you have to study assembly code carefully in order to follow the intent of execution and in most cases, assembly code has many more lines of code to represent the same functions being executed as a higher-level language. An assembler converts assembly language code into machine code (also known as object code), an even lower-level language that the processor can directly understand. Assembly language code is more often used with 8-bit processors and becomes increasingly unwieldy as the processor's instruction set path becomes wider (e.g., 16-bit, 32-bit, and 64-bit). It is not impossible for people to read machine code, the strings of ones and zeros that digital devices (including processors) use to communicate, but it's likely only read by people in cases of computer forensics or brute-force hacking. Assembly language is the next level up from machine code, and is quite useful in extreme cases of debugging code to determine exactly what's going on in a problematic execution, for instance. Sometimes compilers will "optimize" code in unforeseen ways that affect outcomes to the bafflement of the developer or programmer such that it's necessary to carefully follow the step-by-step action of the processor in assembly code, much like a hunter tracking prey or a detective following clues. These terms are related to programming languages and software development: 1\. Compiler: \- Translates high-level language code into machine-specific code (object code). \- Processes entire program at once (ahead-of-time compilation). \- Output is an executable file. \- Example: C++ compiler, Java compiler. 2\. Translator: \- A general term for software that converts code from one language to another. \- Can be a compiler, interpreter, or assembler. 3\. Interpreter: \- Executes high-level language code directly, line-by-line. \- No compilation step; code is interpreted at runtime. \- Output is the program\'s results. \- Example: Python interpreter, JavaScript interpreter. 4\. Assembler: \- Translates low-level assembly language code into machine-specific code (object code). \- Uses symbolic codes (mnemonics) for machine-specific instructions. \- Output is an executable file. \- Example: x86 assembler, ARM assembler. These tools enable programmers to write code in high-level languages, which are then converted into machine-specific code that computers can execute.