Topic outline

  • General

    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 Profile

    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

    • Introduction to Basic Linux Command

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

      Objectives-

      To become familiar with basic Linux commands

    • UNIX Editors

      How to Exit the Vi or Vim Editor

      Objectives-

      Becoming familiar with VIM editor

    • Shell Programming-I

      Tutorial Review - Bash Scripting and Shell Programming

      Objectives-

      Becoming familiar with shell programming

    • Shell Programming-II

      Tutorial Review - Bash Scripting and Shell Programming

      Objectives-

      Becoming familiar with shell programming and complex structure with grep

    • CPU Scheduling Algorithms-I

      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
    • CPU Scheduling Algorithms-II

      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
    • Demonstration of compilation steps of a C program

      Compilation Process in C - javatpoint
      Objectives-
      To understand how compilation and linking is done to execute a C program
    • Unix System Calls

      Objectives-

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


    • Deadlock Avoidance: Banker's Algorithm

      Operating Systems: Deadlocks

      Objectives-

      To learn banker's algorithm to avoid deadlock

    • Pthreads

      POSIX Threads Programming

      Objectives-

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

    • Page Replacement Algorithm

      Page Replacement Algorithms

      Objectives-

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

    • Final Assessment

      Final assessment will be on lab test and lab quiz