Click here to load reader
View
214
Download
2
Embed Size (px)
OPERATING SYSTEMS
LAB MANUAL
Subject Code: A50589
Regulations: R13 JNTUH
Class: III Year I Semester (CSE)
Prepared By
Ms. G Sunitha
Associate Professor
Department of Computer Science & Engineering
INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal 500 043, Hyderabad
INSTITUTE OF AERONAUTICAL ENGINEERING
Dundigal, Hyderabad - 500 043
COMPUTER SCIENCE AND ENGINEERING
Program Outcomes PO1 Engineering knowledge: Apply the knowledge of mathematics, science, engineering fundamentals, and
an engineering specialization to the solution of complex engineering problems.
PO2 Problem analysis: Identify, formulate, review research literature, and analyze complex engineering problems reaching substantiated conclusions using first principles of mathematics, natural sciences, and engineering sciences.
PO3 Design/development of solutions: Design solutions for complex engineering problems and design system components or processes that meet the specified needs with appropriate consideration for the public health and safety, and the cultural, societal, and environmental considerations.
PO4 Conduct investigations of complex problems: Use research-based knowledge and research methods including design of experiments, analysis and interpretation of data, and synthesis of the information to provide valid conclusions.
PO5 Modern tool usage: Create, select, and apply appropriate techniques, resources, and modern engineering and IT tools including prediction and modeling to complex engineering activities with an understanding of the limitations.
PO6 The engineer and society: Apply reasoning informed by the contextual knowledge to assess societal, health, safety, legal and cultural issues and the consequent responsibilities relevant to the professional engineering practice.
PO7 Environment and sustainability: Understand the impact of the professional engineering solutions in societal and environmental contexts, and demonstrate the knowledge of, and need for sustainable development.
PO8 Ethics: Apply ethical principles and commit to professional ethics and responsibilities and norms of the engineering practice.
PO9 Individual and team work: Function effectively as an individual, and as a member or leader in diverse teams, and in multidisciplinary settings.
PO10 Communication: Communicate effectively on complex engineering activities with the engineering community and with society at large, such as, being able to comprehend and write effective reports and design documentation, make effective presentations, and give and receive clear instructions.
PO11 Project management and finance: Demonstrate knowledge and understanding of the engineering and management principles and apply these to ones own work, as a member and leader in a team, to manage projects and in multidisciplinary environments.
PO12 Life-long learning: Recognize the need for, and have the preparation and ability to engage in independent and life-long learning in the broadest context of technological change.
Program Specific Outcomes PSO1 Professional Skills: The ability to research, understand and implement computer programs in the areas
related to algorithms, system software, multimedia, web design, big data analytics, and networking for efficient analysis and design of computer-based systems of varying complexity.
PSO2 Problem-Solving Skills: The ability to apply standard practices and strategies in software project development using open-ended programming environments to deliver a quality product for business success.
PSO3 Successful Career and Entrepreneurship: The ability to employ modern computer languages, environments, and platforms in creating innovative career paths, to be an entrepreneur, and a zest for higher studies.
OPERATING SYSTEMS LAB SYLLABUS
(Practical Hours: 03, Credits: 02)
Implement the following programs on Linux platform using C language.
Exp. No.
Division of Experiments
List of Experiments Page No.
1
CPU Scheduling Algorithms
Write a C program to simulate the following non-preemptive CPU scheduling algorithms to find turnaround time and waiting time. a) FCFS b) SJF c) Round Robin (pre-emptive) d) Priority
2
2
*Write a C program to simulate multi-level queue scheduling algorithm considering the following scenario. All the processes in the system are divided into two categories system processes and user processes. System processes are to be given higher priority than user processes. Use FCFS scheduling for the processes in each queue.
7
3 File
Allocation Strategies
Write a C program to simulate the following file allocation strategies. a) Sequential b) Indexed c) Linked
9
4
Memory Management Techniques
Write a C program to simulate the MVT and MFT memory management techniques.
13
5 *Write a C program to simulate the following contiguous memory allocation techniques a) Worst-fit b) Best-fit c) First-fit
16
6 Write a C program to simulate paging technique of memory management. 20
7 File
Organization Techniques
Write a C program to simulate the following file organization techniques a) Single level directory b) Two level directory c) Hierarchical
22
8 Deadlock Management Techniques
Write a C program to simulate Bankers algorithm for the purpose of deadlock avoidance.
29
9 *Write a C program to simulate disk scheduling algorithms a) FCFS b) SCAN c) C-SCAN
32
10 Page Replacement
Algorithms
Write a C program to simulate page replacement algorithms a) FIFO b) LRU c) LFU
36
11 *Write a C program to simulate page replacement algorithms a) Optimal
41
12 Process Synchroniza-
tion
*Write a C program to simulate producer-consumer problem using semaphores.
44
13 *Write a C program to simulate the concept of Dining-Philosophers problem.
45
14 Lab Questions & Assignments 47
*Content beyond the university prescribed syllabi
ATTAINMENT OF PROGRAM OUTCOMES
& PROGRAM SPECIFIC OUTCOMES
Exp. No.
Experiment Program
Outcomes Attained
Program Specific
Outcomes Attained
1 Write a C program to simulate the following non-preemptive CPU scheduling algorithms to find turnaround time and waiting time. a) FCFS b) SJF c) Round Robin d) Priority
PO1, PO2, PO4
PSO1
2 *Write a C program to simulate multi-level queue scheduling algorithm considering the following scenario. All the processes in the system are divided into two categories system processes and user processes. System processes are to be given higher priority than user processes. Use FCFS scheduling for the processes in each queue.
PO1, PO2, PO3, PO4, PO12
PSO1, PSO2
3 Write a C program to simulate the following file allocation strategies. a) Sequential b) Indexed c) Linked
PO1, PO2, PO4 PSO1
4 Write a C program to simulate the MVT and MFT memory management techniques.
PO1, PO2, PO4 PSO1
5 *Write a C program to simulate the following contiguous memory allocation techniques a) Worst-fit b) Best-fit c) First-fit
PO1, PO2, PO4, PO12
PSO1
6 Write a C program to simulate paging technique of memory management.
PO1, PO2, PO4 PSO1
7 Write a C program to simulate the following file organization techniques a) Single level directory b) Two level directory c) Hierarchical
PO1, PO2, PO4 PSO1
8 Write a C program to simulate Bankers algorithm for the purpose of deadlock avoidance.
PO1, PO2, PO4 PSO1
9 *Write a C program to simulate disk scheduling algorithms a) FCFS b) SCAN c) C-SCAN
PO1, PO2, PO4, PO12
PSO1
10 Write a C program to simulate page replacement algorithms a) FIFO b) LRU c) LFU
PO1, PO2 PSO1
11 *Write a C program to simulate page replacement algorithms a) Optimal
PO1, PO2, PO12 PSO1
12 *Write a C program to simulate producer-consumer problem using semaphores.
PO1, PO2, PO3, PO4, PO5, PO12
PSO1, PSO2
13 *Write a C program to simulate the concept of Dining-Philosophers problem.
PO1, PO2, PO3, PO4, PO5, PO12
PSO1, PSO2
*Content beyond the university prescribed syllabi
OPERATING SYSTEMS LABORATORY
OBJECTIVE:
This lab complements the operating systems course. Students will gain practical experience with designing and implementing concepts of operating systems such as system calls, CPU scheduling, process management, memory management, file systems and deadlock handling using C language in Linux environment.
OUTCOMES: Upon the completion of Operating Systems practical course, the student will be able to:
1. Understand and implement basic services and functionalities of the operating system using system calls.
2. Use modern operating system calls and synchronization libraries in software/ hardware interfaces.
3. Understand the benefits of thread over process and implement synchronized programs using multithreading concepts.
4. Analyze and simulate CPU Scheduling Algorithms like FCFS, Round Robin, SJF, and Priority.
5. Implement memory mana