Linux Operating System (4331602) - Summer 2024 Solution

Solution guide for Linux Operating System (4331602) Summer 2024 exam

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:

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:

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:

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:

goat
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:

goat

Linked Allocation:

goat

Indexed Allocation:

goat

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:

goat
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:

Bash

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:

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:

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:

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:

Bash

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:

Bash

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:

Bash

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:

Bash

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:

Bash

Alternative Method using Arrays:

Bash

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)