Section outline
-
Operating System Laboratory
Operating systems are central to computing activities. An operating system is a program that acts as an intermediary between a user of a computer and the computer hardware. Two primary aims of an operating systems are to manage resources (e.g. CPU time, memory) and to control users and software. Operating system design goals are often contradictory and vary depending of user, software, and hardware criteria. The goal of this course is to provide an hands on experience of Linux operating systems. In particular, the course will cover basic Linux commands, processes and threads CPU scheduling, deadlock, memory management, and file systems. If time permits, we may briefly examine networking and distributed computing, and perhaps other topics.
Course Instructor: Md Mushfiqul IslamDesignation: Lecturer, Department of ETEEmail: mushfiqul.ete@diu.edu.bdCell: 01858926216 -
Course Objective-
The goal of this course is to have students understand and appreciate the principles in the design and implementation of operating systems software.OS lab provides a series of experiences which can help to perceive key concepts of operating systems and to be familiar how they work. In this course we focus on open source operating systems like UBUNTU to come up with each part of operating systems.
Outcome-
At the end of the course, the students will be able to-
- Explain the concepts about OS.
- Learn basic Linux command
- Gain their knowledge about process management, including process concept, inter-process communication, and CPU scheduling.
- Learn memory management including page management and virtual memory.
- Learn the design and implementation of file system.
- Gain knowledge about software and hardware of I/O system
Grading:- Class Attendance –10%
- Labwork-25%
- Lab assignment/Labreport-25
- Final –40%
ResourceLive class and discussion link
ICE 228/236: Operating System Lab
Wednesday (2:00-5:00)
-
Objectives-
To become familiar with basic Linux commands
-
Lecture Slides/Video/Tutorial/Lab manual -
Do the lab work associated with linux command instructed by course instructorLab Work -
Write a lab report explaining your experience about using LinuxLab Assignment -
-
-
Objectives-
Becoming familiar with VIM editor
-
Lecture Slides/Video/Tutorial/Lab manual -
Write a C program of fibonacci number using VI editor and show it to the instructor.Lab Work -
Write a lab report on VI editor and submit itLab Assignment -
-
-
Objectives-
Becoming familiar with shell programming
-
Lecture Slides/Video/Tutorial/Lab manual -
Complete the labwork given by the instructor in shell programming lab 1Lab Work -
Write a lab report on the basic shell programming syntax you learned in this labLab Assignment -
-
-
Objectives-
Becoming familiar with shell programming and complex structure with grep
-
Lecture Slides/Video/Tutorial/Lab manual -
Complete the labwork given by the instructor in shell programming lab 2Lab Work -
Write a lab report on the basic shell programming syntax you learned in this labLab Assignment -
- Write a shell script to generate fibnacchi number
- Write a lab report on the basic shell programming syntax you learned in this lab
- Write a shell script to generate fibnacchi number
-
-
-
Objectives-
This lab will help students to learn about following CPU scheduling algorithm-
- First Come First Serve (FCFS)
- Shortest-Job-First (SJF) Scheduling
-
Lecture Slides/Video/Tutorial/Lab manual -
Complete the First Come First Serve (FCFS)algorithm in labLab Work -
Submit the code of Shortest-Job-First (SJF) Scheduling and write a lab report on two algorithm you learnedLab Assignment -
-
Objectives-
This lab will help students to learn about following CPU scheduling algorithm-
- Shortest Remaining Time
- Priority Scheduling
- Round Robin Scheduling
- Multilevel Queue Scheduling
-
Lecture Slides/Video/Tutorial/Lab manual -
Complete the First Come First Serve (FCFS)algorithm in labLab Work -
Submit the code of Shortest-Job-First (SJF) Scheduling and write a lab report on two algorithm you learnedLab Assignment -
-
Objectives-To understand how compilation and linking is done to execute a C program
-
Lecture Slides/Video/Tutorial/Lab manual -
Do the step by step compilation of a C program and show it to the instructorLab Work -
Submit a lab report about the compilation steps of a C program with details step.Lab Assignment -
-
-
Objectives-
Learn the system calls for File I/O, process control and IPC
-
Lecture Slides/Video/Tutorial/Lab manual -
Do the basic file operation using system call of basic file I/OLab Work -
Finish the code of system call for process control and write a lab report on system callLab Assignment -
-
-
Objectives-
To learn banker's algorithm to avoid deadlock
-
Lecture Slides/Video/Tutorial/Lab manual -
Implement banker's algorithm and submit hereLab Work -
Submit a lab report on Banker's algorithm. Discuss the algorithm's necessityLab Assignment -
-
-
-
Unzip the Pthread files to get the source codeLecture Slides/Video/Tutorial/Lab manual -
Unzip the files and run them. Complete them where necessary after the lectureLab Work -
Submit a lab report stating the working procedure, necessity and usefulness of PthreadsLab Assignment -
-
-
-
Lecture Slides/Video/Tutorial/Lab manual -
Lab Work Complete the code and submit -
Lab Assignment Submit a lab report on page replacement algorithm -
-
-
Final assessment will be on lab test and lab quiz