Skip to main content
  1. Resources/
  2. Study Materials/
  3. Information Technology Engineering/
  4. IT Semester 3/
  5. Linux Operating System (4331602)/

Linux Operating System (4331602) - Summer 2024 Solution

·
Study-Material Solutions Linux 4331602 2024 Summer
Milav Dabgar
Author
Milav Dabgar
Experienced lecturer in the electrical and electronic manufacturing industry. Skilled in Embedded Systems, Image Processing, Data Science, MATLAB, Python, STM32. Strong education professional with a Master’s degree in Communication Systems Engineering from L.D. College of Engineering - Ahmedabad.
Table of Contents

Question 1(a) [3 marks]
#

Define Operating System and give its goal.

Answer:

Operating System Definition: A program that acts as an interface between computer hardware and users, managing system resources and controlling program execution.

Goals of Operating System:

GoalDescription
Resource ManagementEfficiently allocate CPU, memory, I/O devices
User ConvenienceProvide easy-to-use interface
System ProtectionSecure system from unauthorized access

Mnemonic: “RUS” - Resource management, User convenience, System protection


Question 1(b) [4 marks]
#

Give name Components of Computer System & Explain need of Operating system.

Answer:

Computer System Components:

graph TD
    A[Computer System] --> B[Hardware]
    A --> C[Operating System]
    A --> D[Application Programs]
    A --> E[Users]
    
    B --> F[CPU]
    B --> G[Memory]
    B --> H[I/O Devices]

Need of Operating System:

  • Resource Manager: Controls hardware allocation
  • Interface Provider: Easy communication between user and hardware
  • Security: Protects system from threats
  • Error Handling: Manages system errors efficiently

Mnemonic: “RISE” - Resource management, Interface, Security, Error handling


Question 1(c) [7 marks]
#

Explain below types of Operating system.

Answer:

I. Batch Operating System

FeatureDescription
ProcessingJobs processed in batches without user interaction
EfficiencyHigh throughput, low user interaction
ExampleIBM mainframes

II. Multiprogramming Operating System

FeatureDescription
ConceptMultiple programs in memory simultaneously
CPU UsageBetter CPU utilization
AdvantageReduced idle time

III. Time Sharing Operating System

FeatureDescription
Time SlicesCPU time divided among users
ResponseQuick response time
ExampleUnix, Linux

Mnemonic: “BMT” - Batch (no interaction), Multiprogramming (many programs), Time-sharing (time slices)


Question 1(c) OR [7 marks]
#

Explain Linux Architecture & characteristics with its components.

Answer:

Linux Architecture:

graph TD
    A[User Applications] --> B[System Libraries]
    B --> C[System Call Interface]
    C --> D[Linux Kernel]
    D --> E[Hardware]
    
    D --> F[Process Management]
    D --> G[Memory Management]
    D --> H[File System]
    D --> I[Device Drivers]

Linux Characteristics:

CharacteristicDescription
Open SourceFree and modifiable
MultiuserMultiple users simultaneously
MultitaskingMultiple processes concurrently
PortableRuns on various hardware

Components:

  • Kernel: Core of operating system
  • Shell: Command interpreter
  • File System: Organizes data storage

Mnemonic: “COMP” - Core (kernel), Open source, Multiuser, Portable


Question 2(a) [3 marks]
#

Describe Process Control Block. And define (1) PID (2) stack pointer (3) program counter

Answer:

Process Control Block (PCB): Data structure containing process information for OS management.

Definitions:

TermDefinition
PIDProcess Identifier - unique number for each process
Stack PointerPoints to top of process stack
Program CounterContains address of next instruction

Mnemonic: “PSP” - PID (identifier), Stack pointer (top), Program counter (next)


Question 2(b) [4 marks]
#

Describe the Process Model and Process states

Answer:

Process Model: Conceptual representation of how processes are managed by OS.

Process States:

stateDiagram-v2
    [*] --> New
    New --> Ready
    Ready --> Running
    Running --> Waiting
    Running --> Ready
    Waiting --> Ready
    Running --> Terminated
    Terminated --> [*]
StateDescription
NewProcess being created
ReadyWaiting for CPU
RunningExecuting instructions
WaitingWaiting for I/O
TerminatedProcess finished

Mnemonic: “NRRWT” - New, Ready, Running, Waiting, Terminated


Question 2(c) [7 marks]
#

Demonstrate Scheduling Algorithm:(I) First Come First Serve, (II) Shortest Job First

Answer:

I. First Come First Serve (FCFS)

ProcessArrival TimeBurst TimeCompletion TimeTurnaround Time
P10444
P21376
P32297

Average Turnaround Time = (4+6+7)/3 = 5.67

II. Shortest Job First (SJF)

ProcessArrival TimeBurst TimeCompletion TimeTurnaround Time
P32242
P21376
P1041111

Average Turnaround Time = (2+6+11)/3 = 6.33

Mnemonic: “FS” - FCFS (First order), SJF (Shortest first)


Question 2(a) OR [3 marks]
#

Define Race condition, Mutual Exclusion

Answer:

TermDefinition
Race ConditionMultiple processes access shared data simultaneously causing inconsistent results
Mutual ExclusionOnly one process can access critical section at a time

Example: Two processes updating same bank account balance.

Mnemonic: “RM” - Race (simultaneous access), Mutual (one at a time)


Question 2(b) OR [4 marks]
#

Define all Throughput, Turnaround Time, Waiting Time, Response Time

Answer:

TermDefinition
ThroughputNumber of processes completed per unit time
Turnaround TimeTotal time from submission to completion
Waiting TimeTime spent waiting in ready queue
Response TimeTime from submission to first response

Formula Table:

MetricFormula
Turnaround TimeCompletion Time - Arrival Time
Waiting TimeTurnaround Time - Burst Time
Response TimeFirst CPU Time - Arrival Time

Mnemonic: “TTWR” - Throughput, Turnaround, Waiting, Response


Question 2(c) OR [7 marks]
#

Explain Round Robin Algorithm with example.

Answer:

Round Robin: Each process gets equal CPU time slice (quantum).

Example (Time Quantum = 2):

ProcessBurst Time
P15
P23
P34

Execution Timeline:

0-P-1--2-P-2--4-P-3--6-P-1--8-P-3--10P-1--12
ProcessCompletion TimeTurnaround Time
P11212
P266
P31010

Average Turnaround Time = (12+6+10)/3 = 9.33

Advantages:

  • Fair: Equal time to all processes
  • Responsive: Good for interactive systems

Mnemonic: “RR-FE” - Round Robin gives Fair and Equal time


Question 3(a) [3 marks]
#

Give File Access Methods type

Answer:

Access MethodDescription
SequentialRead/write in order from beginning
DirectAccess any record directly
IndexedUse index to locate records

Mnemonic: “SDI” - Sequential (order), Direct (any), Indexed (index)


Question 3(b) [4 marks]
#

Give Deadlock characteristics and Describe: Deadlock Prevention, Deadlock Avoidance

Answer:

Deadlock Characteristics:

ConditionDescription
Mutual ExclusionResources cannot be shared
Hold and WaitProcess holds resource while waiting
No PreemptionResources cannot be forcibly taken
Circular WaitCircular chain of waiting processes

Deadlock Prevention: Remove any one of four conditions.

Deadlock Avoidance: Use algorithms like Banker’s algorithm to avoid unsafe states.

Mnemonic: “MHNC” - Mutual exclusion, Hold and wait, No preemption, Circular wait


Question 3(c) [7 marks]
#

Explain the File Allocation Methods Contiguous, linked, indexed

Answer:

File Allocation Methods:

MethodDescriptionAdvantagesDisadvantages
ContiguousSequential blocksFast accessExternal fragmentation
LinkedScattered blocks with pointersNo fragmentationSlow random access
IndexedIndex block contains addressesFast random accessExtra overhead

Contiguous Allocation:

FileA:[1][2][3][4][5]

Linked Allocation:

FileA:[1][7][3][9]NULL

Indexed Allocation:

IFnidleexbBlloocckks::[[11,]3[,37],[97,]1[29]][12]

Mnemonic: “CLI” - Contiguous (together), Linked (pointers), Indexed (index block)


Question 3(a) OR [3 marks]
#

Give knowledge Linux File System Structure

Answer:

Linux File System Hierarchy:

behvutitoasmncmrrp//e//((((((SCUVUTyosasesneremtfrirpeiaomgdbpruilrabrreoriaegyntcdraitaafrootmiinraslei))esfes)is)l)es)
DirectoryPurpose
/binEssential system binaries
/etcSystem configuration files
/homeUser home directories

Mnemonic: “BEH” - Bin (binaries), Etc (config), Home (users)


Question 3(b) OR [4 marks]
#

Explain Critical Section and Semaphore with example.

Answer:

Critical Section: Code segment accessing shared resources.

Semaphore: Synchronization tool using counter variable.

Example:

# Binary Semaphore
wait(S):
  while S <= 0 do nothing
  S = S - 1

signal(S):
  S = S + 1

Critical Section Structure:

SectionDescription
EntryRequest permission
CriticalAccess shared resource
ExitRelease permission
RemainderOther code

Mnemonic: “ECER” - Entry, Critical, Exit, Remainder


Question 3(c) OR [7 marks]
#

Define and explain Deadlock Avoidance, Deadlock Detection and Recovery

Answer:

Deadlock Avoidance:

  • Use Banker’s Algorithm
  • Check if resource allocation leads to safe state

Deadlock Detection:

  • Periodically check for deadlock using Wait-for Graph

Deadlock Recovery Methods:

MethodDescription
Process TerminationKill deadlocked processes
Resource PreemptionTake resources from processes
RollbackReturn to previous safe state

Banker’s Algorithm Steps:

  1. Check if request ≤ available resources
  2. Simulate allocation
  3. Check if safe state exists

Wait-for Graph:

graph LR
    P1 --> P2
    P2 --> P3
    P3 --> P1

Mnemonic: “ADR-BWT” - Avoidance (Banker’s), Detection (Wait-for), Recovery (Terminate)


Question 4(a) [3 marks]
#

Why Need of file Protection explain?

Answer:

Need for File Protection:

ReasonDescription
PrivacyProtect personal data
SecurityPrevent unauthorized access
IntegrityMaintain data consistency

Protection Mechanisms:

  • Access Control Lists (ACL)
  • File Permissions (Read, Write, Execute)
  • User Authentication

Mnemonic: “PSI” - Privacy, Security, Integrity


Question 4(b) [4 marks]
#

Illustrate Program threats, System threats

Answer:

Program Threats:

ThreatDescription
VirusSelf-replicating malicious code
WormNetwork-spreading malware
Trojan HorseDisguised malicious program

System Threats:

ThreatDescription
Denial of ServiceOverwhelm system resources
Port ScanningFind vulnerable services
Man-in-MiddleIntercept communications

Protection Methods:

  • Antivirus Software
  • Firewalls
  • Regular Updates

Mnemonic: “VWT-DPM” - Virus, Worm, Trojan; DoS, Port scan, Man-in-middle


Question 4(c) [7 marks]
#

Briefly detailing Operating System security policies and procedures

Answer:

Security Policies:

Policy TypeDescription
Access ControlWho can access what resources
AuthenticationVerify user identity
AuthorizationDetermine user permissions
AuditMonitor and log activities

Security Procedures:

flowchart TD
    A[User Login] --> B[Authentication]
    B --> C[Authorization Check]
    C --> D[Resource Access]
    D --> E[Activity Logging]
    E --> F[Audit Review]

Implementation Steps:

  1. User Registration and credential setup
  2. Multi-factor Authentication
  3. Role-based Access Control
  4. Regular Security Audits

Common Security Measures:

  • Password Policies
  • Encryption
  • Backup Procedures
  • Incident Response Plans

Mnemonic: “AAAA” - Access control, Authentication, Authorization, Audit


Question 4(a) OR [3 marks]
#

Give idea Authentication and Authorization.

Answer:

TermDefinitionExample
AuthenticationVerify user identityUsername/password
AuthorizationDetermine access rightsFile permissions

Authentication Methods:

  • Password-based
  • Biometric
  • Token-based

Mnemonic: “AA” - Authentication (who you are), Authorization (what you can do)


Question 4(b) OR [4 marks]
#

Explain Operating System security policies and procedures

Answer:

Security Policies Framework:

ComponentPurpose
User ManagementControl user accounts
Data ProtectionSecure sensitive information
Network SecurityProtect communications
System MonitoringDetect threats

Implementation Procedures:

  1. Risk Assessment
  2. Policy Development
  3. Training Programs
  4. Regular Reviews

Mnemonic: “UDNS” - User management, Data protection, Network security, System monitoring


Question 4(c) OR [7 marks]
#

Detailing the Security measures in Operating System

Answer:

Comprehensive Security Measures:

LayerSecurity Measures
PhysicalServer room access, biometric locks
NetworkFirewalls, VPN, intrusion detection
SystemAntivirus, patches, access controls
ApplicationInput validation, secure coding
DataEncryption, backup, integrity checks

Access Control Matrix:

User/RoleFile AFile BPrinter
AdminRWXRWXRWX
User1RW-R–-W-
GuestR–

Security Implementation Timeline:

gantt
    title Security Implementation
    dateFormat  YYYY-MM-DD
    section Phase 1
    Risk Assessment    :2024-01-01, 30d
    Policy Development :2024-01-15, 45d
    section Phase 2
    System Hardening   :2024-02-01, 60d
    Training Program   :2024-02-15, 30d

Monitoring Tools:

  • Log Analysis
  • Intrusion Detection Systems
  • Vulnerability Scanners

Mnemonic: “PNSAD” - Physical, Network, System, Application, Data security


Question 5(a) [3 marks]
#

Give five Basic commands: calendar, date

Answer:

Basic Linux Commands:

CommandFunctionExample
calDisplay calendarcal 2024
dateShow current date/timedate +%d/%m/%Y
whoShow logged userswho
pwdPrint working directorypwd
clearClear screenclear

Command Examples:

# Display calendar for specific month
cal 6 2024

# Format date output
date "+%A, %B %d, %Y"

Mnemonic: “CDWPC” - Cal, Date, Who, Pwd, Clear


Question 5(b) [4 marks]
#

Explain Linux File and Directory Commands: ls, cat, mkdir, rmdir, pwd.

Answer:

File and Directory Commands:

CommandFunctionSyntaxExample
lsList directory contentsls [options] [path]ls -la
catDisplay file contentcat filenamecat file.txt
mkdirCreate directorymkdir dirnamemkdir newdir
rmdirRemove empty directoryrmdir dirnamermdir olddir
pwdPrint working directorypwdpwd

Usage Examples:

# List files with details
ls -l /home/user

# Create multiple directories
mkdir -p dir1/dir2/dir3

# Display file with line numbers
cat -n document.txt

Common Options:

  • ls -l: Long format
  • ls -a: Show hidden files
  • mkdir -p: Create parent directories

Mnemonic: “LCMRP” - List, Cat, Mkdir, Rmdir, Pwd


Question 5(c) [7 marks]
#

Understand and apply control statements Write a shell script to perform given operations: Write a shell script to find maximum number among three numbers.

Answer:

Shell Script for Maximum of Three Numbers:

#!/bin/bash
# Script to find maximum of three numbers

echo "Enter three numbers:"
read -p "First number: " num1
read -p "Second number: " num2
read -p "Third number: " num3

# Method 1: Using if-elif-else
if [ $num1 -ge $num2 ] && [ $num1 -ge $num3 ]; then
    max=$num1
elif [ $num2 -ge $num1 ] && [ $num2 -ge $num3 ]; then
    max=$num2
else
    max=$num3
fi

echo "Maximum number is: $max"

# Method 2: Using nested if
if [ $num1 -gt $num2 ]; then
    if [ $num1 -gt $num3 ]; then
        echo "Maximum: $num1"
    else
        echo "Maximum: $num3"
    fi
else
    if [ $num2 -gt $num3 ]; then
        echo "Maximum: $num2"
    else
        echo "Maximum: $num3"
    fi
fi

Control Statements Used:

StatementPurpose
if-elif-elseMultiple condition checking
readUser input
echoOutput display
Comparison operators-ge, -gt, -lt

Comparison Operators:

  • -eq: Equal to
  • -ne: Not equal to
  • -gt: Greater than
  • -ge: Greater than or equal to
  • -lt: Less than
  • -le: Less than or equal to

Mnemonic: “IER” - If (condition), Echo (output), Read (input)


Question 5(a) OR [3 marks]
#

What is Linux Process commands: top, ps, kill

Answer:

Linux Process Commands:

CommandFunctionUsage
topDisplay running processestop
psShow process statusps aux
killTerminate processkill PID

Command Details:

top command:

  • Shows real-time process information
  • CPU and memory usage
  • Load average

ps command options:

  • ps aux: All processes with details
  • ps -ef: Full format listing

kill command:

  • kill -9 PID: Force kill process
  • killall process_name: Kill by name

Mnemonic: “TPK” - Top (real-time), Ps (status), Kill (terminate)


Question 5(b) OR [4 marks]
#

Linux File and Directory Commands: rm, mv,split,diff, grep

Answer:

Advanced File Commands:

CommandFunctionSyntaxExample
rmRemove files/directoriesrm [options] filerm -rf folder
mvMove/rename filesmv source destmv old.txt new.txt
splitSplit large filessplit -l lines filesplit -l 100 data.txt
diffCompare filesdiff file1 file2diff old.txt new.txt
grepSearch text patternsgrep pattern filegrep "error" log.txt

Usage Examples:

# Remove directory recursively
rm -rf /tmp/oldfiles

# Move and rename
mv /home/user/doc.txt /backup/document.txt

# Split file into 50-line chunks
split -l 50 largefile.txt chunk_

# Find differences between files
diff -u original.txt modified.txt

# Search for pattern in multiple files
grep -r "TODO" /project/src/

Common Options:

  • rm -i: Interactive mode
  • mv -i: Prompt before overwrite
  • grep -i: Case insensitive search

Mnemonic: “RMSDG” - Remove, Move, Split, Diff, Grep


Question 5(c) OR [7 marks]
#

Write a shell script to read five numbers from user and find average of five numbers.

Answer:

Shell Script for Average of Five Numbers:

#!/bin/bash
# Script to calculate average of five numbers

echo "=== Average Calculator ==="
echo "Enter five numbers:"

# Read five numbers
read -p "Enter number 1: " num1
read -p "Enter number 2: " num2
read -p "Enter number 3: " num3
read -p "Enter number 4: " num4
read -p "Enter number 5: " num5

# Calculate sum
sum=$((num1 + num2 + num3 + num4 + num5))

# Calculate average
average=$((sum / 5))

# Display results
echo "================================"
echo "Numbers entered: $num1, $num2, $num3, $num4, $num5"
echo "Sum: $sum"
echo "Average: $average"
echo "================================"

# Enhanced version with decimal precision
sum_float=$(echo "$num1 + $num2 + $num3 + $num4 + $num5" | bc)
avg_float=$(echo "scale=2; $sum_float / 5" | bc)
echo "Precise Average: $avg_float"

Alternative Method using Arrays:

#!/bin/bash
# Using array approach

declare -a numbers
sum=0

echo "Enter 5 numbers:"
for i in {0..4}; do
    read -p "Number $((i+1)): " numbers[i]
    sum=$((sum + numbers[i]))
done

average=$((sum / 5))

echo "Numbers: ${numbers[@]}"
echo "Sum: $sum"
echo "Average: $average"

Script Features:

FeatureDescription
Input ValidationCheck for numeric input
User-friendly OutputClear formatting
Array UsageStore multiple values
Arithmetic OperationsSum and division

Mathematical Operations in Bash:

  • $((expression)): Integer arithmetic
  • bc: Calculator for floating point
  • expr: Expression evaluation

Mnemonic: “RSAR” - Read (input), Sum (add), Average (divide), Result (output)

Related

Electronic Measurements and Instruments (4331102) - Summer 2024 Solution
Study-Material Solutions Electronic-Measurements 4331102 2024 Summer
Communication Engineering (1333201) - Summer 2024 Solution
16 mins
Study-Material Solutions Communication-Engineering 1333201 2024 Summer
Data Structure with Python (4331601) - Summer 2024 Solution
Study-Material Solutions Data-Structure Python 4331601 2024 Summer
Electronic Circuits & Networks (4331101) - Summer 2024 Solution
Study-Material Solutions Electronic-Circuits Networks 4331101 2024 Summer
Mobile & Wireless Communication (4351104) - Summer 2024 Solution
Study-Material Solutions Mobile-Communication 4351104 2024 Summer
Advanced Java Programming (4351603) - Summer 2024 Solution
Study-Material Solutions Advanced-Java 4351603 2024 Summer