Section outline

  • Operating System Laboratory

    Pin on Computing

    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 Islam
    Designation: Lecturer, Department of ETE
    Email: mushfiqul.ete@diu.edu.bd
    Cell: 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%
    Resource

    Live class and discussion link

    ICE 228/236: Operating System Lab

    Wednesday (2:00-5:00)

     Link

  • 35 Linux Basic Commands Every User Should Know (Cheat Sheet)

    Objectives-

    To become familiar with basic Linux commands

    • Lecture Slides/Video/Tutorial/Lab manual

    • Lab Work

      Do the lab work associated with linux command instructed by course instructor
    • Lab Assignment

      Write a lab report explaining your experience about using Linux

  • How to Exit the Vi or Vim Editor

    Objectives-

    Becoming familiar with VIM editor

    • Lecture Slides/Video/Tutorial/Lab manual

    • Lab Work

      Write a C program of fibonacci number using VI editor and show it to the instructor.
    • Lab Assignment

      Write a lab report on VI editor and submit it

  • Tutorial Review - Bash Scripting and Shell Programming

    Objectives-

    Becoming familiar with shell programming

    • Lecture Slides/Video/Tutorial/Lab manual

    • Lab Work

      Complete the labwork given by the instructor in shell programming lab 1
    • Lab Assignment

      Write a lab report on the basic shell programming syntax you learned in this lab

  • Tutorial Review - Bash Scripting and Shell Programming

    Objectives-

    Becoming familiar with shell programming and complex structure with grep

    • Lecture Slides/Video/Tutorial/Lab manual

    • Lab Work

      Complete the labwork given by the instructor in shell programming lab 2
    • Lab Assignment

      Write a lab report on the basic shell programming syntax you learned in this lab
      1. Write a shell script to generate fibnacchi number
      2. Write a lab report on the basic shell programming syntax you learned in this lab



  • CPU Scheduling Algorithms. The CPU, like every part of the… | by Esmery  Corniel | Medium

    Objectives-

    This lab will help students to learn about following CPU scheduling algorithm-

    1. First Come First Serve (FCFS)
    2. Shortest-Job-First (SJF) Scheduling
    • Lecture Slides/Video/Tutorial/Lab manual

    • Lab Work

      Complete the First Come First Serve (FCFS)algorithm in lab
    • Lab Assignment

      Submit the code of Shortest-Job-First (SJF) Scheduling and write a lab report on two algorithm you learned

  • CPU Scheduling Algorithms. The CPU, like every part of the… | by Esmery  Corniel | Medium

    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

    • Lab Work

      Complete the First Come First Serve (FCFS)algorithm in lab
    • Lab Assignment

      Submit the code of Shortest-Job-First (SJF) Scheduling and write a lab report on two algorithm you learned

  • Compilation Process in C - javatpoint
    Objectives-
    To understand how compilation and linking is done to execute a C program
    • Lecture Slides/Video/Tutorial/Lab manual

    • Lab Work

      Do the step by step compilation of a C program and show it to the instructor
    • Lab Assignment

      Submit a lab report about the compilation steps of a C program with details step.

  • Objectives-

    Learn the system calls for File I/O, process control and IPC


    • Lecture Slides/Video/Tutorial/Lab manual

    • Lab Work

      Do the basic file operation using system call of basic file I/O
    • Lab Assignment

      Finish the code of system call for process control and write a lab report on system call

  • Operating Systems: Deadlocks

    Objectives-

    To learn banker's algorithm to avoid deadlock

    • Lecture Slides/Video/Tutorial/Lab manual

    • Lab Work

      Implement banker's algorithm and submit here
    • Lab Assignment

      Submit a lab report on Banker's algorithm. Discuss the algorithm's necessity

  • POSIX Threads Programming

    Objectives-

    To understand how pthreads can be used to create a multi threaded program

    • Lecture Slides/Video/Tutorial/Lab manual

      Unzip the Pthread files to get the source code
    • Lab Work

      Unzip the files and run them. Complete them where necessary after the lecture
    • Lab Assignment

      Submit a lab report stating the working procedure, necessity and usefulness of Pthreads

  • Page Replacement Algorithms

    Objectives-

    To understand Page replacement algorithms as an important part of virtual memory

    • 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