CCICOMP-Finals-Reviewer PDF
Document Details
Uploaded by BuoyantBarbizonSchool
Tags
Summary
This document is a reviewer for a course on introduction to computing, specifically focusing on computer hardware. It covers various components like the system unit, motherboard, CPU, memory, and storage devices. Detailed explanations of each component and their functions are provided, making it useful for students studying computer science or related fields.
Full Transcript
CCICOMP Introduction to Computing LESSON 1: COMPUTER HARDWARE PARTS A. The System Unit System Unit ❖ Also called the chassis ❖ Case that protects the motherboard, storage device, memory, and other hardware components Port Type Purpose/Des...
CCICOMP Introduction to Computing LESSON 1: COMPUTER HARDWARE PARTS A. The System Unit System Unit ❖ Also called the chassis ❖ Case that protects the motherboard, storage device, memory, and other hardware components Port Type Purpose/Description Examples Appearance USB - Multipurpose port (Universal Serial Bus) - Connects peripherals Storage/Disk - Connects internal and SATA, M.2 external storage devices Network/Communic - Enables internet access Ethernet, ations and data transfer Wi-Fi between devices Audio - Audio input/output 3.5mm jacks, - Connects headphones, optical ports microphones, and speakers Video - Transmits video signals HDMI, VGA, to display information DisplayPort visually Power - Supplies electricity to AC/DC Power devices Sockets/Jacks - Charges batteries Motherboard ❖ Also called the system board ❖ Main circuit board of a computer ❖ Electronic components are either built-in or attached to the motherboard e.g. CPU and RAM are usually attached Chipset ❖ Controls communication between the CPU, memory, storage, and peripherals Processor ❖ The “brain” of the computer ❖ Silicon chip, the size of a thumbnail ❖ Fits into the CPU socket Heatsink ❖ Attached above the CPU ❖ Absorbs the heat the CPU generates to prevent damage to the processor Fan ❖ Attached above the heatsink ❖ Cooling device ❖ Dissipates the heat the heatsink absorbs Random Access Memory (RAM) ❖ Main memory / Primary memory ❖ Temporarily stores data while the computer performs functions Disappears when the computer is shut down Power Supply ❖ AC adapter in laptops ❖ Converts electricity from the outlet (AC 120 volts or 220 volts) into power the computer can use (DC 5 volts or 15 volts) Peripheral Component Interconnect (PCI) ❖ Input/output pathway ❖ Connects CPU to peripherals via expansion slots Storage Device ❖ Secondary memory ❖ Long-term storage of data and files ❖ Hold data even when the computer is turned off E.g. HDD, SDD Expansion Slots ❖ Allows user to improve the performance and capabilities of the computer via expansion cards Bluetooth adapter - Allows computer to establish a Bluetooth connection MIDI - Connects musical instruments Modem - Connects transmission media Network - Allows computer to establish network connections Sound - Connects computer to speakers, microphones, and headsets Video - Allows connection to displays and the addition of a Graphics Processing Unit USB - High-speed USB port/s Serial Advanced Technology Attachment (SATA) ❖ Connects drive disk controllers in the computer to storage devices Complementary Metal Oxide Semiconductor (CMOS) ❖ CMOS battery ❖ Keeps all information intact when the computer shuts down ❖ Prevents the system from reconfiguring when the computer is off B. Central Processing Unit Processor ❖ Interprets and carries out basic instructions that operate a computer ❖ Functions may extend over many different chips or circuit boards (for bigger systems) Microprocessor ❖ A single chip that accomplishes the functions of the processor ❖ Usually on personal computing systems Processor Core ❖ The circuitry necessary to carry out operations ❖ Operating systems view each processor core as an individual processor ❖ CPUs with multiple cores are called multicore processors CPU Component Description Control Unit - Directs and coordinates most computer operations - Interprets each instruction and issues an action to carry it out Arithmetic Logic Unit (ALU) - Performs arithmetic (addition, subtraction, etc.) and logic (less than, greater than, etc.) operations Machine Cycle 1.) Fetching Obtaining program instructions or data from RAM 2.) Decoding Translating instructions into executable signals 3.) Executing Carrying out the command 4.) Storing Writing the results back to memory Registers ❖ Small, high-speed storage for the processor ❖ Temporarily holds data and instructions ❖ Several types with different purposes Stores location from where instruction was fetched Stores instruction while Control Unit decodes Stores data while ALU calculates Stores results of a calculation System Clock ❖ Small quartz crystal circuit ❖ Controls timing of all computer operations ❖ Generates regular electronic pulses (ticks) Sets the operating pace of components in the system unit Each tick is equal to one clock cycle ❖ Modern CPUs are superscalar Can execute multiple instructions per clock cycle Clock Speed ❖ Pace of the system clock ❖ Ticks per second ❖ Current processors reach speeds in gigahertz (billions of cycles per second) ❖ Faster clock speed = More instructions are executed C. Memory Memory ❖ Stores instructions waiting to be executed by the CPU ❖ Keeps data needed by executable instructions and data processing results ❖ Items stored in memory include: Operating System Applications Data being processed Memory Address ❖ Stores individual bytes of data for identification ❖ Often measured in gigabytes (GB) Memory Access Time ❖ Time it takes for the CPU to retrieve and read instructions from the memory Millisecond (ms) - 1,000th of a second Microsecond (µs) - 1,000,000th of a second Nanosecond (ns) - 1,000,000,000th of a second Picosecond (ps) - 1,000,000,000,000th of a second Random Access Memory (RAM) ❖ Also called main memory ❖ Consists of memory chips that can read/write from/to the processor ❖ Loses its contents when the computer turns off Static RAM (SRAM) ❖ Registers Small, high-speed storage locations Temporarily holds data in the CPU ❖ Cache High-speed storage Stores frequently used instructions More storage than registers L1 Cache - Built onto the processor, fastest but very small storage capacity L2 Cache - Slightly slower than L1 but has more capacity Advanced Transfer Cache (ATC) - Type of L2 Cache directly built onto the CPU L3 Cache - On the motherboard separate from the L2 Cache; only exists when L2 is an ATC When the CPU needs to extract instructions, it looks for it in the following order: (Note that the memory access time increases the further the CPU searches) L1 Cache → L2 Cache → L3 Cache (when applicable) → RAM → Storage Dynamic RAM (DRAM) ❖ Synchronous DRAM (SDRAM) Synchronized to the system clock Faster than DRAM ❖ Double Data Rate SDRAM (DDR SDRAM) Transfers data twice per clock cycle Faster than SDRAM ❖ DDR2 Second generation of DDR SDRAM Faster than DDR SDRAM ❖ DDR3 Third generation of DDR SDRAM Designed for multicore processors Faster than DDR2 ❖ DDR4 Fourth generation of DDR SDRAM Faster than DDR3 ❖ Rambus DRAM (RDRAM) Faster than SDRAM Parameter SRAM DRAM Full Form Static Random Dynamic Random Access Memory Access Memory Read/Write Speed Faster Slower Storage Component Transistors Capacitors Price Expensive Cheaper Power Consumption More Less Refresh No need Periodically Usage Registers and cache Main memory Memory Modules ❖ Where RAM chips reside ❖ Small circuit board ❖ Held by memory slots on the motherboard Single Inline Memory Module (SIMM) - Pins on opposite sides connect to form a single line of contacts Double Inline Memory Module (DIMM) - Pins on opposite sides do not connect, forming two lines of contacts Read Only Memory (ROM) ❖ Nonvolatile ❖ Contents are not lost when power is removed ❖ ROM chips = firmware Contains permanently written instructions or data Programmable ROM (PROM) ❖ One time programmable via external device Erasable PROM (EEPROM) ❖ Reusable ❖ Content can be erased via UV light ❖ Programmable via external device Electronically Erasable PROM (EPROM) ❖ Clears entire block with one operation ❖ Programmable in-place D. Storage Storage Device ❖ Records and retrieves items from storage media Storage Capacity ❖ Number of bytes a storage device can hold Storage Estimated Exact Term Bytes Bytes Kilobyte (KB) 1 thousand 1,024 Megabyte (MB) 1 million 1,048,576 Gigabyte (GB) 1 billion 1,073,741,824 Terabyte (TB) 1 trillion 1,099,511,627,776 Petabyte (PB) 1 quadrillion 1,125,899,906,842,624 Exabyte (EB) 1 quintillion 1,152,921,504,606,846,976 Zettabyte (ZB) 1 sextillion 1,180,591,620,717,411,303,424 Yottabyte (YB) 1 septillion 1,208,925,819,614,629,174,706,176 Storage Access Time ❖ Time it takes for a storage device to locate items on a storage medium Transfer Rate ❖ Speed with which data and instructions are transferred to/from a storage device ❖ Measured in KBps, MBps, GBps, etc. Types of Storage Devices Hard Disk Drive (HDD) ❖ Contains one or more circular platters ❖ Stores data and instructions using magnetic particles Solid-State Drive (SSD) ❖ Has its own processor to manage storage ❖ Advantages over HDD Higher storage capacity Faster access times and transfer rates Quieter operation More durable Lighter Less power consumption and heat generation Longer life ❖ Disadvantages over HDD Data recovery is more difficult/more expensive per GB More expensive overall Flash Memory Storage ❖ Nonvolatile ❖ Can be erased electronically and rewritten ❖ Type of solid-state media ❖ Consists entirely of electronic parts ❖ Contains no moving parts ❖ More durable and shock resistant ❖ Includes SSD USB Flash Drive ❖ Also called a thumb drive or pen drive ❖ Plugs into the USB port of a device Optical Disc ❖ A flat, round, portable disk ❖ Made of metal, plastic, and lacquer ❖ Written and read by a laser Memory Card ❖ Inserted into a slot in a computer, mobile device, or card reader/writer Enterprise Storage ❖ High-capacity storage solutions ❖ Designed for businesses ❖ Manages, stores, and protects large volumes of data ❖ Optimized for performance, scalability, and reliability ❖ Includes features such as data redundancy, backup and recovery options, and security measures Network Attached Storage ❖ File-level storage solution ❖ Connects to a network Allows multiple users to access shared files ❖ Typically used in small to medium sized businesses ❖ Built-in file systems ❖ Easy to set up and manage ❖ Affordable Storage Area Network ❖ Block-level storage solution ❖ Connects servers to a dedicated storage network ❖ Commonly used in large enterprises Cloud Storage ❖ Online storage solution ❖ Stores files on remote servers accessible via the internet ❖ Maintained by cloud service providers (Amazon, Microsoft) ❖ Flexible, scalable, and cost-efficient E. Input Devices Input Device ❖ Accepts data to enter into the memory of a computer Keyboard ❖ Contains keys you press to enter data and instructions into a computer or mobile device ❖ Have the following parts: Typing area (A, B, C, etc.) Function Keys (F1, F2, F3, etc.) Toggle Keys Navigation Keys (Arrows) Media Control Buttons (Usually also F1, F2, F3, etc.) Internet Control Buttons Other special keys ❖ Translate keystrokes into electric signals ❖ Press a key → Send coded signal to microprocessor → Generates a bitstream output Membrane Keyboard ❖ Thin rubber or silicon layer with individual domes per key Collapse when pressed ❖ Relatively quiet ❖ Low cost ❖ Can fail to register keystrokes when key is not pressed down far enough Mechanical Keyboard ❖ Individual switches per key ❖ Generates noise ❖ More expensive ❖ More tactile as keystrokes can register even when key is only pressed halfway Ergonomic Keyboard ❖ Reduces chances of repetitive strain injuries on wrist and hand Pointing Device ❖ Translate the spatial position of a pointer or selection device into numeric values in a system of 2D coordinates to control a cursor ❖ Layman’s Terms: Controls a cursor that points at stuff Mechanical Mouse ❖ Uses a roller ball to move wheels which specify the movement along the X and Y axes Optical Mouse ❖ Uses an optical scanner that scans the surface under the mouse at a high resolution ❖ Microprocessor compares those scans to determine the direction and speed of movement Trackball ❖ An upside down mechanical mouse Touchpad/Trackpad ❖ Small, flat, rectangular ❖ Sensitive to pressure and motion Touchscreen ❖ Flat panel display ❖ Functions both as an input and output device ❖ Additional layers are added to an LCD or LED display to sense touch Capacitive Touchscreen ❖ Relies on conductivity of object to sense location on screen ❖ More sensitive and responsive compared to resistive screens Resistive Touchscreen ❖ Made up of several layers Topmost relies on pressure to sense location of objects ❖ More accurate compared to capacitive screens Pen Inputs ❖ Graphics Tablet Also called a digitizer Electronic plastic board Detects and converts the movements of a stylus/digital pen into signals that are sent to the computer Motion Input ❖ Also called gesture recognition ❖ Guides on-screen elements using air gestures ❖ Relies on gyroscopes, accelerometers, and cameras to recognize object position Audio Input ❖ Entering any sound into the computer (speech, music, sound effects) ❖ Audio can be recorded, composed, mixed, and edited with the use of music production software Voice Input ❖ Entering input by speaking into a microphone ❖ Speech recognition - recognizing and responding to the meaning embedded in spoken words, phrases, or sentences Image Input ❖ Capturing images and storing them on a storage medium Digital Still Camera ❖ Uses a 2D photosensor placed behind lenses to capture reflected and focused ambient light ❖ Samples the photosensor array’s output ❖ Generates a bitmap when shutter button is pressed Digital Video Camera/Webcam ❖ Uses a 2D photosensor placed behind lenses to capture reflected and focused ambient light ❖ Captures moving images by rapidly capturing a series of still images (frames) into a buffer ❖ More frames (FPS) = Higher quality Mark Sensor ❖ Also called optical mark readers ❖ Scan for light/dark marks on specific locations of a page Input locations are drawn on a page with circles/boxes and are selected by filling them in with dark markings ❖ Uses preprinted bars on edge of page to establish reference points Code Scanner ❖ Detects specific patterns of bars or boxes ❖ Uses scanning lasers that sweep a narrow laser beam across a code following a standard encoding pattern Encoding can be based on line width and spacing (bar codes) or patterns of small black and white blocks (QR) Magnetic Scanner ❖ Also called a magstripe reader ❖ Reads data encoded on a magnetic stripe (e.g back of a credit card) ❖ Magnetic Ink Character Recognition (MICR) Read text printed with magnetized ink and converts them into a form the computer can process Optical Scanner ❖ Generates bitmap representations of printed images ❖ White light is shined on page or other flat surface Reflected light is detected by an array of photosensors interpreting the color of the scanned image ❖ Optical Character Recognition (OCR) Uses a special-purpose processor or software to interpret bitmap content and search for patterns similar to printed characters F. Output Devices Displays ❖ Visually conveys text, graphics, and video information ❖ Quality depends on: Resolution Response time Brightness Dot pitch Contrast ratio Monitor ❖ Display packaged as a separate peripheral device Video Controller ❖ Accepts commands and data from the CPU and memory ❖ Generates analog or digital video signals Transmitted to a display panel ❖ Can be separate expansion cards that have their own RAM and graphics processor (GPU) ❖ Can be connected to displays via: VGA HDMI DVI DisplayPort Alternative Displays ❖ Interactive Whiteboard Touch-sensitive device Resembles a whiteboard Displays image connected to a computer screen ❖ Projector Projects text and images displayed on a computer or mobile device to a larger screen Printers ❖ Produces text and graphics on a physical medium Impact Printer ❖ Makes contact with printing medium to produce text Dot Matrix Printer ❖ Moves a matrix of pins to press a ribbon soaked with ink all over the paper ❖ Commonly used for high-speed printing of multicopy forms Nonimpact Printer ❖ Forms characters and graphics on a piece of paper without contacting the paper Inkjet Printer ❖ Placed liquid ink directly onto the paper ❖ Contains one or more disposable inkjet cartridges containing large ink reservoirs ❖ Matrix of ink nozzles drop ink using mechanical movement/heat ❖ Electrical wiring and contact points enable the printer to control the position of the nozzle carriage and flow of ink through each nozzle Laser Printer ❖ Operates with an electric charge and attraction of ink to said charge ❖ Rotating metal drum is lightly charged with patten ❖ Drum passes a station where fine particles of toner are attracted to charged areas ❖ Toner transfers to paper Thermal Printer ❖ Generates images by pushing electrically heated pins against heat-sensitive paper Plotter ❖ Produce high-quality drawings Large-format Printer ❖ Create photo-realistic quality color prints 3D Printer ❖ Uses additive manufacturing to create an object Adds material to a three-dimensional object one horizontal layer at a time Audio Devices ❖ Produce sound output from the audio controller Assistive Technologies ❖ Facilitate computer access for people with disabilities Concepts in Peripherals Operations and Data Transfer Data Transfer Modes ❖ Programmed I/O CPU is in charge of transferring data between RAM and peripheral Continuously checks device status, wastes CPU cycles ❖ Interrupt-driven I/O Peripheral signals CPU with an interrupt when it is ready for data transfer CPU doesn’t have to constantly poll the device (improves efficiency) ❖ Direct Memory Access Specialized hardware component (DMA controller) handles data transfers between RAM and peripheral Bypasses CPU for bulk transfer, allowing it to focus on other tasks Synchronous and Asynchronous Operations ❖ Synchronous I/O CPU waits until peripheral operation is complete before continuing other work Ensures predictable timing but results in CPU idle time when waiting for slower devices ❖ Asynchronous I/O CPU executes other instructions while peripheral operation takes place in background CPU receives notification once operation is complete Improves system efficiency Buffering Methods ❖ Single Buffering Data is temporarily held in a single buffer before being transferred to the destination Simple Can cause delays if buffer is full/not emptied in time ❖ Double Buffering Two buffers are being used alternately One buffer writes, one buffer reads Improves throughput by reducing wait times ❖ Circular Buffering Multiple buffers are used in a circular queue Often used in audio/video streaming to handle continuous data flow without interruption Improved performance in high workloads Device Drivers Driver ❖ Specialized software ❖ Allows the OS and applications to communicate with hardware devices (peripherals) ❖ Act as intermediary between OS and I/O device Ensures software commands are translated to hardware-specific instructions ❖ Every I/O device has a driver in order to function properly Command Translation ❖ Generic to specific OS commands are generic Driver translations are specific to their hardware ❖ Manages data formats, protocols, timing, and other hardware-specific configurations Plug-and-Play ❖ Feature allowing hardware devices to be automatically detected, configured, and ready for use by the OS without manual intervention ❖ OS automatically identifies a device that has been plugged in Locates the driver Installs the driver Configures the device to work without a system restart ❖ Relies heavily on existence of pre-installed or downloadable drivers ❖ No drivers = Manual user configuration (complicated, prone to error) Types of Device Drivers ❖ Kernel-Mode Drivers Run at a privileged level of the OS Directly interacts with hardware Provides high-performance access to hardware May lead to system instability during a malfunction ❖ User-Mode Drivers Run in a restricted environment Communicates with kernel-mode drivers for hardware access Slower but more stable Device Driver Updates ❖ Manufacturers often release updates to: Improve performance Add features Fix bugs ❖ Some new drivers can unlock advanced features in hardware Improved graphics rendering Faster network speeds Buffering in I/O Devices Buffering ❖ Temporary storage of data while it’s being transferred between devices or processes operating at different speeds ❖ Allows the CPU to continue other tasks while data is processed by slower devices ❖ Smooths out difference in data transfer rates Prevents bottlenecks Caching in I/O Devices Caching ❖ Storing frequently accessed data in faster storage mediums (RAM) for quicker retrieval ❖ Improves efficiency by reducing need to fetch data from slower storage mediums (secondary storage) repeatedly ❖ Reduces access time for frequently requested data Addressing and Virtualization Addressing I/O Devices ❖ I/O Ports Unique address every device has Allows CPU to communicate with device CPU sends commands or requests by accessing specific I/O port addresses ❖ Memory-mapped I/O Each address is mapped into the system’s memory space Device is then treated like memory CPU reads and writes to specific addresses corresponding to different peripherals Concept of Virtualization ❖ Virtual environments replicate physical peripherals as virtual devices Allow multiple virtual machines (VM) to share the same physical hardware without having direct access to it ❖ Virtualization layer (hypervisor) manages communication between VMs and physical peripherals Allows each VM to interact with the devices as if they have direct access ❖ Helps optimize hardware usage ❖ Provides flexibility Use Cases for Virtual Devices ❖ Cloud Environments Virtual devices are common in cloud environments Shared by multiple VMs needing to share hardware resources ❖ Development and Testing Virtual devices are often used to simulate hardware for testing purposes Removes the need to have the actual physical device Performance Considerations Data Transfer Rate ❖ Speed at which data moves between the peripheral and the system (MB/s, GB/s, etc.) ❖ Higher DTR = Quicker data processing Latency ❖ Time delay between request and data transfer ❖ Lower latency = Faster response time Bandwidth ❖ Maximum amount of data that can be transferred at a given time ❖ High bandwidth = More data that can be transferred Importance of Efficiency ❖ Efficient I/O is crucial in high performance computing environments (HPCs) like data centers, servers, and workstations ❖ Poor I/O performance will create bottlenecks that will slow the entire system Optimization Techniques for I/O Devices Direct Memory Access (DMA) ❖ Allows I/O devices to transfer data directly to or from RAM without involving the CPU Reduces CPU workload Improves system efficiency Reducing Context Switching ❖ Occurs when the CPU switches between different processes Frequent context switching may lead to reduced performance ❖ Minimizing this will allow the CPU to complete tasks without the overhead of switching between processes constantly Efficient Use of Buffers and Caches ❖ Buffers and caches play a vital role in smooth data transfer ❖ Buffers must be large enough ❖ Caches must be optimally used II. Operating Systems and Utility Programs Operating System ❖ Most important software component on any computer system ❖ Performs low-level tasks on behalf of users and application program ❖ Manages computer hardware (CPU, RAM, Storage, Peripherals) ❖ Provides a consistent means for application software to work with the CPU ❖ Responsible for management, scheduling, and coordination of tasks ❖ Organized into layers Makes OS easier to maintain as each layer can be independently modified Outermost layers provide services to application software or to end users Innermost layers encapsulates hardware resources to control and manage access OS Layer Definition Command Layer User interface (UI) wherein the user runs applications and manages system resources Service Layer Contains reusable components providing basic operations (e.g. file and folder manipulation, I/O access) accessible through service calls Kernel Manages resources and interacts directly with the hardware Boot-Up Process Step 1: Activate the Basic Input-Output System (BIOS) ❖ Small program stored in ROM ❖ Manages the exchange of data between OS and I/O devices attached Step 2: Conduct the Power On Self Test (POST) ❖ Tests components of the computer ❖ Compares results with configuration information in CMOS ❖ Ensures all essential peripheral devices are attached and operational Step 3: Operating System is Loaded onto the Memory (RAM) ❖ BIOS checks a preconfigured list of devices to search for the drive containing the main files of the OS ❖ OS loaded from hard drive ❖ Kernel of the booted OS is loaded onto the RAM ❖ OS takes control of the system from the BIOS ❖ Systems with more than one OS installed has the BIOS follow boot priority to determine which OS is loaded onto the RAM Step 4. Configuration and Customization Settings Check ❖ Checks and loads user configs ❖ Displays start screen OS Functions User Interface ❖ Provides a means through which the user can: Run applications and utility programs Manage system resources ❖ Can be implemented as: GUI (Graphical User Interface) - Interaction using menus and visual images CLI (Command Line Interface) - Accepts user input using commands represented by short keywords/abbreviations Memory Management ❖ Optimizes use of device’s internal memory ❖ Only portions of a program that must be in RAM are: Next instruction to be fetched Data it is currently using ❖ Most OS reduce the amount of code and data loaded onto the RAM so that the remaining space can be used by other programs ❖ Virtual memory - Portion of secondary storage functioning as additional RAM ❖ Virtual Memory Management Divides a program into fixed-size portions (pages) Swap space/Page file (reserved area in secondary storage) temporarily holds program pages not being used during execution OS regularly moves program pages from the RAM and page file as needed Task Coordination ❖ OS determines the order that tasks are processed in ❖ Multitasking OS allows multiple programs to share system resources within a timeframe ❖ Programs and devices signal the OS with interrupts when they require resources ❖ OS scheduler makes quick decisions to determine: Which program receives resource control How long do they have resource control Based on priority ❖ Number of programs being run Single Tasking - One program at a time Multitasking - Multiple programs simultaneously ❖ Involvement of user Foreground - Run with user interaction Background - Run without user interaction ❖ Number of users Single User - Serve one user at a time Multiuser - Server multiple users simultaneously Device Configuration and Control ❖ Device Driver Allows OS to control a device Translates device’s specialized commands into something the OS can understand ❖ PnP Automatically configures new devices as they are installed/connected ❖ Non-PnP Requires manual user configuration before use Types of Operating Systems Desktop ❖ Serves a single user at a time ❖ Runs on personal devices such as laptops and PCs ❖ Runs with a GUI by default ❖ Contains user application software (Browsers, games, productivity software) ❖ Examples: Windows Most popular desktop OS Highly customizable Supports a wide selection of software MacOS Macintosh Operating System Ease of use Runs exclusively on devices made by Apple Linux Open source OS Several variants available Highly versatile when working on different types of computer systems (servers, desktops, embedded systems) Server ❖ Serves multiple users simultaneously ❖ Runs on servers and mainframes ❖ Contains software providing services commonly through a network (e.g. web hosting, file hosting) ❖ Managed by a dedicated system administrator ❖ Windows, MacOS, and Linux each have their own server versions Mobile ❖ Runs on mobile devices (such as smartphones) and consumer electronics (such as tablets) ❖ Good power-saving characteristics ❖ UI designed to be optimized for touchscreen ❖ Examples: Android Open-source Linux-based Designed by Google For smartphones and tablets iOS Developed by Apple Proprietary OS Made specifically for Apple devices (iPhones, iPads) Windows (Mobile Edition) Developed by Microsoft Proprietary OS Runs on smartphones Real Time (RTOS) ❖ Runs on machinery performing repetitive tasks in an exact amount of time (e.g. vehicles, automated factories, appliances) ❖ Minimal user interaction ❖ No UI ❖ Responds quickly to external events Utility Programs ❖ Perform special functions ❖ Can be obtained as part of an OS or installed as standalone programs Power Management ❖ Allows user to enter different modes of computer operation Sleep Mode - Saves open documents and running programs/apps to RAM, turns off all unneeded functions, places computer in a low-power state Hibernate Mode - Saves open documents, running programs/apps, and RAM contents all to secondary storage, removes power from the computer Sleep Hibernate Shutdown Power Low Zero Zero Software RAM Secondary Secondary Location Storage Storage Resumption Yes Yes No Display Utilities ❖ Provide the following: Personalizing the appearance of the GUI through colors, backgrounds, and themes Custom lock screens and screensavers Application Management ❖ Provides a menu to: Enable/disable OS features Install/uninstall application software Update OS and application software File Compression ❖ Makes a large file occupy less storage or makes their transfer easier PC Maintenance ❖ Performs a variety of general control tasks over the OS ❖ Examples: Recycling Bin - Temporarily holds deleted files Disk Cleanup - Removes temporary internet files to free up storage Task Manager - Allows monitoring and forced stoppage of running software Disk Defrag - Recognizes data on secondary storage to occupy continuous sectors for faster retrieval Backup and Restore ❖ Creates an image of the current disk contents (includes OS, applications, and user files) for recovery in the event of a system failure III. Applications and Programming Software Application ❖ Consists of programs designed to make the user more productive, conduct business, or provide entertainment Productivity Software ❖ Allows people to perform various tasks required at home, school, and business ❖ Cheaper to buy software suites rather than purchase each program individually Microsoft Office, Apache OpenOffice, Apple iWork Productivity Description Example Software Word Processor Create and edit MS Word documents Spreadsheet Make calculations and MS Excel perform numerical analyses Presentation Produce high-quality MS PowerPoint Software slide presentations Note-taking Take down and MS OneNote Software organize free-form notes Personal Take down and MS Outlook Information organize free-form Manager (PIM) notes Personal Finance Manage daily finances Mint.com Software (PFS) (automated bill payment, cash transfer, monitor budget) Database Store and organize SQL data, perform complex data querying Business Software ❖ Assists users with day-to-day business operational tasks ❖ Enables users to provide services to customers ❖ Examples: Accounting Software - Provides tools for tracking accounts receivable and accounts payable, inventory management, payroll, and billing tools i.e. Intuit Quickbooks, Sage Peachtree Desktop Publishing (DTP) - Prepares and designs newsletters, catalogs, annual reports, or other large, complicated publications i.e. Adobe InDesign Webpage Authoring - Provides wizards, templates, and reference material to design interactive web pages i.e. Adobe Dreamweaver Media and Entertainment Software ❖ Specialty software required to produce computer games, graphic designs, animations, music, and videos Image Editing Software ❖ Creates or manipulates images via: Modification to digital photos Painting tools Special effects for image processing ❖ Examples: Gimp, Adobe Photoshop Video Editing Software ❖ Edit and refine videos Video splicing, splitting, and trimming Encoding and compression of video using different formats Add voiceovers or music Add transition effects and text ❖ Examples: iMovie, Adobe Premier Audio Editing Software ❖ Edit or produce audio files Mixing tracks Cutting dead air Splicing audio Enhancing bass/treble Removing vocals Removing background noise Convert audio files to different uncompressed formats Compose soundtracks with virtual instruments, voice recorders, synthesizers, and special audio effects ❖ Examples: Audacity, MAGIX Music Maker Computer Games ❖ Provides entertainment with a variety of game genres Real-time Strategy (RTS) Ex. Civilization 6, Hearts of Iron IV First Person Shooter (FPS) Ex. VALORANT, Counter Strike: Global Operations Third Person Shooter (TPS) PlayerUnknown’s Battlegrounds, Fortnite Multiplayer Online Battle Arenas Ex. League of Legends, Dota 2 Role-Playing (RPG) Ex. Final Fantasy XVII, Legend of Zelda: Breath of the Wild Simulation Ex. The Sims 4, City Skylines Sports Ex. NBA 2K25, Madden NFL 25 Puzzles and Party Games Ex. Jackbox, Mario Party Action Adventure Ex. Sniper Elite 5, Batman: Arkham Knight Educational Software ❖ Provides users with a means to access learning material or learn new skills Course Management - Delivers online learning materials and manage online classes Ex. Canvas Simulation Programs - Mimic behavior of real world objects or events to allow users to experience them in a controlled environment Ex. Labster Emulator Programs - Duplicate hardware and OS of a real device, commonly used to run software outside its native computer platform Software Development Tools (SDTs) Development Tools ❖ Specialized software used to create programs ❖ Provide an environment for programmers to write and manage source code ❖ Convert source code into machine-executable instructions Translator ❖ Converts high-level source code into something the computer can understand (machine code/object code) Compiler ❖ Translate high-level code into intermediate assembly code or directly into machine code ❖ Produces an executable file before a program is run Assembler ❖ Translate assembly code into machine code ❖ Produces an executable file Interpreter ❖ Translate high-level code one line at a time into machine code as the program is being run Integrated Development Environment (IDE) ❖ Provides a collection of SDTs to programmers Source code editor Program build automation tools Debuggers Code Version Control ❖ Examples: DevC++ Acquiring Software Software Licenses ❖ Using software requires one to: Acquire its license Abide by the end-user license agreement (EULA) ❖ You don’t buy the software, you just buy a license to use it Proprietary Shareware Open Free Public Source Software Domain Publisher YES YES YES YES NO Copyright Access NO NO YES YES MAYBE Source Code Modify NO NO YES YES YES Copy NO YES YES YES YES Distribute NO YES YES YES YES Distribute NO NO NO YES YES Modified Software Installation ❖ Most software requires installation before it can be run ❖ Installing involves: Checking system compatibility Unpacking software components Copying components into appropriate folders Storing user and computer settings to run software properly ❖ Full Installation Typical installation Copies all commonly used files and programs from distribution package to your computer Uses default settings of the software ❖ Custom Installation User can select which components to install and which components to omit Allows customization of software settings Web Software ❖ Software hosted online by the vendor ❖ Commonly accessible through a browser ❖ Does not require separate installation Google Docs, Canvas, Dropbox ❖ Distribution method is also called Software as a Service (SaaS) ❖ May be offered free of charge or through a subscription-based payment scheme ❖ Key advantage is accessibility and compatibility through a wide range of hardware platforms Software Piracy ❖ Unauthorized copying distribution and use of software ❖ Distributing copies of proprietary software to others ❖ Cracking software that would otherwise have been protected from illegal use ❖ Using more copies of legitimately acquired software than permitted by the EULA ❖ Has legal and security implications Exposure to viruses, corrupt disk, or defective software Inadequate or no product documentation No warranties Lack of technical support Ineligibility for software updates and upgrades Legal fines due to violations of: IP Code of the Philippines Republic Act No. 8293 Violation of Optical Media Act Republic Act No. 9239 ❖ Has ethical implications Loss of income for the software industry Leads to higher costs that legitimate users need to bear PH has piracy rate of 72%, losing 55 million pesos annually IV. Virtualization Virtualization ❖ Creates virtual versions of physical components Operating Systems Storage Network ❖ Virtual Machines (VMs) Multiple operating systems running on a single physical machine Each VM acts as a separate, independent system ❖ How it works Hypervisors: Type 1 (bare metal) runs directly on hardware Type 2 (hosted) runs on top of existing OS Manages virtual resources Creates an abstraction layer between VMs and hardware Types of Virtualization Hardware Virtualization ❖ Virtual CPUs, memory, and storage ❖ Runs OS on the same machine without direct hardware access Operating System Virtualization ❖ Containers for lightweight, isolated app environments ❖ Multiple apps share the same OS, reducing overhead Network Virtualization ❖ Virtual Network Devices Efficient sharing of physical network resources among VMs Storage Virtualization ❖ Virtual drives over physical storage ❖ Efficient resource management and scaling Virtual Machines VM Creation Process ❖ Allocates virtual CPUs, memory, and storage ❖ Sets up virtual network interfaces ❖ Hypervisor manages resource allocation Benefits of VMs ❖ Resource optimization Maximize hardware use by sharing resources ❖ Ease of backup Snapshot and clone VMs easily ❖ Isolation Ideal for testing environments without risk to the host V. Internetworking Computer Networks ❖ Two or more computers that are connected via software or hardware for communication ❖ Node A device connected to a network Can be a computer, peripheral, or network device ❖ Benefits: Sharing an internet connection Sharing peripheral devices Sharing files Network Performance ❖ Data Transfer Rate (Bandwidth) Maximum speed at which data can be transmitted between two nodes on a network ❖ Throughput Actual speed of data transfer achieved Usually less than bandwidth ❖ Both are usually measured in bits per second (BPS) Network Communication Mechanics ❖ Computer networks function similar to a complex mail system ❖ Packets - Messages transported as packages of bits and bytes ❖ Each node must: Have a unique address Abide by a set of communication rules ❖ Packets travel from the source node to the destination via the network infrastructure Network Components ❖ Can be as simple as a single cable connecting two computers ❖ Can be as complicated as a collection of networks spanning the globe ❖ Contains two categories of physical components Transmission Media Devices Transmission Media ❖ Carries communication across a network ❖ Allows a message to travel from source to destination Electrical Media ❖ Most common ❖ Least expensive ❖ Twisted Pair Copper wires twisted around each other Covered by a plastic jacket Several grades available: Cat5e (up to 1 Gbps) Cat6 and Cat6 (up to 10 Gbps) ❖ Coaxial Cable Single copper wire Surrounded by layers of plastic Commonly found on TVs, cable broadband, connections and older networks Optical Fiber ❖ Contains strands of light-conducting filaments Made of plastic or glass with a tough plastic coating for protection from physical damage ❖ Expensive ❖ Fragile ❖ Difficult to install ❖ Very high bandwidth ❖ Can transmit over long distances Wireless Media ❖ Conveys signals using radio frequency using an antenna ❖ Lower bandwidth than wired connections ❖ Greater mobility compared to wired media ❖ Easily affected by interference from other wireless and radio devices ❖ Throughput is affected by distance and physical barriers Devices End Device ❖ Every computer connected to a network is called a host or end device ❖ Where a message originates or where it is received Servers - Provide services and information to end devices on the network Clients - Sends requests to servers to retrieve information Network Printers - Provides centralized printing that can be accessed by different network users Network Attached Storage - Centralized and dedicated file storage on the network ❖ Network Interface Card - Enables an end device to connect to a network Network Infrastructure Devices ❖ Connects end devices in a network ❖ Regenerates and retransmits data signals ❖ Maintain information about what pathways exist through the network ❖ Notify devices of errors or failures Switch ❖ Connects devices together using cables forming a network Wireless Access Point ❖ Connects wireless devices to form a network Router ❖ Connects networks together ❖ Calculates the best “route” to move data between them Firewall ❖ Perform filtering in a network to block unwanted data Communication Rules ❖ Standards and protocols devices abide by when communicating over a network How messages should be packaged How addresses should be formatted How fast messages can be sent ❖ Popular standards include: Ethernet (wired devices) 802.11 Wireless Ethernet (wireless devices) Internet Protocol (IP) Addressing ❖ Allow a device to be properly identified to receive packets ❖ Devices in modern networks commonly have two types of addresses ❖ Devices must have the same network number as the network it is connected to in order to communicate on said network Must also have a unique host number within that network Must be set with a default gateway to communicate with devices outside the network MAC Address ❖ Permanent address ❖ Uniquely identifies a device whichever network it joins IP Address ❖ Temporary address ❖ Uniquely identifies a device within a network ❖ Paired with a subnet mask to differentiate the network number and host number within the network Types of Networks Local Area Network (LAN) and Wireless LAN (WLAN) ❖ Span a small geographic area Home, school, office building, campus ❖ Owned by a single organization or individual ❖ Provides high-speed bandwidth to end devices and infrastructure devices within the LAN Wide Area Network (WAN) ❖ Interconnects LANs over wide geographical areas Cities Provinces Countries ❖ Owned and managed by several service providers ❖ Provide slower speed links in comparison to LANs The Internet ❖ Worldwide connection of interconnected LANs and WANs LANs are connected to each other using WANs WANs are connected to each other by using cables transmission media ❖ Is not owned by any single individual or group Global organizations help maintain its structure Connecting to the Internet ❖ Some businesses and large organizations have their own dedicated connection to the Internet ❖ Most smaller businesses and homes purchase Internet access from Internet Service Providers (ISPs) Broadband Transmission Characteristics Speeds Type Medium Cable Coaxial Cable Connections are shared; speeds drop Average: 10 Mbps during high-usage Maximum: 30 Mbps periods DSL Copper Cable Speeds drop as Average: 3.7 Mbps distance from Maximum: 35 Mbps source increases Fiber Optical Fiber Transmits data over light signals; speed Average: 50 Mbps does not degrade Maximum: 500 Mbps over distance Mobile Radio Speed drops as (3G, 4G, 5G) Frequency distance from cell 3G Average: 3 Mbps towers increases; 4G Average: 20 Mbps affected by physical 5G Average: 140 Mbps obstacles VI. Cybersecurity Threats and Awareness Cybersecurity ❖ Protecting computer systems, networks, and data from digital attacks, theft, and damage ❖ Safeguards personal information ❖ Prevents financial loss ❖ Protects privacy and IP ❖ Ensures functionality of systems Cyber Threat ❖ Any potential malicious act that seeks to damage, steal from, or disrupt digital systems ❖ Causes financial loss, data breaches, and reputation damage Malware ❖ Malicious software that harms systems Phishing ❖ Tricks users into giving away sensitive information Ransomware ❖ Holds data hostage by encrypting it against the owner’s will until a ransom is paid Social Engineering ❖ Manipulation of people into divulging confidential information Distributed Denial of Service (DDoS) ❖ Overloading a system to disrupt its day-to-day operations Real-Life Occurrences of Cyber Attacks ❖ WannaCry Attack (2017) ❖ Mirai Botnet Attack (2016) ❖ Yahoo Data Breach (2013-2014) ❖ SolarWinds Supply Chain Attack (2020) ❖ GCash Phishing Scam (2024) Best Practices ❖ Strong Passwords Use long, unique passwords Mix a variety of characters ❖ Two-Factor Authentication (2FA) Adds an extra layer of security via verification ❖ Software Updates Regularly update OS and apps for new security measures ❖ Avoidance of Suspicious Links Avoid clicking on unfamiliar links ❖ Secure Devices Use antivirus software and firewalls ❖ Data Backups Regularly backup important files ❖ Secure Connections Use VPNs and HTTPS websites to browse safely Cyber Hygiene ❖ Lock devices with PINS or biometric security ❖ Verify email sources and links before clicking ❖ Check app permissions to monitor their access to your data ❖ Avoid downloading files from untrusted sources ❖ Avoid accessing sensitive information over public networks Ethical Responsibilities in Computing ❖ Ethics in Cybersecurity Systems must be protected without violating privacy Vulnerabilities must be reported responsibly, not exploited ❖ Avoid misuse of skills Hacking should be used for good (ethical hacking) Do not use computing skills to exploit others via spamming, phishing, or cyberstalking ❖ Data Privacy User data is protected by law under Republic Act No. 10173 otherwise known as the Data Privacy Act of 2012 The National Data Privacy Commission also exists to protect personal data Importance of Ethical Behavior ❖ Positive Impact Protects users and organizations from harm Maintains trust and integrity in the technology field ❖ Consequences of Unethical Behavior Legal implications (fines, jail time) Damage to career and reputation VII. Software Development Cycle Software Development Cycle ❖ Structured approach to developing software applications ❖ Ensures software is built efficiently ❖ Ensures user needs are met with developed software ❖ Ensures ease of maintenance ❖ Helps software developer teams work in a coordinated, predictable fashion to improve product quality 1. Requirement Gathering 2. Design 3. Development 4. Testing 5. Deployment 6. Maintenance *phases can be iterative or linear depending on the methodology employed Requirement Gathering ❖ Understand what the client needs ❖ Interview the client/s ❖ Conduct surveys ❖ Analyze business requirements ❖ Enumerate document requirements (i.e. Software Requirements Specification (SRS)) ❖ Must produce a clear, documented understanding of what the software must accomplish and what needs it will fulfill Design ❖ Develops a blueprint for the software ❖ High-Level Design (HLD) and Low-Level Design (LLD) HLD - Architecture and overall structure LLD - Specific component designs and algorithms ❖ Must produce design documents, diagrams, and models that will serve as the basis for the development phase Development ❖ Coding the software application based on the design phase results ❖ Considerations must be made in terms of programming language, development tools, and coding standards ❖ Version control must be implemented to manage changes effectively ❖ Must produce a working, testable prototype component/s or module/s Testing ❖ Ensure that the developed software actually meets the user needs ❖ Unit Testing, Integration Testing, System Testing, User Acceptance Testing (UAT) ❖ Must guarantee that the software meets quality standards and is free of major bugs or defects Deployment ❖ Releasing the software to the clients ❖ Deployment strategy must be considered ❖ Infrastructure needs and fallback plans for failures must be taken into account ❖ End output is the client using the developed software Maintenance ❖ Ensure that the software is up-to-date and functioning properly post-deployment ❖ Corrective Maintenance - Fixes any bugs discovered post-deployment ❖ Adaptive Maintenance - Updating the software for compatibility reasons ❖ Perfective Maintenance - Introducing newer and better features to improve the software’s capabilities ❖ Preventive Maintenance - Updating the software to prevent future bugs or errors) Software Development Methodologies ❖ Waterfall Model Linear, sequential ❖ Agile Methodology Iterative, adaptable ❖ DevOps Combines development and operations Continuous integration and delivery ❖ Lean Focus on efficiency and minimizing waste Selection of a SDM ❖ Must consider: Project Size Project Complexity Team Size Client Flexibility Deadlines ❖ Comparison of SDMs Agile vs. Waterfall Agile for flexibility Waterfall for structure ❖ Match the SDM to the needs of the project and of the team Software Development Tools ❖ Requirement Management JIRA Trello ❖ Development Environments (IDEs) Visual Studio Eclipse ❖ Version Control Git SVN ❖ Testing Tools Selenium JUnit ❖ Continuous Integration/Delivery Jenkins GitHub Actions Challenges in Software Development ❖ Need for constant adaptability ❖ Balancing speed and quality ❖ Collaboration across teams ❖ Ensuring data protection and compliance Best Practices for Software Development ❖ Clear documentation Hardware and software requirements Source code comments Design documents Manuals ❖ Regular Testing Continuous testing Catches issues and bugs early ❖ Version Control Track code changes Manage collaboration ❖ Continuous Improvement Iteratively improve software and processes VIII. Introduction to Databases Database ❖ Organized collection of data ❖ Stored and accessed electronically from a computer system Types of Databases Hierarchical Database ❖ Categorizes data in ranks ❖ Data is categorized based on a common linkage Network Database ❖ Hierarchical database but lower records can associate with multiple higher records Object-Oriented Database ❖ Data is represented as objects and classes Object - an item Class - group of objects ❖ Capable of processing large amounts of data quickly Relational Database ❖ Every piece of information is related to one another ❖ Each data value has a unique identity in the form of a record ❖ Stores data in tables with rows and columns Tables (Relations) Rows (Records) Columns (Fields) Primary Key and Foreign Key NoSQL Database ❖ Follows a hierarchy similar to a file folder system ❖ Data is unstructured or non-relational Lack of structure allows larger amounts of data to be processed quickly and allows scalability ❖ Frequently used by cloud computing Components of a Database Data ❖ Actual information being stores Database Schema ❖ Structure of the database ❖ Tables, fields, relationships Query Processor ❖ Interprets and executes database queries Indexes ❖ Improves the speed of data retrieval Database Management System ❖ Enables users to define, create, maintain, and control access to the database ❖ Examples: MySQL Oracle Microsoft SQL Server Application of Databases ❖ Healthcare Electronic healthcare records Patient management systems ❖ Finance Transaction processing Customer databases ❖ Retail Inventory management Customer databases ❖ Social Media User profiles Posts and stories ❖ Research Storing experimental data Research findings Benefits of Using Databases ❖ Efficient data management ❖ Easy data retrieval ❖ Scalability ❖ Data integrity and security ❖ Data sharing and concurrent access Structured Query Language (SQL) SQL ❖ Standard language for accessing and manipulating databases ❖ Allows users to query, insert, update, delete, and manage data in relational database systems ❖ Standardized by ANSI SQL Syntax and Structure ❖ Basic SQL Query Structure SELECT column_name(s) FROM table_name WHERE condition; Keywords: SELECT, FROM, WHERE, INSERT, UPDATE, DELETE, JOIN, ORDER BY, GROUP BY ❖ DDL - Data Definition Language Define and modify the structure of the database Common DDL Command: CREATE - Creates a new table, database, or index CREATE TABLE table_name ( column1 datatype, column2 datatype, … ); ❖ DML - Data Manipulation Language Manipulate the data within tables Common DML Command: SELECT - Retrieves data from database SELECT column1, column2 FROM table_name WHERE condition; ❖ Common DML Commands INSERT - Adds new records to the table INSERT INTO table_name (column1, column2) VALUES (value1, value2); UPDATE - Modifies existing records on the table UPDATE table_name SET column1 = value1 WHERE condition; DELETE - Removes records from the table DELETE FROM table_name WHERE condition;