Comprehensive Computer Fundamentals Notes
What Is a Computer?
- Electronic device for processing data.
- Accepts input, stores data, processes it and delivers output based on user requirements.
Advantages
- Works efficiently and quickly.
- Useful in virtually every field.
- Provides millions of pieces of information in seconds.
- Facilitates reliable data storage and retrieval.
- High accuracy even with large volumes of data.
- Performs repetitive tasks without fatigue.
- Acts as a dedicated “data-processor.”
- Gather → Merge → Sort → Print.
Characteristics of Computers
- Speed
- Performs mathematical calculations in (microseconds) or (nanoseconds).
- Accuracy: precise if input and program are correct.
- Diligence: Can execute millions of operations without loss of concentration or fatigue.
- Versatility: Capable of handling diverse tasks concurrently.
- Reliability: Consistently supplies complete, correct information.
- Memory
- Long-term, high-capacity storage.
- Automation: Executes instructions automatically once programmed.
- Consistency & Storage Capacity: Delivers identical results; can store huge data volumes.
- Resilience Power (failure recovery) and other minor traits.
History of Computing
- Ancient Tools & Abacus (≈3000 BCE – 100 BCE): manual arithmetic aids.
- Mechanical Calculators (17th–19th C): automated arithmetic devices.
- Analytical Engine (1833–1843)
- Designed by Charles Babbage; used punched cards for programs → conceptual “first computer.”
- Punched-Card Systems (late-19th – early-20th C): data/program encoding.
- First Electronic Computers (1930s–1940s)
- Konrad Zuse Z3 (1941): electromechanical programmable.
- Colossus (1944): first digital electronic code-breaking machine.
- ENIAC (1945): general-purpose electronic digital; vacuum tubes for processing.
- Stored-Program Concept (late 1940s–1950s): data & instructions share same memory.
- Transistors & Integrated Circuits (1950s–1960s)
- Jack Kilby, Robert Noyce; smaller, faster, energy-efficient.
- Microprocessors & Miniaturization (1960s–1970s)
- Intel → rise of personal computers.
- Personal-Computer Revolution (1970s–1980s)
- Apple, IBM popularize PCs.
- Mobile Internet & WWW (1990s) – Tim Berners-Lee.
- Mobile Computing & Smartphones (21st C).
- Cloud Computing & AI (2000s–present).
Computer Generations
- 1st (1940s–1950s): Vacuum tubes, magnetic drums/tapes, machine & assembly language; large, hot, power-hungry; examples: ENIAC, UNIVAC 1.
- 2nd (1950s–1960s): Transistors; magnetic core memory; assembly + early high-level (FORTRAN, COBOL); IBM 1401, UNIVAC 1107.
- 3rd (1960s–1970s): Integrated Circuits (ICs); RAM/ROM; high-level languages (BASIC, Pascal, C); IBM 360.
- 4th (1970s–present): VLSI microprocessors; desktops, laptops; languages: Java, C#, Python; Apple II, IBM PC.
- 5th (present & future): AI, ULSI, parallel processing, natural-language interface; smartphones, tablets.
Classification by Size/Power
Microcomputers
- One microprocessor (CPU) + I/O + memory on micro-chips.
- Word length up to 16 bits.
- Limited storage; inexpensive, portable, low-power; slower than larger systems.
Minicomputers
- Mid-size between micro & mainframe; more powerful; serve multiple users (≈20 terminals).
- Word sizes 16, 24, 32 bits; storage ≈2 MB words.
- Inexpensive relative to mainframes; but higher maintenance and power requirements.
Mainframes
- 32-bit+ processors, huge storage, high speed, can manage WAN nodes.
- Examples: DEC, ICL, IBM 3000 series.
Workstations
- High-performance single-user systems; used for CAD/CAM, DTP, software dev.
- Large graphics memory (≈64 MB); stand-alone; OSs: UNIX, Windows NT.
Supercomputers
- Extremely costly; execute few programs at incredible speeds via massive parallelism.
- 8–64 MB (historical) primary memory; used for scientific simulations, animated graphics.
Network Computers / Thin Clients
- Diskless desktops relying on servers; cheaper and easier to manage than full PCs.
Laptops
- Battery-powered portable computers; same functions as desktops; integral display, keyboard, pointing stick/trackpad; energy-efficient.
Fundamental Operations
- Input → Processing → Output → Storage → Communication.
- Input devices (keyboard, mouse) feed data.
- CPU manipulates data via algorithms.
- Output devices present results (text, graphics).
- Storage retains information (HDD/SSD).
- Communication exchanges data between systems.
Core Components
- CPU (Central Processing Unit): executes instructions, arithmetic/logic, control.
- RAM: volatile primary memory.
- Storage: HDD (magnetic, moving parts) or SSD (flash, no moving parts).
- Motherboard: main circuit board housing CPU, RAM; connectors for GPU, storage.
- GPU: accelerates graphics & complex math.
- Power Supply: converts & distributes electrical power.
- I/O Devices: keyboards, mice, monitors, printers, speakers.
Primary Storage vs Secondary
- Primary (RAM): volatile, fast, temporary.
- Secondary: non-volatile, larger, slower (magnetic tape/disk, optical, SSD, USB).
Magnetic vs Semiconductor Memory
- Magnetic Core (historical): non-volatile, heavy, slow, high power.
- Semiconductor: volatile (RAM), light, fast, low power, cheaper—best for small/fast memory.
Secondary Media Types
- Magnetic Tape: sequential access; cheap archives.
- Magnetic Disk (HDD): direct/random access; platters.
- Floppy Disk: flexible, low-capacity removable.
- Magnetic Drum: rotating cylinder, very fast random access (historic).
Input Devices
- Keyboard, Mouse, Touchscreen, Scanner, Microphone, Webcam, Joystick.
Output Devices
- Monitor, Printer, Speaker, Projector, Headphones, LED/LCD indicator lights.
Memory Hierarchy & Types
Main Categories
- Internal / Primary (fast, small) vs External / Secondary (large, persistent).
RAM (Random Access Memory)
- Volatile, read/write.
- Types: SRAM (static, faster, costlier, no refresh), DRAM (dynamic, slower, needs refresh), SDRAM, RDRAM, DDR (SDRAM, DDR2/3/4…)
ROM (Read-Only Memory)
- Non-volatile; data written once or few times.
- Masked ROM (MROM): programmed at fabrication.
- PROM: programmable once by user.
- EPROM: erasable with UV light, then rewritable.
- EEPROM/Flash: electrically erasable byte-wise; convenient updates.
Cache Memory
- Very small, high-speed buffer storing frequently accessed data to shorten average access time.
Virtual Memory
- Secondary storage (disk) used to simulate additional RAM, allowing larger programs to run.
Sequential Access Concept
- Data read/written linearly (e.g., tape); contrasts with random/direct access (disk).
Software Categories
System Software
- Operating System (OS): manages hardware, provides platform (Windows, macOS, Linux).
- Device Drivers: translate OS commands to hardware-specific actions (printers, GPUs).
- Utilities: maintenance tools (disk cleanup, backups).
Application Software
- Productivity (MS Office, Google Workspace).
- Graphics (Adobe Photoshop, Illustrator).
- Multimedia (VLC, Adobe Premiere Pro).
- Database (MS Access, MySQL front-ends).
- Web Browsers (Chrome, Edge).
- Communication (Outlook, Zoom, Slack).
- Gaming (Fortnite, Steam).
- Educational (learning management, tutorial games).
- Entertainment (media players, streaming, VR apps).
Operating System Functions
- Process Management
- Create/schedule/terminate processes; allocate CPU & other resources; enable multitasking.
- Memory Management
- Track usage of RAM, allocate & deallocate; implement virtual memory.
- File System Management
- Organize directories, control access, metadata.
- Device Management
- Interface with peripherals via drivers.
- User Interface
- CLI, GUI, touch, voice—enables interaction.
- Security & Access Control
- Authentication, authorization, encryption, auditing.
- Networking
- Protocol stacks, resource sharing, internet connectivity.
Multiprogramming
- Technique where multiple programs reside in memory simultaneously; CPU switches among them to increase utilization and throughput.
Multitasking
- Rapid context switches give illusion of concurrent execution on single CPU; users interact with several apps simultaneously.
Concurrent Execution
- Overlapping execution timelines (multitasking, multiprocessing, parallelism).
Context Switch
- OS saves state (registers, PC, stack) of current process and loads state of next; essential for multitasking.
Process Termination
- Normal exit, user kill, error/crash; OS reclaims resources.
Process Scheduling Concepts
- Selects next process from Ready Queue and allocates CPU.
- Goals: maximize performance, fairness, resource utilization.
- Algorithms mentioned: First-Come-First-Served (FCFS), Shortest Job/Shortest Remaining, Round-Robin, Priority Scheduling.
Key Scheduling Metrics
- Arrival Time (AT): when process enters ready queue.
- Burst Time (BT): CPU time needed for execution.
- Completion Time (CT): when process finishes.
- Turn-Around Time (TAT): or .
- Waiting Time (WT): total time spent in ready queue awaiting CPU.
- Response Time (RT): first time CPU is allocated minus arrival (initial latency).
Example table (sample values from transcript):
- for 5 processes → etc. (full computation referenced but not explicitly required).
Digital Security Basics
- Protect systems/networks/data from unauthorized access/attacks.
- Measures: strong passwords, encryption, timely updates/patches.
Practical & Ethical Considerations
- Automation and AI increase efficiency but raise concerns over job displacement and bias.
- Data reliability and accuracy crucial for critical fields (medicine, finance).
- Security lapses can cause privacy breaches; ethical duty to safeguard data.
- Environmental impact: energy usage of large data centers vs efficiency gains from miniaturization.