0% found this document useful (0 votes)
39 views16 pages

Shubham OSY

Uploaded by

Roshan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views16 pages

Shubham OSY

Uploaded by

Roshan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 16

Teacher Evaluation Sheet

Name of Student: Borse Shubham Dattu


Enrollment No: 2200790197
Name of Program: Computer Technology Semester: -V
Course Title: Operating System (OSY) Code: -22516
Title of the Micro Project: First Come First Serve Scheduling Algorithm
Course Outcomes Achieved: -

a) CO-b Use operating system tools to perform various functions.


b) CO-d Apply scheduling algorithms to calculate turnaround time and average waiting time.

Evaluation as per Suggested Rubric for Assessment of Micro-Project:

Sr.
Characteristic to be Poor Average Good Excellent
No.
assessed (Marks 1-3) (Marks 4-5) (Marks 6 - (Marks 9-10)
8)
(A) Process and Product Assesssment (Convert above total marks out of 6 marks)
1 Relevance to the Course
Literature Survey /
2
Information Collection
Completion of the Target as
3
per project proposal
Analysis of data and
4 representation
5 Quality of Prototype / Model
6 Report Preparation
(B) Individual Presentation / Viva (Convert above total marks out of 4 marks)
8 Presentation
9 Viva

Micro – Project Evaluation Sheet:


Process Assessment Product Assessment
Part Part
Project Individual Total
A – project B – Project
Methodology Presentation / Marks
Proposal Report / Working
Name of Student (2 marks) Viva(4 marks) 10
(2 marks Model(2 marks)
Borse Shubham Dattu

Comments / Suggestions about team work / leadership / inter – personal communication (if any)
Any Other Comment

Name and designation of the faculty Member: Miss.S.S.Shinde Signature:

1
MAHARASHTRA STATE BOARD OF
TECHNICAL EDUCATION

SNJB’s SHRI HIRALAL HASTIMAL


JAIN BROTHERS POLYTECHNIC,
CHANDWAD-423101 (Nashik)

MICRO PROJECT
Academic year: 2023-24

TITLE OF PROJECT
First Come First Serve Scheduling
Algorithm

Program:Computer Technology Program Code:CM

Course: Operating System Course code:

22516

3
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION

Sr.No. Name of Student Roll No Enrollment No Seat No


1. Borse Shubham Dattu 63 2200790197 390816

CERTIFICATE
This is to certify 1) Borse Shubham Dattu
of 5th Semester of Diploma in Computer Technology of Institute, Shri Hiralal Hastimal
Jain Brothers Polytechnic, Chandwad (Code: 0079) has completed the Micro-Project
satisfactorily in Subject Operating System (22516) for the academic year 2024-2025 as
prescribed in the curriculum.

Place:

Chandwad Date:

/ /2024

Course Teacher Head of the Department Principal


(Ms. S.S.Shinde) (Mr. P. R. Sali) (Dr. V. A. Wankhede)

4
INDEX

SR_NO. CONTENT PAGE NO.


Part A

1 Brief Introduction 6

2 Aim of Micro Project 6

3 Action Plan 6

4 Resources Required 6

Part B

1 Brief Description 7

2 Aim of Micro Project 7

3 Course Outcome Integrated 7

4 Actual Procedure Followed 7

5 Actual Resource Used 8

6 Outputs of the Micro-projects 9-13

7 Skill Developed 14

8 Applications of Microproject 14

5
PART A-Plan

Title of micro-project: First Come First Serve Scheduling Algorithm

1. Aim/Benefits of the Micro-Project-


The aim of the First Come, First Serve (FCFS) Scheduling Algorithm microproject is to
implement and analyze the simplest CPU scheduling algorithm, where processes are executed
in the order they arrive in the ready queue. This project focuses on understandcesses arrive
simultaneously. P1 runs and then P2, which is stopped for P3. Once all processes run, it all
cycles back to P2 until it finishes all processes.
1. Understand the concept of Scheduling
2. Implement FCFS(First Come First Served algorithm) in Programming

2. Course Outcomes Addressed-


a) CO-a Install Linux operating system and configure it.
b) CO-b Use operating system tools to perform various functions.
c) CO-c Execute process commands for performing process management operations.
d) CO-d Apply scheduling algorithms to calculate turnaround time and average
waitingtime.
e) CO-e Calculate efficiency of different memory management techniques.
f) CO-f Apply file management techniques.

3. Proposed Methodology-
The methodology for the First Come, First Serve (FCFS) Scheduling Algorithm microproject
involves the following steps:
1. Problem Definition: Identify the need for scheduling and select the FCFS algorithm for
implementation.
2. Data Input: Gather process information, such as process ID, arrival time, and burst time.
3. Queue Formation: Arrange processes in the order of their arrival times.
4. Execution Simulation:
o Allocate the CPU to each process in the order of the queue.
o Compute start time, completion time, waiting time, and turnaround time for each process.
5. Performance Analysis: Calculate metrics like:
o Average waiting time.
o Average turnaround time.
o Total CPU utilization.
6. Result Representation: Display the process scheduling order and performance metrics using
charts or tables.
7. Conclusion: Highlight observations, such as simplicity and limitations like the convoy effect.

6
4. Action Plan-

Planned Start Planned Finish


Sr no. Details of activity Date Date
1. Finalization of topic 20/07/2024 25/07/2024
2. Preparation of Abstract 02/08/2024 09/08/2024
3. Collection of data 09/08/2024 30/08/2024
4. Preparation of concept 01/09/2024 25/10/2024
5. Seminar / Presentation 26/10/2024 30/10/2024
6. Submission of Micro Project 04/11/2024 08/11/2024

5. Resources Required:
Sr.No Name of Resource/Material Specification Quantity Remarks
1. Computer (Desktop/Laptop) i3,RAM 2GB 1
2. Microsoft office word 2010 1
3. Books OS-Three Easy pieces 1
4. Software Turbo C 1

7
PART B-Plan
Title of micro-project: First Come First Serve Scheduling Algorithm

1. Brief Description:

The First Come, First Serve (FCFS) Scheduling Algorithm is a basic CPU scheduling
technique where processes are executed in the order they arrive in the ready queue. It is a non-
preemptive algorithm that ensures fairness by processing tasks sequentially. However, it may
lead to inefficiencies, such as the "convoy effect," where shorter processes are delayed by
longer ones. This microproject involves simulating the algorithm, analyzing its performance
metrics (e.g., waiting time and turnaround time), and understanding its advantages and
drawbacks in CPU scheduling.

2. Aims/Benefits of Micro Project:


The aim of the First Come, First Serve (FCFS) Scheduling Algorithm microproject is
to implement and analyze the simplest CPU scheduling algorithm, where processes
are executed in the order they arrive in the ready queue. This project focuses on
understandcesses arrive simultaneously. P1 runs and then P2, which is stopped for P3.
Once all processes run, it all cycles back to P2 until it finishes all processes.

3. Course Outcomes:
a. CO-a Install Linux operating system and configure it.
b. CO-b CO Use operating system tools to perform various functions.
c. CO-c Execute process commands for performing process management
operations.
d. CO-d Apply scheduling algorithms to calculate turnaround time
and average waiting time.
e. CO-e Calculate efficiency of different memory management techniques.
f. CO-f Apply file management techniques.

4. Actual Procedure Followed :


Procedure Followed for FCFS Scheduling Algorithm Microproject:
1. Define Objectives: Understand the purpose of implementing the FCFS scheduling
algorithm and its relevance.
2. Collect Process Data: Gather or simulate input data for processes, including:
o Process ID
o Arrival Time
o Burst Time
3. Sort Processes: Arrange the processes in ascending order based on their arrival times.
4. Simulate Execution:
o Assign CPU to each process sequentially from the sorted list.
o Calculate:
 Start Time
 Completion Time
 Turnaround Time = Completion Time - Arrival Time
 Waiting Time = Turnaround Time - Burst Time
5. Analyze Results: Compute performance metrics:
8
o Average Waiting Time
o Average Turnaround Time
6. Visualize Scheduling:
o Create a Gantt chart to represent the order of execution and timeline of
processes.
7. Document Findings:
o Present the results in tabular form.
o Highlight observations, advantages, and limitations.
8. Conclusion: Summarize insights and suggest scenarios where FCFS is most and least
effective.

5. Actual Resources Used:

Sr.No Name of Resource/Material Specification Quantity Remarks


1. Computer (Desktop/Laptop) i3,RAM 2GB 1
2. Microsoft office word 2010 1
3. Books OS-Three Easy 1
pieces
4. Websites
5. Software Turbo C
1

9
10
6. Outputs of the Micro-project:

Introduction:
Scheduling :
➢ The process scheduling is the activity of the process manager that handles the
removal of the running process from the CPU and the selection of another process on
the basis of a particular strategy.
➢ Process scheduling is an essential part of a Multiprogramming operating systems.
➢ Such operating systems allow more than one process to be loaded into the executable
memory at a time and the loaded process shares the CPU using time multiplexing.
• First Come First Served (FCFS) :
➢ First come first serve (FCFS) scheduling algorithm simply schedules the jobs
according to their arrival time.
➢ The job which comes first in the ready queue will get the CPU first.
➢ The lesser the arrival time of the job, the sooner will the job get the CPU.
➢ FCFS scheduling may cause the problem of starvation if the burst time of the first
process is the longest among all the jobs.

FIRST COME FIRST SERVE (FCFS) SCHEDULING ALGORITHM

Step 1: Input Process Details: Collect the necessary information for each process, including:
 Process ID
 Arrival Time (AT)
 Burst Time (BT)

Step 2: Sort Processes: Arrange all processes in ascending order of their Arrival Times.

Step 3: Arrange all processes in ascending order of their Arrival Times. If two processes have
the same arrival time, maintain the input order.

Step4: Assign CPU to Processes Sequentially:
Start executing processes based on their arrival order:
 Assign CPU to the first process in the sorted list.
 Compute its Completion Time (CT):
CT=Previous Completion Time+Burst Time of Current ProcessCT = \text{Previous
Completion Time} + \text{Burst Time of Current
Process}CT=Previous Completion Time+Burst Time of Current Process

Step 5: Calculate Metrics:


For each process, calculate the following:
 Turnaround Time (TAT): TAT=CT−ATTAT = CT - ATTAT=CT−AT
 Waiting Time (WT): WT=TAT−BTWT = TAT - BTWT=TAT−BT

Step 6: Visualize Execution:


 Construct a Gantt Chart to show the timeline of process execution.
 Label the time intervals and processes executed in sequence..
Step 7: Document Findings:
Present the process details, calculations, and Gantt chart in a tabular and graphical format for clarity

11
CHARACTERISTICS OF FIRST COME FIRST SERVED (FCFS)

1. Non-Preemptive Nature: Once a process starts executing, it runs to completion without being
interrupted.
2. First-Come Order:Processes are executed in the exact order they arrive in the ready queue.
3. Fairness:Every process gets the CPU based on its arrival time, ensuring no process is skipped or
starved.
4. Convoy Effect: Longer processes can delay shorter ones, leading to inefficient CPU utilization and
increased average waiting time.

ADVANTAGES

1. Simplicity: Easy to implement and understand due to its straightforward logic of scheduling
processes based on arrival time.
2. Fairness: Processes are executed in the exact order of arrival, ensuring no process is skipped or
starved.
3. Deterministic: The results, such as waiting time and turnaround time, are predictable and
consistent for a given set of processes.
4. Non-Starvation: Since every process gets executed in arrival order, no process is left waiting
indefinitely.
5. Suitable for Batch Systems: Ideal for batch processing systems where all jobs are available at the
same time and have similar burst times.

DISADVANTAGE

1. Convoy Effect: Long processes can delay shorter ones, leading to poor overall system
performance and increased waiting times for smaller processes.
2. High Average Waiting Time: Due to the sequential execution, processes with shorter burst
times may experience significant delays if they follow longer processes.
3. Non-Optimal CPU Utilization: The execution order does not consider process burst times,
which may lead to inefficient CPU utilization, especially when short processes are waiting
behind long ones.
4. Not Ideal for Time-Sharing Systems: FCFS is unsuitable for time-sharing or interactive
systems where quick response times are required because it can cause significant delays for
processes that arrive later.
5. Lack of Priority Consideration: The algorithm does not prioritize critical or important
tasks, which might lead to high-priority processes being delayed by low-priority ones.
6. Unfair to Shorter Processes: Short processes can be significantly delayed if they arrive after
a long process, resulting in a potentially unfair scheduling environment for time-sensitive
tasks

12
FIRST COME FIRST SERVE (FCFS) SCHEDULING EXAMPLE:

Ex 1: Let's take an example of The FCFS scheduling algorithm.In the Following schedule, there are 5
processes with process

ID P0, P1, P2, P3 and P4. P0 arrives at time 0, P1 at time 1, P2 at time


2, P3 arrives at time 3 and Process P4 arrives at time
4 in the ready queue. The processes and their respective Arrival
and Burst time are given in the
following table.

Solution:

The Turnaround time and the waiting time are calculated by using the following formula
Gannt Chart :

Process Arrival time Brust time

P0

P1

P2

P3

P4 12

13
Turn Around Time = Completion Time - Arrival Time
Waiting Time = Turnaround time - Burst Time

Average wating time : 33/5

Average wating time : 6.6

14
 PROGRAM :-
#include<stdio.h
>
#include<conio.
h>

int main()
{
int n,bt[20],wt[20],tat[20],avwt=0,avtat=0,i,j;

printf("\nEnter Total Number of Processes(maximum 20):");


scanf("\n%d",&n);

printf("\n enter process burst time");


for(i=0;i<n;i++)
{
printf("\nP[%d]:",i+1);
scanf("\n%d",&bt[i]);
}

wt[0]=0;
for(i=1;i<n;i++)
{
wt[i]=0;
for(j=0;j<i;j++)
wt[i]+=bt[j];
}

printf("\nProcess\t\tBurst Time\tWaiting Time\tTurnaround


Time:");

for(i=0;i<n;i++)
{
tat[i]=bt[i]+wt[i];
avwt+=wt[i];
avtat+=tat[i];
printf("\nP[%d]\t\t%d\t\t%d\t\t%d",i+1,bt[i],wt[i],tat[i]);
}
avwt/
=i;
avtat/=i
;
printf("\n\nAverage Waitng Time: %d",avwt); printf("\
nAverageTurnaround Time: %d",avtat); return 0; }

15
OUTPUT

16
7. Skill Developed:

 Understanding Scheduling Algorithms


 Programming Proficiency
 Time Management and Optimization
 Data Structures and Algorithm Efficiency
 Problem-Solving and Debugging

8. Applications of Microproject:

 CPU Scheduling Simulator


 Operating System Process Scheduler
 Task Scheduler for IoT Devices
 Bank Queue Management System

17

You might also like