# OperatingSystems_Lab_KTU_S4
 Most of the programs specified in Operating Systems lab for CSE S4 KTU

## Programs
### Cycle 1 (Linux Commands)

### Cycle 2 (Shell Script)
1. Write a shell script that computes the gross salary of an employee according to the following rules:<br />   (i) if basic salary is < 1500 then HRA =10% of the basic and DA =90% of the basic.<br />   (ii) If basic salary is >=1500 then HRA =Rs.500 and DA=98% of the basic
2. Write a shell script to print all armstrong numbers between two numbers.
3. Write a shell script to find smallest of 3 numbers that are read from keyboard.
4. Write a shell script to validate password strength. Here are a few assumptions for the password string:<br />   Length should be minimum of 8 characters.<br />   Should contain both small and capital case letters, atleast a digit and an underscore(_).<br />   If the password doesn't comply with any of the above conditions, then the script should report it as a "Weak Password".
5. Write a shell script that generate all 3 digit numbers that contain only the digits 0, 1, 2, 3.(number does not start with 0)
6. Write a shell script that finds the smallest prime number greater than n which is palindromic.
7. Write a shell script that sort n numbers.
8. Write a shell script that performs linear search.
9. Write a shell script that print the following pattern upto n rows, for a given n.<br />
1<br />
2 2<br />
3 3 3<br />
4 4 4 4<br />
.<br />
.<br />
n n n n n ..<br />
10. Write a shell script that prints the diamond pattern upto n rows, for a given n.
11. To write a shell script that accepts one or more file name as arguments and converts them to uppercase, provided they exist in the current directory.
12. Write a shell script which accepts any number of arguments and prints them in the reverse order.

### Cycle 3 (System Calls)
1. Program to illustrate fork, getpid, exit, wait
2. Program illustrating exec
3. Program illustrating stat
4. Program illustrating opendir, readdir,close

### Cycle 4 (I/O System calls)
1. Program implementing open, read, write and close

### Cycle 5 (CPU Scheduling Algorithms)
1. Round Robin Scheduling
2. First Come First Serve Scheduling
3. Shortest Job First Scheduling
4. Priority Scheduling

### Cycle 6 (IPC using shared memory)
1. Program to write into the memory
2. Program to read from memory

### Cycle 7 (Semaphores)
1. Dining Philosophers Problem.
2. Readers Writers Problem.

### Cycle 8 (Memory Allocation)
1. Implement memory allocation for fixed partitions using the following methods:<br />   First Fit Allocation<br />   Best Fit Allocation<br />   Worst Fit Allocation

### Cycle 9 (Page Replacement Algorithms)
1. Implement Page Replacement Algorithms:<br />   FCFS<br />   LRU<br />   LFU

### Cycle 10
1. Implement Banker's Algorithm for Deadlock Avoidance.
2. To implement the deadlock detection algorithm for deadlock detection with resource request.

### Cycle 11 (Disk Scheduling Algorithms)
1. To simulate the disk scheduling algorithms

## Contributions
If any Issues, feel free to open an issue or contact me at [my email](mailto:ashiqar2002@gmail.com)
<br />Contributions are welcome. Please open an issue or a pull request to contribute.

Star the repository if you like it. Thanks! :smile:
