BIT101 Introduction to Information Technology

Introduction to Information TechnologyUnit 410 min read

Computer Software & OS: Types, Functions & Real-World Roles

Unit 4 of Introduction to Information Technology explores software categories (system vs. application), operating systems (functions, types, and examples like Windows/Linux), and their role in managing hardware, enabling user tasks, and supporting modern apps like eSewa and Daraz.

TAKEAWAYS:

  • Software is classified into system software (OS, utilities) and application software (word processors, games), each serving distinct roles.
  • An operating system acts as a bridge between hardware and users, managing resources like CPU, memory, and storage via processes, threads, and device drivers.
  • GUI-based OS (e.g., Windows) and command-line OS (e.g., Linux) cater to different user needs, with Linux dominating servers and embedded systems.
  • Real-world examples: eSewa uses OS-level security (firewalls, encryption) to process transactions; Daraz relies on OS scheduling to handle order queues efficiently.
  • Database systems (e.g., MySQL) are software tools that organize data logically, reducing redundancy and ensuring consistency—critical for NEPSE stock trading.
  • Exam focus: Define software types, explain OS functions (e.g., memory management), and compare OS examples with real-world applications.

1. Introduction to Software

Software is the set of programs and data that instruct hardware to perform tasks. It is categorized into two broad types:

1.1 System Software

System software manages and supports the computer’s hardware and other software. It includes:

  • Operating Systems (OS): Core software that controls hardware and runs applications (e.g., Windows, Linux, macOS).
  • Device Drivers: Software that enables hardware devices (e.g., printers, keyboards) to communicate with the OS.
  • Utilities: Tools for system maintenance (e.g., antivirus, disk cleanup).

1.2 Application Software

Application software performs specific tasks for end-users. Examples:

  • Productivity tools: Microsoft Word, Google Docs.
  • Entertainment: Media players (VLC), games (Call of Duty).
  • Specialized apps: eSewa (payment processing), Pathao (ride-hailing).

Why the distinction matters: System software ensures hardware works; application software provides user-facing functionality. Without system software, apps cannot run.



2. Operating Systems (OS): Core Concepts

An operating system is the interface between hardware and users/applications. It performs critical functions:

2.1 Key Functions of an OS

flowchart TD
    A["OS Functions"] --> B["Process Management"]
    A --> C["Memory Management"]
    A --> D["File Management"]
    A --> E["Device Management"]
    A --> F["Security & User Interface"]
    A --> G["Network Management"]
  • Process Management: Allocates CPU time to tasks (e.g., running Chrome and Spotify simultaneously).
  • Memory Management: Handles RAM allocation (e.g., swapping inactive apps to disk).
  • File Management: Organizes storage (e.g., folders, permissions in Windows).
  • Device Management: Drivers enable peripherals (e.g., USB ports, Wi-Fi).
  • Security: Firewalls, user authentication (e.g., Windows Hello).
  • Network Management: TCP/IP protocols for internet access.

2.2 Types of Operating Systems

Type Description Examples Real-World Use
Single-user OS Designed for one user at a time. Windows, macOS Personal laptops, desktops.
Multi-user OS Supports multiple users simultaneously (e.g., servers). Linux (Ubuntu Server) Web servers, cloud computing.
Real-time OS Prioritizes speed for critical tasks (e.g., industrial control systems). VxWorks Pathao’s ride-matching algorithms.
Embedded OS Minimal OS for specific hardware (e.g., microwaves, ATMs). FreeRTOS NTC’s network routers.
Distributed OS Manages resources across multiple computers (e.g., clusters). Google’s Borg Google Search infrastructure.
Single-user OS (30%)Multi-user OS (25%)Real-time OS (20%)Embedded OS (25%)
Market distribution of OS types (approximate).

Why Linux dominates servers: Linux is open-source, lightweight, and stable—ideal for NEPSE’s trading systems (which require 24/7 uptime).



3. How Operating Systems Work: A Trace

Let’s trace how eSewa processes a payment using OS-level functions:

  1. User Input: You open eSewa’s app (application software).
  2. OS Loads App: The OS (e.g., Android) allocates RAM and CPU time to eSewa.
  3. Network Request: eSewa sends payment data via TCP/IP (network management).
  4. Security Check: The OS firewall verifies the connection (security function).
  5. Database Query: eSewa interacts with a MySQL database (managed by the OS’s file system).
  6. Transaction Confirmation: The OS notifies you via a toast message (user interface).

Key OS roles in this flow:

  • Process scheduling: Ensures eSewa doesn’t freeze your phone.
  • Memory management: Keeps eSewa’s data in RAM for speed.
  • Device drivers: Enables your phone’s camera (for OTP verification).

Mermaid Sequence Diagram:

sequenceDiagram
    participant User
    participant eSewaApp
    participant AndroidOS
    participant BankServer
    participant MySQLDB

    User->>eSewaApp: Opens app
    eSewaApp->>AndroidOS: Request CPU/Memory
    AndroidOS->>eSewaApp: Allocates resources
    eSewaApp->>AndroidOS: Sends payment data
    AndroidOS->>BankServer: TCP/IP connection
    BankServer->>MySQLDB: Query transaction
    MySQLDB-->>BankServer: Confirmation
    BankServer-->>AndroidOS: Acknowledgment
    AndroidOS->>User: Shows "Payment Successful"

4. Database Systems: Software for Data Management

A database system organizes data logically to enable efficient storage, retrieval, and management. Key components:

4.1 Components of a Database System

flowchart TD
  A["Database System"] --> B["Hardware: Servers/Storage"]
  A --> C["Database Software: MySQL/PostgreSQL"]
  A --> D["Database: Structured Data"]
  A --> E["Users: Admins/End Users"]
  A --> F["Application Programs: Web Apps/APIs"]
  • Hardware: Servers, storage devices (e.g., NEPSE’s trading servers).
  • Database Software: DBMS (e.g., Oracle, MySQL).
  • Database: Structured data (tables, relationships).
  • Users: Admins, developers, end-users.
  • Application Programs: eSewa’s backend, Daraz’s inventory system.

4.2 Characteristics of Database Systems

Characteristic Description Example
Data Independence Applications access data without knowing its physical storage. Daraz’s order system updates without changing app code.
Data Integrity Ensures accuracy and consistency (e.g., constraints like "price > 0"). NEPSE’s stock price validation.
Security Controls access via users/roles (e.g., admin vs. viewer). Bank accounts with PIN/TOTP.
Concurrency Multiple users access data simultaneously (e.g., 1000 users checking balances). Online exam systems (TU’s portal).
Scalability Handles growing data (e.g., Daraz’s inventory during festivals). Cloud databases (AWS RDS).
ACID propertiesReferential integrityData IntegrityPhysical independenceLogical independenceData IndependenceDatabase System

Why databases avoid redundancy: Redundant data (e.g., storing customer info in multiple tables) leads to inconsistency (e.g., conflicting addresses). A normalized database (e.g., 3NF) prevents this.



5. Real-World Applications of Software and OS

5.1 eSewa: OS Security in Action

  • Idea: Firewalls and encryption (OS security features) protect transactions.
  • How:
    • The OS firewall blocks malicious network requests.
    • Encryption (e.g., TLS) secures data in transit (e.g., your card number).
  • Worked Example: If a hacker intercepts your eSewa login, the OS’s authentication module rejects invalid credentials.

5.2 Daraz: OS Scheduling for Order Queues

  • Idea: Process scheduling ensures orders are processed in FIFO (First-In-First-Out) order.
  • How:
    • The OS assigns CPU time to Daraz’s backend servers.
    • A priority queue (implemented via OS threads) handles urgent orders (e.g., same-day delivery).
  • Worked Example: During Dashain, Daraz’s OS schedules servers to prioritize high-demand items (e.g., fireworks) over low-demand ones (e.g., winter coats).

5.3 NEPSE: Database Systems for Stock Trading

  • Idea: Relational databases (e.g., MySQL) store stock prices, trades, and investor data.
  • How:
    • The OS manages the database server (e.g., Linux + MySQL).
    • Real-time updates (via triggers) reflect market changes instantly.
  • Worked Example: When you buy shares of Ncell, NEPSE’s database updates your holdings and deducts funds—all managed by the OS’s transaction logging feature.

Mermaid Mindmap:


6. Exam Tips for Unit 4

  1. Define software types clearly:

    • System software = "manages hardware/other software."
    • Application software = "user-facing tasks."
    • Example: "Windows is a system software because it manages hardware like the CPU and memory."
  2. Compare OS examples with real-world use:

    • Windows: GUI, single-user (laptops).
    • Linux: CLI, multi-user (servers).
    • Tip: Mention NTC’s routers (embedded Linux) or Google’s Borg (distributed OS).
  3. Explain OS functions with traces:

    • For process management, describe how Chrome and Spotify share CPU time.
    • For memory management, explain swapping inactive apps to disk.
  4. Database systems:

    • Always link to redundancy vs. consistency (e.g., "Without DBMS, NEPSE’s stock data would be inconsistent").
    • Mention normalization (1NF, 2NF, 3NF) with an example (e.g., "A table with duplicate customer IDs violates 1NF").
  5. Avoid vague answers:

    • ❌ "OS manages hardware."
    • ✅ "The OS’s device driver enables the keyboard to send input to the CPU via the control bus."
  6. Use diagrams for OS/networking:

    • Draw a block diagram of a digital computer (CPU, memory, I/O) if asked.
    • For databases, sketch a table with primary/foreign keys.

Common Pitfalls:

  • Confusing system software (OS, drivers) with application software (games, apps).
  • Forgetting to mention real-world examples (e.g., eSewa for security, Daraz for scheduling).
  • Overlooking OS functions like memory management or device drivers in explanations.

Based on the TU BIT syllabus for Introduction to Information Technology (BIT101), unit 4.

Discussion

Loading…