/OperatingSystem-Labs

Labs/Projects and Reports for CS356 and CS307: Operaintg System. 操作系统课程设计项目及报告

Primary LanguageC

Operaintg System Projects 操作系统课程项目

课程:CS307 操作系统(中文班),CS356 操作系统课程设计(中文班)

时间:2021年秋学期(2021 Fall)

完成者:迮炎杰 (Yanjie Ze),全部代码和实验报告完成于2021年5月18日,一个周二的晚上

项目概述

Project1: Introduction to Linux Kernel Modules

完成几个内核模块

Project2: UNIX Shell & Linux Kernel Module for Task Information

  1. 写一个Shell
  2. 写一个内核模块

Project3: Multithreaded Sorting Application & Fork-Join Sorting Application

  1. 用C写一个多线程排序
  2. 用Java写两个多线程排序

Project 4: Scheduling Algorithms

完成了几个scheduling algorithm:

  • FCFS
  • SJF
  • Priority
  • RR
  • Priority-RR

Project 5: Designing a Thread Pool & The Producer – Consumer Problem

  • 用mutex lock,semaphore,thread写一个线程池
  • 用mutex lock,semaphore模拟producer consumer问题和解决方案

Project 6: Banker’s Algorithm

写一个银行家算法。

Project 7: Contiguous Memory Allocation

模拟连续内存分配,写三个分配算法:

  • best fit
  • worst fit
  • first fit

Project 8: Designing a Virtual Memory Manager

模拟虚拟内存和物理内存的转化,写页表和TLB。