Practical Lab Guide: Linux and Windows
Unit Concept Linux Practical Windows Practical
Unit 1: Exploring OS - Use the ls, cd, and pwd commands - Explore File Explorer and
Introduction to Components to navigate the Linux file system. navigate through
OS directories (e.g., C:,
Users).
Understanding - Identify the Linux distribution - Check the Windows
OS Types using lsb_release -a. version
using winver or systeminf
o.
OS Functions - Use top or htop to monitor system - Use Task Manager to
processes and resource usage. monitor processes, CPU,
memory, and disk usage.
OS Challenges - Simulate a high CPU usage scenario - Simulate high CPU usage
using stress and observe system using a script or
performance. application and observe
Task Manager.
Unit 2: Process - Use ps, pstree, and kill commands - Use Task Manager to
Processes & Management to view and manage processes. view and terminate
Threads processes.
Thread - Write a simple multithreaded - Write a simple
Management program in C or Python and run it on multithreaded program in
Linux. C# or Python and run it on
Windows.
Process - Simulate scheduling algorithms - Simulate scheduling
Scheduling (e.g., FCFS, Round Robin) using a algorithms using a script
script or program. or program.
Inter-Process - Use pipe or mkfifo to create a - Use Windows Named
Communicatio named pipe and demonstrate IPC. Pipes to demonstrate IPC
n (IPC) between processes.
Unit 3: File File System - Use ls, df, and du commands to - Use File Explorer and
Systems Exploration explore file systems and disk usage. Disk Management to
explore file systems and
disk usage.
File Operations - Create, read, write, and delete files - Create, read, write, and
using touch, cat, echo, and rm. delete files using Notepad
and Command Prompt.
Directory - Create, list, and delete directories - Create, list, and delete
Management using mkdir, ls, and rmdir. directories using
Command Prompt
(mkdir, dir, rmdir).
File - Use chmod, chown, and chgrp to - Modify file permissions
Permissions modify file permissions and using File Explorer
ownership. (Properties > Security).
Unit 4: Security User - Create a new user - Create a new user using
& Protection Authentication using useradd and set a password Control Panel > User
using passwd. Accounts.
Access Control - Modify file permissions - Modify file permissions
using chmod to restrict access to using File Explorer
files. (Properties > Security).
Data - Encrypt a file using gpg (GNU - Encrypt a file using
Encryption Privacy Guard) BitLocker or built-in
encryption tools.
Security - Set a password policy - Set a password policy
Policies using pam_cracklib or pam_pwqualit using Group Policy Editor
y. (gpedit.msc).
Unit 5: Critical Section - Write a program in C or Python to - Write a program in C# or
Concurrency & Problem demonstrate the Critical Section Python to demonstrate
Synchronizatio Problem and solve it using locks. the Critical Section
n Problem and solve it using
locks.
Race - Write a program where two - Write a program where
Conditions threads increment a shared variable two threads increment a
without synchronization. shared variable without
synchronization.
Synchronizatio - Implement a producer-consumer - Implement a producer-
n Mechanisms problem using semaphores in C or consumer problem using
Python. semaphores in C# or
Python.
Deadlocks - Simulate a deadlock scenario using - Simulate a deadlock
a program and implement a solution scenario using a program
(e.g., resource ordering). and implement a solution
(e.g., resource ordering).
Detailed Practical Activities
Unit 1: Introduction to OS
- Linux:
- Use `ls`, `cd`, and `pwd` to navigate the file system.
- Use `top` or `htop` to monitor system processes and resource usage.
- Simulate high CPU usage with `stress` and observe system performance.
- Windows:
- Explore File Explorer and navigate through directories.
- Use Task Manager to monitor processes and resource usage.
- Simulate high CPU usage using a script or application.
Unit 2: Processes & Threads
- Linux:
- Use `ps`, `pstree`, and `kill` to manage processes.
- Write a multithreaded program in C or Python.
- Simulate scheduling algorithms (e.g., FCFS, Round Robin).
- Use `pipe` or `mkfifo` for IPC.
- Windows:
- Use Task Manager to manage processes.
- Write a multithreaded program in C# or Python.
- Simulate scheduling algorithms.
- Use Named Pipes for IPC.
Unit 3: File Systems
- Linux:
- Use `ls`, `df`, and `du` to explore file systems.
- Perform file operations using `touch`, `cat`, `echo`, and `rm`.
- Manage directories using `mkdir`, `ls`, and `rmdir`.
- Modify file permissions using `chmod`, `chown`, and `chgrp`.
- Windows:
- Explore file systems using File Explorer and Disk Management.
- Perform file operations using Notepad and Command Prompt.
- Manage directories using Command Prompt (`mkdir`, `dir`, `rmdir`).
- Modify file permissions using File Explorer.
Unit 4: Security & Protection
- Linux:
- Create a user using `useradd` and set a password using `passwd`.
- Modify file permissions using `chmod`.
- Encrypt a file using `gpg`.
- Set a password policy using `pam_cracklib` or `pam_pwquality`.
- Windows:
- Create a user using Control Panel > User Accounts.
- Modify file permissions using File Explorer.
- Encrypt a file using BitLocker.
- Set a password policy using Group Policy Editor.
Unit 5: Concurrency & Synchronization
- Linux:
- Write a program to demonstrate the Critical Section Problem and solve it using locks.
- Write a program to demonstrate race conditions.
- Implement a producer-consumer problem using semaphores.
- Simulate a deadlock scenario and implement a solution.
- Windows:
- Write a program to demonstrate the Critical Section Problem and solve it using locks.
- Write a program to demonstrate race conditions.
- Implement a producer-consumer problem using semaphores.
- Simulate a deadlock scenario and implement a solution.