<!-- image -->

## GUJARAT TECHNOLOGICAL UNIVERSITY

Program Name: Diploma Engineering Level: Diploma Branch: Computer Engineering / Computer Science &amp; Engineering / Cyber System &amp; Information Security Subject Code : DI03000041 Subject Name : Fundamentals Operating System

| W.E. F. Academic Year:   | 2024-25   |
|--------------------------|-----------|
| Semester:                | 3 nd      |
| Category of the Course:  | PCC       |

| Prerequisite:   | Basic computer literacy, Logical Thinking and Command Line Interface                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|-----------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Rationale:      | As a  core  subject  of  Computer  Engineering,  this  course  enables  to  understand  importance  of  Operating  System,  its  functionalities  to  manage  resources  of  Computer  and  Peripherals,  program  development  and  its  execution.    An  operating system (OS) is the core software that manages hardware resources and  provides  essential  services  to  applications.  Every  student  of  computer  science  must therefore understand basic structure of an operating system. After learning  this  subject  student  will  be  able  to  discriminate  between  various  types  of  operating  systems,  its  processor,  processes,  and  memory  and  file  management.  The subject also emphasizes on Linux utilities and scripting. |

Course Outcome:

After Completion of the Course, Student will able to:

|   No | Course Outcomes                                                                                     | RBT Level     |
|------|-----------------------------------------------------------------------------------------------------|---------------|
|   01 | Differentiate operating systems based on their features.                                            | Understanding |
|   02 | Apply  process  scheduling  algorithms  to  calculate  turnaround  time  and  average waiting time. | Apply         |
|   03 | Interpret various memory management techniques.                                                     | Understanding |
|   04 | Interpret various file& directory management techniques.                                            | Understanding |
|   05 | Execute basic Linux commands and Shell scripts.                                                     | Apply         |

*Revised Bloom's Taxonomy (RBT)

<!-- image -->

## GUJARAT TECHNOLOGICAL UNIVERSITY

Program Name: Diploma Engineering Level: Diploma Branch: Computer Engineering / Computer Science &amp; Engineering / Cyber System &amp; Information Security Subject Code : DI03000041 Subject Name : Fundamentals Operating System

Teaching and Examination Scheme:

| Teaching Scheme  (in Hours)   | Teaching Scheme  (in Hours)   | Teaching Scheme  (in Hours)   | Total  Credits  L+T+  (PR/2)   | Assessment Pattern and Marks   | Assessment Pattern and Marks   | Assessment Pattern and Marks   | Assessment Pattern and Marks   | Total   |
|-------------------------------|-------------------------------|-------------------------------|--------------------------------|--------------------------------|--------------------------------|--------------------------------|--------------------------------|---------|
|                               |                               |                               |                                | Theory                         | Theory                         | Tutorial / Practical           | Tutorial / Practical           | Marks   |
| L                             | T                             | PR                            | C                              | ESE  (E)                       | PA(M)                          | PA(I)                          | ESE (V)                        |         |
| 3                             | 0                             | 2                             | 4                              | 70                             | 30                             | 20                             | 30                             | 150     |

Course Content:

|   Unit  No. | Content                                                                                                                                                                                                                                                                                                                                                                          |   No. of  Hours |   % of  Weightage |
|-------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-------------------|
|           1 | Introduction of Operating System   Fundamental  Goals  of  Operating  system,  Operating  System  services  Types of Operating Systems:  Multi  programming,  Time  sharing,  Real  Time,  Multithreading,  Distributed, Embedded Operating System  OS structure: Layered, Monolithic, Microkernel Operating Systems  Case Study: Linux, Latest Windows Operating System, Mac OS |              06 |                13 |
|           2 | Concepts of Process  Overview  of  the  Process  &  threads,  Process  Life  Cycle/  Process  States, Process Control Block (PCB)  Process Scheduling  Scheduling Criteria, Scheduling Algorithms: First Come First  Serve,  Shortest  Job  First,  Round  Robin,  Non-Preemptive  Priority based Scheduling                                                                     |              14 |                31 |

<!-- image -->

## GUJARAT TECHNOLOGICAL UNIVERSITY

Program Name: Diploma Engineering Level: Diploma Branch: Computer Engineering / Computer Science &amp; Engineering / Cyber System &amp; Information Security Subject Code : DI03000041 Subject Name : Fundamentals Operating System

|   2. | Overview of Schedulers  Tyes  of  Schedulers:  Long  term  Schedulers,  Short  Term  Schedulers,  Medium  Term  Schedulers,  Scheduling  Queues,  Context Switch  Process Synchronization  Critical Section, Mutual Exclusion, Race Condition   Deadlock   Definition,  Conditions  for  Deadlock,  Dealing  with  Deadlock:  ignorance of deadlock, Detection and recovery, Dynamic avoidance,  Deadlock Prevention, Resource allocation graph                                                                                                                                                             |    |    |
|------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----|----|
|    3 | Memory Management  Logical and physical address, Swapping  Memory Allocation  1. Contiguous memory allocation:   Multiprogramming  with  Fixed  partition,  Multiprogramming  with  dynamic  partition,  Internal  and  External  Fragmentation  and  compaction,  Memory  relocation  and  protection  mechanism,  Allocation techniques - First Fit, Best Fit and Worst Fit  2. Non-Contiguous Memory allocation   Overview of Paging: Address translation using basic method  of  paging,  Overview  of  Segmentation:  Address  translation  using Segmentation  Page replacement algorithm - FIFO, LRU | 10 | 23 |

<!-- image -->

## GUJARAT TECHNOLOGICAL UNIVERSITY

Program Name: Diploma Engineering Level: Diploma Branch: Computer Engineering / Computer Science &amp; Engineering / Cyber System &amp; Information Security Subject Code : DI03000041 Subject Name : Fundamentals Operating System

| 4   | Files System  Files  Attributes,  File  Operations,  File  Types,  File  Paths:  Absolute  file path, Relative file path, File Security and Protection mechanism  Directory System  Directory  Structures:  Single  Level,  Two  Level,  Tree  Structured,  Acyclic Graph, General Graph Directory Structure  Disk space Allocation Methods - Contiguous, Linked, Indexed  Secondary Storage Structure  Physical Structure of Disk  Disk Scheduling Algorithm - SCAN, CSCAN                                                                                               |   06 |   13 |
|-----|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------|------|
| 5   | Unix/LinuxOperatingSystem  Linux Introduction, Basic architecture of Unix/ Linux  Basics of Unix/Linux Programming  Introduction to shell and commands  Commands:  pwd,  cd,  mkdir,  rmdir,  ls,  cat,  cp,  rm,  mv,  wc,  split,  cmp, comm, diff, head, tail, grep, sort  Editing files with 'vi', 'vim', 'gedit', 'gcc'   Linux Basic shell scripts  Read using command line argument  Arithmetic Operators, logical operators, Relational operators  Evaluate expression using test command  Branching: if, if...else, case  Basic of Looping: while loop, for loop |   09 |   20 |
|     | Total                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |   45 |  100 |

Suggested Specification Table with Marks (Theory):

Distribution of Theory Marks (in %)

|   R Level |   U Level |   A Level |   N Level |   E Level |   C Level |
|-----------|-----------|-----------|-----------|-----------|-----------|
|        26 |        44 |        30 |         0 |         0 |         0 |

Where R: Remember; U: Understanding; A: Application, N: Analyze and E: Evaluate C: Create (as per Revised Bloom's Taxonomy)

<!-- image -->

## GUJARAT TECHNOLOGICAL UNIVERSITY

Program Name: Diploma Engineering Level: Diploma

Branch: Computer Engineering / Computer Science &amp; Engineering / Cyber System &amp; Information Security Subject Code : DI03000041

Subject Name : Fundamentals Operating System

References/Suggested Learning Resources:

## (a) Books:

1. Abraham Silberschatz, Peter B Galvin, Gerg Gagne 'Operating System Concepts, 9 th Edition' , WILEY, 2018, ISBN-13 - 978-8126554270
2. Sumitabha Das, 'Unix Concepts And Application, 4 th Edition', MGH (1 July 2017), ISBN-13 978-0070635463
3. Andrew  Tanenbaum,  Herbert  Bos,  'Modern  Operating  System  3 rd Edition',  2015,Pearson, ISBN-13 - 9780133591620
4. Milan Milenkovic, 'Operating System, 2 nd  Edition', 2014, MGH, ISBN-13: 978-0-07- 4632727

## (b) Open source software and website:

1. https://www.os-course.eu
2. https://www.linux.org
3. https://process-scheduling-solver.boonsuen.com/
4. http://cpuburst.com/ganttcharts.html
5. https://nptel.ac.in
6. https://www.youtube.com
7. https://www.edx.org
8. https://www.coursera.org/courses?query=operating%20system
9. https://www.udemy.com
10. https://www.onlinegdb.com/online\_bash\_shell

## Suggested Course Practical List:

- 1) Compare Windows, Linux OS and Mac OS. (latest version)

## 2) Process Scheduling algorithm

- a) UsingFCFS,  SJFandRoundrobinalgorithm,  drawGanttchart  for  Process  P0,  P1,  P2,  and  P3. Arrival  time  0,  1,  2,  3  and  process  execution  Time  5,  3,  8,  6  respectively.  Find  Average turnaround time and average waiting time.
- b) UsingFCFS,  SJFandRoundrobinalgorithm,  drawGanttchart  for  Process  P0,  P1,  P2,  and  P3. Arrival  time  3,  0,  4,  5  and  process  execution  Time  5,  4,  2,  4  respectively.  Find  Average turnaround time and average waiting time.
- 3) SolveexamplesusingFirstfit,  Best  fit,  Worst  fit  Algorithms  where  Jobs  J1  with  20KB  ,  J2  with 200KB , J3 with 500KB, J4 with 50KB, J5 with 150 KB memory requests
4. Consider memory partitions of size 50 KB, 300 KB, 75 KB, 700 KB and 100 KB.
- 4) Solve Using LRU and FIFO. Consider the page reference string of size 12: 1, 2, 3, 4, 5, 1, 3, 1, 6, 3, 2, 3 with frame size 4(i.e. maximum 4 pages in a frame).

<!-- image -->

## GUJARAT TECHNOLOGICAL UNIVERSITY

Program Name: Diploma Engineering Level: Diploma

Branch: Computer Engineering / Computer Science &amp; Engineering /

Cyber System &amp; Information Security

Subject Code :

DI03000041

Subject Name : Fundamentals Operating System

- 5) Consider a disc with 200 tracks (0-199) and a disc queue with the following input/output requests: 75, 90, 40, 135, 50, 170, 65, 10. The Read/Write head's initial position is 46, and it will move to the left-hand  side.  Using  the  SCAN  and  CSCAN  method,  determine  the  total  number  of  track movements of the Read/Write head.
- 6) Test and run basic Unix commands.
- 7) Test and run advanced Unix commands.
- 8) Test commands related with File editing with Vi, Vim, gedit, gcc.
- 9) Create a shell script to read from command line and print 'Hello'.
- 10) Create a Shell script to read and display content of a file. And append content of one file to another
- 11) Create a Shell script to accept a string in lower case letters from a user, &amp; convert to upper case letters.
- 12) Create a Shell script to add two numbers.

## List of Laboratory/Learning Resources Required:

1. Computer with basic configuration with windows or unixos
2. Virtual Machines (VMware/VirtualBox) for multi-OS setup
3. Linux Terminal or Shell Scripting Tools

## Suggested Project List:

1. A Comparative Analysis of Operating System: case study of Windows Operating and Mac OS. Comparing  factors  like  booting  process,  user  interface,  handling  system  resources,  device management, file management, security.
2. A Comparative Analysis of Operating System: case study of Windows Operating and Linux based OS. Comparing factors like booting process, user interface, handling system resources, device management, file management, security.
3. Comparing  features  of  Windows  7,  Windows  8  and  Windows  10.Also  show  newly  added functionality in each version.
4. Case study on different Disk scheduling algorithms. Describe working of each algorithm.
5. Case study on different Process scheduling algorithms. Describe working of each algorithm.
6. Case Study on different page replacement algorithms. Describe working of each algorithm.
7. Case study on fragmentation in operating system.
8. Animate the Disk scheduling algorithms
9. Animate the Process scheduling algorithms.
10. Animate the Page replacement algorithms.
11. Case study on any one cloud operating system.

<!-- image -->

## GUJARAT TECHNOLOGICAL UNIVERSITY

Program Name: Diploma Engineering Level: Diploma

Branch: Computer Engineering / Computer Science &amp; Engineering / Cyber System &amp; Information Security Subject Code : DI03000041

Subject Name : Fundamentals Operating System

12. Case study on any one real time operating system.
13. Case study on any one server operating system.
14. Case study on any one distributed operating system.
15. Case study on any one network operating system.
16. Case study on any one time sharing or multitasking operating system.

## Suggested Activities for Students:

- a) Students are encouraged to register themselves in various MOOCs such as: Swayam, edx, Coursera, Udemy etc to further enhance their learning.

https://www.udemy.com/course/operating-systems-from-scratch-part1/

https://onlinecourses.swayam2.ac.in/ntr25\_ed41/preview https://www.coursera.org/learn/akamai-operating-systems

https://onlinecourses.nptel.ac.in/noc21\_cs72/preview https://onlinecourses.nptel.ac.in/noc24\_cs108/preview

- b) Perform  hands-on  practice  by  installing  and  using  different  Operating  Systems  (Windows, Linux, Ubuntu) on Virtual Machines like VirtualBox or VMware.
- c) Explore  and  practice  basic  OS  commands  using  the  Command  Prompt  (Windows)  and Terminal (Linux) for file management, process control, and system monitoring.
- d) Implement  CPU  Scheduling  Algorithms  (FCFS,  SJF,  Round  Robin)  using  C/Python  to understand process scheduling concepts.
- e) Work on File System Management activities like disk partitioning, file permissions, and access control using chmod, chown, and ls -l.
- f) Participate  in  OS-based  hackathons,  coding  competitions,  and  open-source  projects  to  gain real-world experience.

*********