CFAUnit 3
Unit 38 hours · CACS 101

Computer Software

Operating Systems, Languages & Applications

📦

Types of Software

System software vs Application software

System Software

Manages and controls computer hardware, provides a platform for application software to run. Users rarely interact with it directly.

Operating System (OS) — core manager

Language Translators — compiler, assembler

Device Drivers — hardware interfaces

Utility Software — disk cleanup, antivirus

Firmware — BIOS/UEFI (embedded in hardware)

Application Software

Designed for end users to perform specific tasks. Runs on top of system software.

General Purpose — MS Word, Excel, browser

Special Purpose — payroll, billing, inventory

Custom Software — tailored for one organization

Open Source Apps — LibreOffice, GIMP, Firefox (not Linux — that is an OS)

Proprietary — Adobe, Microsoft Office (paid license)

Operating Systems

The master program that manages everything

An Operating System (OS) is system software that acts as an intermediary between hardware and application software. Without an OS, a user would need to program the hardware directly in machine code for every task.

6 Core Functions of an OS

Process Management

Creates, schedules, and terminates processes. Allocates CPU time using scheduling algorithms (FCFS, Round Robin, Priority).

Memory Management

Allocates RAM to processes, manages virtual memory (using disk as extended RAM), prevents processes from interfering with each other.

File Management

Organizes files in directories, controls read/write permissions, manages file creation, deletion, and storage allocation.

Device Management

Manages I/O devices through device drivers. Queues I/O requests, handles interrupts, provides uniform interface regardless of device type.

Security & Access Control

User authentication (login), file permissions, process isolation. Prevents unauthorized access to data and system resources.

User Interface

Provides CLI (command line) or GUI (graphical) interface for users to interact with the system. Examples: Windows shell, UNIX terminal.

Types of Operating Systems

TypeDescriptionExamples
Batch OSJobs submitted together without user interaction; processed in batches. Oldest type.Payroll systems, early mainframes
Multi-programming OSMultiple programs in memory simultaneously; CPU switches between them.UNIX, Linux
Time-sharing OSMultiple users share CPU simultaneously; each gets a time slice.UNIX with multiple terminals
Real-time OS (RTOS)Responds to events within guaranteed time limit. Used in critical systems.VxWorks, FreeRTOS, medical devices
Network OSManages network resources, shared files, printers over a network.Windows Server, Novell NetWare
Distributed OSManages a group of computers as a single system.Google Android cluster, Hadoop
Mobile OSOptimized for touchscreen devices with limited battery and memory.Android, iOS
💬

Programming Languages (1GL–5GL)

The evolution from binary to natural language

GenerationNameCharacteristicsExample
1GLMachine LanguagePure binary (0s and 1s). CPU-specific. No translation needed. Extremely difficult for humans.10110000 01100001
2GLAssembly LanguageMnemonics replace binary codes (ADD, MOV, SUB). Converted by assembler. Architecture-specific.MOV AX, 01H
3GLHigh-level LanguageEnglish-like syntax. Platform-independent. Converted by compiler or interpreter.C, Java, Python, BASIC
4GLVery High-level / QueryFocused on WHAT to do, not HOW. Non-procedural. Results in less code.SQL, MATLAB, R
5GLAI/Constraint LanguageDefine problem + constraints; system finds solution. Based on logic.Prolog, LISP, Mercury

High-level = Portable

Write C code once, compile on Windows, Linux, and Mac. Machine language is CPU-specific and not portable.

Python is 3GL

Despite being "modern", Python is a 3rd generation language. It's just a very well-designed 3GL with rich libraries.

SQL is 4GL

SELECT * FROM students WHERE grade = "A" — you describe WHAT data you want, not HOW the database retrieves it.

🔄

Language Translators

Converting human-written code to machine code

Compiler

Translates the ENTIRE high-level source program into machine code (an executable file) at once. Errors reported after full scan. Resulting program runs fast.

Fast execution, distributable binary

Slow compilation; all errors before you can run

eg: GCC (C/C++), javac (Java), rustc

Interpreter

Translates and executes the source program LINE BY LINE. Stops at first error. No separate executable file created.

Easy debugging; immediate feedback; platform-independent

Slower execution (re-translates each run)

eg: Python interpreter, JavaScript V8, Ruby

Assembler

Converts assembly language (mnemonics) into machine code. One-to-one mapping: each assembly instruction → one machine instruction.

Direct hardware control; efficient code

Architecture-specific; not portable

eg: NASM, MASM, GAS (GNU Assembler)

Key distinction: A compiler processes the whole program and creates an executable file you can run repeatedly without the compiler. An interpreter never creates an executable — each run requires the interpreter present. That is why Python scripts need Python installed to run, but a compiled C program is standalone.

📱

Application & Utility Software

Software that serves end users and maintains systems

Word Processing

MS Word, LibreOffice Writer

Create, edit, format, and print text documents. Features: spell check, templates, mail merge.

Spreadsheet

MS Excel, Google Sheets

Tabular data with formulas, charts, pivot tables. Used for financial modelling, analysis.

Presentation

PowerPoint, Impress

Slide-based visual presentations with animations, graphics, transitions.

Database Management

MS Access, MySQL, Oracle

Store, organize, query large datasets. Structured Query Language (SQL).

Web Browser

Chrome, Firefox, Edge

Fetches and renders web pages. Handles HTML, CSS, JavaScript.

Image/Video Editing

Photoshop, Premiere

Create, edit, enhance digital photos and videos. Professional creative tools.

Utility Software

Antivirus

Detects and removes malware. eg: Avast, Norton, Windows Defender

Disk Defragmenter

Reorganizes fragmented disk data for faster HDD access. (Not needed for SSDs)

Backup Software

Creates copies of data to protect against loss. eg: Time Machine, Backup & Restore

Disk Cleanup

Removes temporary files, cache, and unused data to free space.

Compression Tool

Reduces file sizes. eg: WinZIP, 7-Zip, WinRAR (.zip, .rar, .7z formats)

Screen Capture

Captures screenshots or screen recordings. eg: Snipping Tool, OBS Studio

Analytical Questions

Exam-style questions with model answers

📋

Unit 3 Summary

Core topics and important exam questions

Core Topics Covered

Definition of software and program

System software vs Application software (with correct examples)

Operating System — definition, functions, types

Programming languages — 1GL to 5GL

Language translators: Compiler, Interpreter, Assembler

Utility software examples (antivirus, defragmenter, backup)

Open source vs proprietary software

Application software categories (word processor, spreadsheet, etc.)

Important Exam Questions

Differentiate between system software and application software with examples. (5 marks)

What is an operating system? Explain its functions. (5 marks)

Differentiate between compiler and interpreter with examples. (5 marks)

Explain the generations of programming languages (1GL–5GL). (10 marks)

What is utility software? Give four examples with brief descriptions. (5 marks)

Describe the types of operating systems with examples. (10 marks)

Syllabus Coverage Checklist

Introduction to software and program

Types of software: system and application

Operating system — functions and types

Utility software

Virus and antivirus software

Programming languages (1GL–5GL)

Types of language translator

Linux correctly classified as system software (OS)

🧠

How to Remember This Unit

Mnemonics for software concepts

Translator comparison: "CIA"

Compiler=whole program at once · Interpreter=line by line · Assembler=assembly language only

OS functions: "PMFDS"

P=Process · M=Memory · F=File · D=Device · S=Security management

Language generations: "M-A-H-Q-AI"

1=Machine · 2=Assembly · 3=High-level · 4=Query/4GL · 5=AI/Constraint

System vs Application

System software is the FOUNDATION (OS, drivers) — runs the machine. Application software USES the foundation to serve users.

Unit 3 Quiz

1. Which of the following is an example of system software?

2. A compiler differs from an interpreter in that a compiler:

3. Assembly language uses _____ instead of binary codes.

4. Which OS function manages when and for how long each process uses the CPU?

5. A 5GL (5th Generation Language) is characterized by:

BCAStudyHub

Your complete interactive study guide for TU BCA Semester I — covering all subjects with interactive tools, past papers, and exam prep.

TU BCASemester I

Program Info

University
Tribhuvan University
Program
BCA — Bachelor in Computer Application
Semester
I (First)
Subjects
5 (4 live, 1 coming soon)

Made by SawnN