Giter VIP home page Giter VIP logo

operating-systems's Introduction

Operating Systems

An operating system (OS) is the program that, after being initially loaded into the computer by a boot program, manages all of the other application programs in a computer.

This repository will contain the project codes/system calls based on Assembly Language and xv6.

  • System Calls - A system call is a method for a computer program to request a service from the kernel of the operating system on which it is running.
  • xv6 - A much more functional OS that we can absorb its essence by tracing code.

Labs of Operating System

Labs Details
Lab 1 Install any version of Ubuntu on your system and learn the basic shell commands
Lab 2 Implement the process manipulation system calls like fork(), exec(), etc.
Lab 3 Implement the file manipulation system calls like open(), close(), etc.
Lab 4 Implement the system calls for manipulating the file descriptors.
Lab 5 Implement the system calls for Inter-Process communication.
Lab 6 Implementing the new signal handlers for the standard signals.
Lab 7 Understand the use of free and pmap utilities in Linux.
Lab 8 Install the Qemu emulator on your system and run xv6 operating system on Qemu.
Lab 9 Implement a multi-threaded program doing the matrix multiplication using multiple threads.
Lab 10 Use Pthread lock functions to provide solution to the critical section problem.
Lab 11 Implement the condition variables and semaphores using Pthread library.
Lab 12 Understand the working of file system calls in xv6.
Lab 13 Understand the working of file status system calls in xv6.

Course Topics

  • Process
  • Thread
  • CPU Scheduling
  • Executing Environment
    • Interrupt/Exception/Trap
      • Timer Interrupt
    • System Calls
  • Memory Management
  • Page Replacement Algorithm
  • Synchronization
  • Deadlock
  • File System

Final Summary

Algorithms:

  • Scheduling Algorithm

    • Process/Thread CPU Scheduling
    • Disk Scheduling
  • Replacement Algorithm

    • Page Replacement
    • TLB Replacement
    • Cache Replacement
  • Other Algorithm

    • Deadlock
      • Deadlock prevention
      • Deadlock avoidance
      • Deadlock discover and recover
  • Solutions

    • Concurrency
      • Semaphore
        • Dekker Solution
        • Peterson Solution
    • Deadlock
      • Banker's Algorithm

Data Structure

  • Free Space Management (for Memory or Disk)
    • Bitmap (Bit vector)
    • Free Table
    • Free Linked List
  • Concurrency
    • Semaphore
    • Monitor
      • Hoare Monitor
      • Mesa Monitor
    • Mutex Lock + Condition Variable

The Course has been completed under the guidance of Prof. Janib ul Bashir

Course Code: ITT250

operating-systems's People

Contributors

im-zshan avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.